From 33d70461198f05281ce4ad0a4ed3265e990d771a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 4 Aug 2020 18:43:26 +0000 Subject: [PATCH] Update module aws/aws-sdk-go to v1.33.19 --- go.mod | 2 +- go.sum | 4 +- .../github.com/aws/aws-sdk-go/aws/config.go | 8 +- .../aws-sdk-go/aws/corehandlers/handlers.go | 2 + .../aws/aws-sdk-go/aws/endpoints/defaults.go | 304 +- .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../eventstream/eventstreamapi/reader.go | 15 +- .../private/protocol/eventstream/header.go | 9 + .../private/protocol/eventstream/message.go | 14 + .../aws/aws-sdk-go/service/amplify/api.go | 2 +- .../aws/aws-sdk-go/service/amplify/doc.go | 5 +- .../service/applicationautoscaling/api.go | 16 +- .../aws/aws-sdk-go/service/appmesh/api.go | 9089 +++-- .../aws/aws-sdk-go/service/appsync/api.go | 30 +- .../aws/aws-sdk-go/service/autoscaling/api.go | 157 +- .../aws/aws-sdk-go/service/cloudfront/api.go | 13318 ++++--- .../aws/aws-sdk-go/service/cloudfront/doc.go | 2 +- .../aws-sdk-go/service/cloudfront/errors.go | 137 +- .../aws-sdk-go/service/cloudfront/service.go | 2 +- .../aws/aws-sdk-go/service/cloudhsmv2/api.go | 29 +- .../aws-sdk-go/service/cloudhsmv2/errors.go | 3 + .../aws/aws-sdk-go/service/cloudwatch/api.go | 120 +- .../service/cloudwatchevents/api.go | 176 +- .../service/cloudwatchevents/errors.go | 7 + .../aws/aws-sdk-go/service/codebuild/api.go | 9809 ++++-- .../aws-sdk-go/service/configservice/api.go | 217 +- .../service/databasemigrationservice/api.go | 2895 +- .../databasemigrationservice/errors.go | 22 + .../aws/aws-sdk-go/service/datasync/api.go | 593 +- .../aws-sdk-go/service/directconnect/api.go | 6 +- .../aws/aws-sdk-go/service/ec2/api.go | 792 +- .../aws/aws-sdk-go/service/ecr/api.go | 290 +- .../aws/aws-sdk-go/service/ecr/doc.go | 11 +- .../aws/aws-sdk-go/service/ecr/errors.go | 21 +- .../aws/aws-sdk-go/service/efs/api.go | 568 +- .../aws/aws-sdk-go/service/efs/errors.go | 8 + .../aws/aws-sdk-go/service/elasticache/api.go | 72 +- .../service/elasticbeanstalk/api.go | 116 + .../service/elasticbeanstalk/waiters.go | 163 + .../aws/aws-sdk-go/service/firehose/api.go | 878 +- .../aws/aws-sdk-go/service/fms/api.go | 2958 +- .../aws/aws-sdk-go/service/fms/errors.go | 9 +- .../aws-sdk-go/service/forecastservice/api.go | 1049 +- .../aws/aws-sdk-go/service/fsx/api.go | 224 +- .../aws/aws-sdk-go/service/glue/api.go | 874 +- .../aws/aws-sdk-go/service/guardduty/api.go | 1484 +- .../aws-sdk-go/service/imagebuilder/api.go | 18 +- .../aws/aws-sdk-go/service/kafka/api.go | 184 + .../aws/aws-sdk-go/service/kinesis/api.go | 64 +- .../aws-sdk-go/service/lakeformation/api.go | 178 +- .../aws/aws-sdk-go/service/lightsail/api.go | 15044 +++++--- .../aws/aws-sdk-go/service/lightsail/doc.go | 30 +- .../aws-sdk-go/service/mediaconnect/api.go | 40 + .../aws/aws-sdk-go/service/medialive/api.go | 364 +- .../aws-sdk-go/service/mediapackage/api.go | 18 +- .../aws/aws-sdk-go/service/mq/api.go | 431 +- .../aws-sdk-go/service/organizations/api.go | 42 +- .../aws/aws-sdk-go/service/quicksight/api.go | 28667 ++++++++++------ .../aws/aws-sdk-go/service/rds/api.go | 187 +- .../aws-sdk-go/service/resourcegroups/api.go | 1453 +- .../service/resourcegroups/errors.go | 18 +- .../service/resourcegroupstaggingapi/api.go | 5 + .../service/resourcegroupstaggingapi/doc.go | 241 +- .../aws/aws-sdk-go/service/s3/api.go | 52 +- .../service/s3/s3manager/bucket_region.go | 71 + .../aws/aws-sdk-go/service/sagemaker/api.go | 2582 +- .../aws-sdk-go/service/secretsmanager/api.go | 819 +- .../aws-sdk-go/service/secretsmanager/doc.go | 53 +- .../service/secretsmanager/errors.go | 7 + .../aws/aws-sdk-go/service/securityhub/api.go | 1048 +- .../aws-sdk-go/service/servicecatalog/api.go | 190 +- .../service/servicediscovery/api.go | 87 +- .../service/servicediscovery/errors.go | 10 +- .../aws/aws-sdk-go/service/sns/api.go | 211 +- .../aws/aws-sdk-go/service/ssm/api.go | 2059 +- .../aws/aws-sdk-go/service/ssm/waiters.go | 91 + .../aws-sdk-go/service/storagegateway/api.go | 280 +- .../aws/aws-sdk-go/service/wafv2/api.go | 417 +- .../aws/aws-sdk-go/service/workspaces/api.go | 458 +- vendor/modules.txt | 2 +- 80 files changed, 73280 insertions(+), 28653 deletions(-) create mode 100644 vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/waiters.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/ssm/waiters.go diff --git a/go.mod b/go.mod index 534b6fec363..598d8873c59 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/terraform-providers/terraform-provider-aws go 1.14 require ( - github.com/aws/aws-sdk-go v1.32.12 + github.com/aws/aws-sdk-go v1.33.19 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderdocs v0.7.0 github.com/bflad/tfproviderlint v0.14.0 diff --git a/go.sum b/go.sum index ce9e2a2cc78..09cbf47da25 100644 --- a/go.sum +++ b/go.sum @@ -53,8 +53,8 @@ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgI github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.32.12 h1:l/djCeLI4ggBFWLlYUGTqkHraoLnVMubNlLXPdEtoYc= -github.com/aws/aws-sdk-go v1.32.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.33.19 h1:SMna0QLInNqm+nNL9tb7OVWTqSfNYSxrCa2adnyVth4= +github.com/aws/aws-sdk-go v1.33.19/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go index 2c002e152af..3b809e8478c 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go @@ -43,7 +43,7 @@ type Config struct { // An optional endpoint URL (hostname only or fully qualified URI) // that overrides the default generated endpoint for a client. Set this - // to `nil` to use the default generated endpoint. + // to `nil` or the value to `""` to use the default generated endpoint. // // Note: You must still provide a `Region` value when specifying an // endpoint for a client. @@ -138,7 +138,7 @@ type Config struct { // `ExpectContinueTimeout` for information on adjusting the continue wait // timeout. https://golang.org/pkg/net/http/#Transport // - // You should use this flag to disble 100-Continue if you experience issues + // You should use this flag to disable 100-Continue if you experience issues // with proxies or third party S3 compatible services. S3Disable100Continue *bool @@ -183,7 +183,7 @@ type Config struct { // // Example: // sess := session.Must(session.NewSession(aws.NewConfig() - // .WithEC2MetadataDiableTimeoutOverride(true))) + // .WithEC2MetadataDisableTimeoutOverride(true))) // // svc := s3.New(sess) // @@ -194,7 +194,7 @@ type Config struct { // both IPv4 and IPv6 addressing. // // Setting this for a service which does not support dual stack will fail - // to make requets. It is not recommended to set this value on the session + // to make requests. It is not recommended to set this value on the session // as it will apply to all service clients created with the session. Even // services which don't support dual stack endpoints. // diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go index aa902d70837..d95a5eb5408 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go @@ -225,6 +225,8 @@ var ValidateEndpointHandler = request.NamedHandler{Name: "core.ValidateEndpointH if r.ClientInfo.SigningRegion == "" && aws.StringValue(r.Config.Region) == "" { r.Error = aws.ErrMissingRegion } else if r.ClientInfo.Endpoint == "" { + // Was any endpoint provided by the user, or one was derived by the + // SDK's endpoint resolver? r.Error = aws.ErrMissingEndpoint } }} 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 8bde8da5b39..2a4d957f7cc 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 @@ -194,12 +194,42 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "me-south-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-ca-central-1": endpoint{ + Hostname: "access-analyzer-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "fips-us-east-1": endpoint{ + Hostname: "access-analyzer-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "access-analyzer-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "access-analyzer-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "access-analyzer-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "acm": service{ @@ -662,6 +692,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, @@ -684,11 +715,17 @@ var awsPartition = partition{ "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-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -892,6 +929,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1002,6 +1040,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -1011,6 +1050,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1805,6 +1845,7 @@ var awsPartition = partition{ "ds": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -1814,6 +1855,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -2533,6 +2575,7 @@ var awsPartition = partition{ "firehose": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -2542,6 +2585,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -2582,6 +2626,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2683,11 +2728,12 @@ var awsPartition = partition{ Region: "us-west-2", }, }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "forecast": service{ @@ -2734,6 +2780,7 @@ var awsPartition = partition{ "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -2888,9 +2935,21 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, - "me-south-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-2": endpoint{ + Hostname: "groundstation-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "groundstation-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "me-south-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, }, }, "guardduty": service{ @@ -2899,6 +2958,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -2908,6 +2968,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -3061,6 +3122,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, @@ -3537,6 +3599,52 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "macie2": 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{}, + "fips-us-east-1": endpoint{ + Hostname: "macie2-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "macie2-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "macie2-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "macie2-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "managedblockchain": service{ Endpoints: endpoints{ @@ -3934,6 +4042,12 @@ var awsPartition = partition{ Region: "us-east-2", }, }, + "us-west-1": endpoint{ + Hostname: "rds.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, "us-west-2": endpoint{ Hostname: "rds.us-west-2.amazonaws.com", CredentialScope: credentialScope{ @@ -3969,6 +4083,12 @@ var awsPartition = partition{ Region: "eu-central-1", }, }, + "eu-north-1": endpoint{ + Hostname: "oidc.eu-north-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-north-1", + }, + }, "eu-west-1": endpoint{ Hostname: "oidc.eu-west-1.amazonaws.com", CredentialScope: credentialScope{ @@ -4067,6 +4187,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -4115,6 +4236,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, @@ -4280,6 +4402,7 @@ var awsPartition = partition{ "ram": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -4289,6 +4412,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -4423,10 +4547,34 @@ var awsPartition = partition{ "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{}, + "rekognition-fips.us-east-1": endpoint{ + Hostname: "rekognition-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "rekognition-fips.us-east-2": endpoint{ + Hostname: "rekognition-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "rekognition-fips.us-west-1": endpoint{ + Hostname: "rekognition-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "rekognition-fips.us-west-2": endpoint{ + Hostname: "rekognition-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "resource-groups": service{ @@ -4514,6 +4662,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -4523,6 +4672,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -5104,6 +5254,31 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "servicequotas": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + 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{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "session.qldb": service{ Endpoints: endpoints{ @@ -5543,12 +5718,18 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "me-south-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips": endpoint{ + Hostname: "storagegateway-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "streams.dynamodb": service{ @@ -6224,6 +6405,13 @@ var awscnPartition = partition{ }, }, Services: services{ + "access-analyzer": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "acm": service{ Endpoints: endpoints{ @@ -6329,6 +6517,19 @@ var awscnPartition = partition{ }, }, }, + "ce": service{ + PartitionEndpoint: "aws-cn-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-cn-global": endpoint{ + Hostname: "ce.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "cloudformation": service{ Endpoints: endpoints{ @@ -6391,6 +6592,12 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "cur": service{ + + Endpoints: endpoints{ + "cn-northwest-1": endpoint{}, + }, + }, "dax": service{ Endpoints: endpoints{ @@ -6811,13 +7018,20 @@ var awscnPartition = partition{ "snowball": service{ Endpoints: endpoints{ - "cn-north-1": endpoint{}, + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, "fips-cn-north-1": endpoint{ Hostname: "snowball-fips.cn-north-1.amazonaws.com.cn", CredentialScope: credentialScope{ Region: "cn-north-1", }, }, + "fips-cn-northwest-1": endpoint{ + Hostname: "snowball-fips.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, }, }, "sns": service{ @@ -6972,8 +7186,18 @@ var awsusgovPartition = partition{ "access-analyzer": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "access-analyzer.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "access-analyzer.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "acm": service{ @@ -7308,6 +7532,12 @@ var awsusgovPartition = partition{ "comprehendmedical": service{ Endpoints: endpoints{ + "fips-us-gov-west-1": endpoint{ + Hostname: "comprehendmedical-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-west-1": endpoint{}, }, }, @@ -8013,6 +8243,12 @@ var awsusgovPartition = partition{ "rekognition": service{ Endpoints: endpoints{ + "rekognition-fips.us-gov-west-1": endpoint{ + Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-west-1": endpoint{}, }, }, @@ -8854,6 +9090,20 @@ var awsisoPartition = partition{ "us-iso-east-1": endpoint{}, }, }, + "transcribe": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-iso-east-1": endpoint{}, + }, + }, + "transcribestreaming": service{ + + Endpoints: endpoints{ + "us-iso-east-1": endpoint{}, + }, + }, "workspaces": service{ Endpoints: endpoints{ 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 298adf57b75..edf2c57c66a 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.32.12" +const SDKVersion = "1.33.19" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go index bb8ea5da165..0e4aa42f3e4 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go @@ -69,10 +69,23 @@ func (r *EventReader) ReadEvent() (event interface{}, err error) { case ErrorMessageType: return nil, r.unmarshalErrorMessage(msg) default: - return nil, fmt.Errorf("unknown eventstream message type, %v", typ) + return nil, &UnknownMessageTypeError{ + Type: typ, Message: msg.Clone(), + } } } +// UnknownMessageTypeError provides an error when a message is received from +// the stream, but the reader is unable to determine what kind of message it is. +type UnknownMessageTypeError struct { + Type string + Message eventstream.Message +} + +func (e *UnknownMessageTypeError) Error() string { + return "unknown eventstream message type, " + e.Type +} + func (r *EventReader) unmarshalEventMessage( msg eventstream.Message, ) (event interface{}, err error) { diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go index 3b44dde2f32..f6f8c5674ed 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go @@ -52,6 +52,15 @@ func (hs *Headers) Del(name string) { } } +// Clone returns a deep copy of the headers +func (hs Headers) Clone() Headers { + o := make(Headers, 0, len(hs)) + for _, h := range hs { + o.Set(h.Name, h.Value) + } + return o +} + func decodeHeaders(r io.Reader) (Headers, error) { hs := Headers{} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go index 25c9783cde6..f7427da039e 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go @@ -57,6 +57,20 @@ func (m *Message) rawMessage() (rawMessage, error) { return raw, nil } +// Clone returns a deep copy of the message. +func (m Message) Clone() Message { + var payload []byte + if m.Payload != nil { + payload = make([]byte, len(m.Payload)) + copy(payload, m.Payload) + } + + return Message{ + Headers: m.Headers.Clone(), + Payload: payload, + } +} + type messagePrelude struct { Length uint32 HeadersLen uint32 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 082238f4253..c12ac6bd1d3 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 @@ -3382,7 +3382,7 @@ type App struct { // EnableBranchAutoBuild is a required field EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean" required:"true"` - // Automatically disconnects a branch in the Amplify Console when you delete + // Automatically disconnect a branch in the Amplify Console when you delete // a branch from your Git repository. EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/amplify/doc.go b/vendor/github.com/aws/aws-sdk-go/service/amplify/doc.go index 4f166f1e874..e1395d3fd2f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/amplify/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/amplify/doc.go @@ -3,16 +3,13 @@ // Package amplify provides the client and types for making API // requests to AWS Amplify. // -// Welcome to the AWS Amplify API documentation. This reference provides descriptions -// of the actions and data types for the Amplify API. -// // Amplify enables developers to develop and deploy cloud-powered mobile and // web apps. The Amplify Console provides a continuous delivery and hosting // service for web applications. For more information, see the Amplify Console // User Guide (https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html). // The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and // documentation for client app development. For more information, see the Amplify -// Framework. (https://aws-amplify.github.io/docs/) +// Framework. (https://docs.amplify.aws/) // // See https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25 for more information on this service. // 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 3ff3af132a8..a9d77bc4b9c 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 @@ -3275,7 +3275,9 @@ type PredefinedMetricSpecification struct { // a resource label unless the metric type is ALBRequestCountPerTarget and there // is a target group attached to the Spot Fleet request or ECS service. // - // The format is app///targetgroup//, + // Elastic Load Balancing sends data about your load balancers to Amazon CloudWatch. + // CloudWatch collects the data and specifies the format to use to access the + // data. The format is app///targetgroup//, // where: // // * app// is the final portion of @@ -3283,6 +3285,12 @@ type PredefinedMetricSpecification struct { // // * targetgroup// is the final portion // of the target group ARN. + // + // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers + // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) + // API operation. To find the ARN for the target group, use the DescribeTargetGroups + // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) + // API operation. ResourceLabel *string `min:"1" type:"string"` } @@ -3854,8 +3862,10 @@ type RegisterScalableTargetInput struct { // the minimum capacity limit in response to changing demand. // // This parameter is required if you are registering a scalable target. For - // Lambda provisioned concurrency, the minimum value allowed is 0. For all other - // resources, the minimum value allowed is 1. + // certain resources, the minimum value allowed is 0. This includes Lambda provisioned + // concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR clusters, + // and custom resources. For all other resources, the minimum value allowed + // is 1. MinCapacity *int64 `type:"integer"` // The identifier of the resource that is associated with the scalable target. diff --git a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go index 593060b6621..b9f33c52388 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go @@ -13,6 +13,119 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opCreateGatewayRoute = "CreateGatewayRoute" + +// CreateGatewayRouteRequest generates a "aws/request.Request" representing the +// client's request for the CreateGatewayRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateGatewayRoute for more information on using the CreateGatewayRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateGatewayRouteRequest method. +// req, resp := client.CreateGatewayRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute +func (c *AppMesh) CreateGatewayRouteRequest(input *CreateGatewayRouteInput) (req *request.Request, output *CreateGatewayRouteOutput) { + op := &request.Operation{ + Name: opCreateGatewayRoute, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes", + } + + if input == nil { + input = &CreateGatewayRouteInput{} + } + + output = &CreateGatewayRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateGatewayRoute API operation for AWS App Mesh. +// +// Creates a gateway route. +// +// A gateway route is attached to a virtual gateway and routes traffic to an +// existing virtual service. If a route matches a request, it can distribute +// traffic to a target virtual service. +// +// For more information about gateway routes, see Gateway routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation CreateGatewayRoute for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ConflictException +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * LimitExceededException +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute +func (c *AppMesh) CreateGatewayRoute(input *CreateGatewayRouteInput) (*CreateGatewayRouteOutput, error) { + req, out := c.CreateGatewayRouteRequest(input) + return out, req.Send() +} + +// CreateGatewayRouteWithContext is the same as CreateGatewayRoute with the addition of +// the ability to pass a context and additional request options. +// +// See CreateGatewayRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) CreateGatewayRouteWithContext(ctx aws.Context, input *CreateGatewayRouteInput, opts ...request.Option) (*CreateGatewayRouteOutput, error) { + req, out := c.CreateGatewayRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateMesh = "CreateMesh" // CreateMeshRequest generates a "aws/request.Request" representing the @@ -239,6 +352,121 @@ func (c *AppMesh) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInpu return out, req.Send() } +const opCreateVirtualGateway = "CreateVirtualGateway" + +// CreateVirtualGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateVirtualGateway operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateVirtualGateway for more information on using the CreateVirtualGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateVirtualGatewayRequest method. +// req, resp := client.CreateVirtualGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway +func (c *AppMesh) CreateVirtualGatewayRequest(input *CreateVirtualGatewayInput) (req *request.Request, output *CreateVirtualGatewayOutput) { + op := &request.Operation{ + Name: opCreateVirtualGateway, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways", + } + + if input == nil { + input = &CreateVirtualGatewayInput{} + } + + output = &CreateVirtualGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateVirtualGateway API operation for AWS App Mesh. +// +// Creates a virtual gateway. +// +// A virtual gateway allows resources outside your mesh to communicate to resources +// that are inside your mesh. The virtual gateway represents an Envoy proxy +// running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 +// instance. Unlike a virtual node, which represents an Envoy running with an +// application, a virtual gateway represents Envoy deployed by itself. +// +// For more information about virtual gateways, see Virtual gateways (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation CreateVirtualGateway for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ConflictException +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * LimitExceededException +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway +func (c *AppMesh) CreateVirtualGateway(input *CreateVirtualGatewayInput) (*CreateVirtualGatewayOutput, error) { + req, out := c.CreateVirtualGatewayRequest(input) + return out, req.Send() +} + +// CreateVirtualGatewayWithContext is the same as CreateVirtualGateway with the addition of +// the ability to pass a context and additional request options. +// +// See CreateVirtualGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) CreateVirtualGatewayWithContext(ctx aws.Context, input *CreateVirtualGatewayInput, opts ...request.Option) (*CreateVirtualGatewayOutput, error) { + req, out := c.CreateVirtualGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateVirtualNode = "CreateVirtualNode" // CreateVirtualNodeRequest generates a "aws/request.Request" representing the @@ -599,6 +827,107 @@ func (c *AppMesh) CreateVirtualServiceWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opDeleteGatewayRoute = "DeleteGatewayRoute" + +// DeleteGatewayRouteRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGatewayRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteGatewayRoute for more information on using the DeleteGatewayRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteGatewayRouteRequest method. +// req, resp := client.DeleteGatewayRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute +func (c *AppMesh) DeleteGatewayRouteRequest(input *DeleteGatewayRouteInput) (req *request.Request, output *DeleteGatewayRouteOutput) { + op := &request.Operation{ + Name: opDeleteGatewayRoute, + HTTPMethod: "DELETE", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", + } + + if input == nil { + input = &DeleteGatewayRouteInput{} + } + + output = &DeleteGatewayRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteGatewayRoute API operation for AWS App Mesh. +// +// Deletes an existing gateway route. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's +// API operation DeleteGatewayRoute for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ResourceInUseException +// You can't delete the specified resource because it's in use or required by +// another resource. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute +func (c *AppMesh) DeleteGatewayRoute(input *DeleteGatewayRouteInput) (*DeleteGatewayRouteOutput, error) { + req, out := c.DeleteGatewayRouteRequest(input) + return out, req.Send() +} + +// DeleteGatewayRouteWithContext is the same as DeleteGatewayRoute with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteGatewayRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) DeleteGatewayRouteWithContext(ctx aws.Context, input *DeleteGatewayRouteInput, opts ...request.Option) (*DeleteGatewayRouteOutput, error) { + req, out := c.DeleteGatewayRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteMesh = "DeleteMesh" // DeleteMeshRequest generates a "aws/request.Request" representing the @@ -804,10 +1133,112 @@ func (c *AppMesh) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInpu return out, req.Send() } -const opDeleteVirtualNode = "DeleteVirtualNode" +const opDeleteVirtualGateway = "DeleteVirtualGateway" -// DeleteVirtualNodeRequest generates a "aws/request.Request" representing the -// client's request for the DeleteVirtualNode operation. The "output" return +// DeleteVirtualGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVirtualGateway operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteVirtualGateway for more information on using the DeleteVirtualGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteVirtualGatewayRequest method. +// req, resp := client.DeleteVirtualGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway +func (c *AppMesh) DeleteVirtualGatewayRequest(input *DeleteVirtualGatewayInput) (req *request.Request, output *DeleteVirtualGatewayOutput) { + op := &request.Operation{ + Name: opDeleteVirtualGateway, + HTTPMethod: "DELETE", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", + } + + if input == nil { + input = &DeleteVirtualGatewayInput{} + } + + output = &DeleteVirtualGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteVirtualGateway API operation for AWS App Mesh. +// +// Deletes an existing virtual gateway. You cannot delete a virtual gateway +// if any gateway routes are associated to it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's +// API operation DeleteVirtualGateway for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ResourceInUseException +// You can't delete the specified resource because it's in use or required by +// another resource. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway +func (c *AppMesh) DeleteVirtualGateway(input *DeleteVirtualGatewayInput) (*DeleteVirtualGatewayOutput, error) { + req, out := c.DeleteVirtualGatewayRequest(input) + return out, req.Send() +} + +// DeleteVirtualGatewayWithContext is the same as DeleteVirtualGateway with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteVirtualGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) DeleteVirtualGatewayWithContext(ctx aws.Context, input *DeleteVirtualGatewayInput, opts ...request.Option) (*DeleteVirtualGatewayOutput, error) { + req, out := c.DeleteVirtualGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteVirtualNode = "DeleteVirtualNode" + +// DeleteVirtualNodeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVirtualNode operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // @@ -1113,6 +1544,103 @@ func (c *AppMesh) DeleteVirtualServiceWithContext(ctx aws.Context, input *Delete return out, req.Send() } +const opDescribeGatewayRoute = "DescribeGatewayRoute" + +// DescribeGatewayRouteRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGatewayRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeGatewayRoute for more information on using the DescribeGatewayRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeGatewayRouteRequest method. +// req, resp := client.DescribeGatewayRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute +func (c *AppMesh) DescribeGatewayRouteRequest(input *DescribeGatewayRouteInput) (req *request.Request, output *DescribeGatewayRouteOutput) { + op := &request.Operation{ + Name: opDescribeGatewayRoute, + HTTPMethod: "GET", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", + } + + if input == nil { + input = &DescribeGatewayRouteInput{} + } + + output = &DescribeGatewayRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGatewayRoute API operation for AWS App Mesh. +// +// Describes an existing gateway route. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's +// API operation DescribeGatewayRoute for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute +func (c *AppMesh) DescribeGatewayRoute(input *DescribeGatewayRouteInput) (*DescribeGatewayRouteOutput, error) { + req, out := c.DescribeGatewayRouteRequest(input) + return out, req.Send() +} + +// DescribeGatewayRouteWithContext is the same as DescribeGatewayRoute with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGatewayRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) DescribeGatewayRouteWithContext(ctx aws.Context, input *DescribeGatewayRouteInput, opts ...request.Option) (*DescribeGatewayRouteOutput, error) { + req, out := c.DescribeGatewayRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeMesh = "DescribeMesh" // DescribeMeshRequest generates a "aws/request.Request" representing the @@ -1307,6 +1835,103 @@ func (c *AppMesh) DescribeRouteWithContext(ctx aws.Context, input *DescribeRoute return out, req.Send() } +const opDescribeVirtualGateway = "DescribeVirtualGateway" + +// DescribeVirtualGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVirtualGateway operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeVirtualGateway for more information on using the DescribeVirtualGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeVirtualGatewayRequest method. +// req, resp := client.DescribeVirtualGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway +func (c *AppMesh) DescribeVirtualGatewayRequest(input *DescribeVirtualGatewayInput) (req *request.Request, output *DescribeVirtualGatewayOutput) { + op := &request.Operation{ + Name: opDescribeVirtualGateway, + HTTPMethod: "GET", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", + } + + if input == nil { + input = &DescribeVirtualGatewayInput{} + } + + output = &DescribeVirtualGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeVirtualGateway API operation for AWS App Mesh. +// +// Describes an existing virtual gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation DescribeVirtualGateway for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway +func (c *AppMesh) DescribeVirtualGateway(input *DescribeVirtualGatewayInput) (*DescribeVirtualGatewayOutput, error) { + req, out := c.DescribeVirtualGatewayRequest(input) + return out, req.Send() +} + +// DescribeVirtualGatewayWithContext is the same as DescribeVirtualGateway with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeVirtualGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) DescribeVirtualGatewayWithContext(ctx aws.Context, input *DescribeVirtualGatewayInput, opts ...request.Option) (*DescribeVirtualGatewayOutput, error) { + req, out := c.DescribeVirtualGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeVirtualNode = "DescribeVirtualNode" // DescribeVirtualNodeRequest generates a "aws/request.Request" representing the @@ -1598,37 +2223,37 @@ func (c *AppMesh) DescribeVirtualServiceWithContext(ctx aws.Context, input *Desc return out, req.Send() } -const opListMeshes = "ListMeshes" +const opListGatewayRoutes = "ListGatewayRoutes" -// ListMeshesRequest generates a "aws/request.Request" representing the -// client's request for the ListMeshes operation. The "output" return +// ListGatewayRoutesRequest generates a "aws/request.Request" representing the +// client's request for the ListGatewayRoutes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListMeshes for more information on using the ListMeshes +// See ListGatewayRoutes for more information on using the ListGatewayRoutes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListMeshesRequest method. -// req, resp := client.ListMeshesRequest(params) +// // Example sending a request using the ListGatewayRoutesRequest method. +// req, resp := client.ListGatewayRoutesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes -func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Request, output *ListMeshesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes +func (c *AppMesh) ListGatewayRoutesRequest(input *ListGatewayRoutesInput) (req *request.Request, output *ListGatewayRoutesOutput) { op := &request.Operation{ - Name: opListMeshes, + Name: opListGatewayRoutes, HTTPMethod: "GET", - HTTPPath: "/v20190125/meshes", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -1638,24 +2263,25 @@ func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Reques } if input == nil { - input = &ListMeshesInput{} + input = &ListGatewayRoutesInput{} } - output = &ListMeshesOutput{} + output = &ListGatewayRoutesOutput{} req = c.newRequest(op, input, output) return } -// ListMeshes API operation for AWS App Mesh. +// ListGatewayRoutes API operation for AWS App Mesh. // -// Returns a list of existing service meshes. +// Returns a list of existing gateway routes that are associated to a virtual +// gateway. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS App Mesh's -// API operation ListMeshes for usage and error information. +// API operation ListGatewayRoutes for usage and error information. // // Returned Error Types: // * BadRequestException @@ -1679,33 +2305,188 @@ func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Reques // for your account. For best results, use an increasing or variable sleep interval // between requests. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes -func (c *AppMesh) ListMeshes(input *ListMeshesInput) (*ListMeshesOutput, error) { - req, out := c.ListMeshesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes +func (c *AppMesh) ListGatewayRoutes(input *ListGatewayRoutesInput) (*ListGatewayRoutesOutput, error) { + req, out := c.ListGatewayRoutesRequest(input) return out, req.Send() } -// ListMeshesWithContext is the same as ListMeshes with the addition of +// ListGatewayRoutesWithContext is the same as ListGatewayRoutes with the addition of // the ability to pass a context and additional request options. // -// See ListMeshes for details on how to use this API operation. +// See ListGatewayRoutes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *AppMesh) ListMeshesWithContext(ctx aws.Context, input *ListMeshesInput, opts ...request.Option) (*ListMeshesOutput, error) { - req, out := c.ListMeshesRequest(input) +func (c *AppMesh) ListGatewayRoutesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, opts ...request.Option) (*ListGatewayRoutesOutput, error) { + req, out := c.ListGatewayRoutesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListMeshesPages iterates over the pages of a ListMeshes operation, +// ListGatewayRoutesPages iterates over the pages of a ListGatewayRoutes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListMeshes method for more information on how to use this operation. +// See ListGatewayRoutes 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 ListGatewayRoutes operation. +// pageNum := 0 +// err := client.ListGatewayRoutesPages(params, +// func(page *appmesh.ListGatewayRoutesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppMesh) ListGatewayRoutesPages(input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool) error { + return c.ListGatewayRoutesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGatewayRoutesPagesWithContext same as ListGatewayRoutesPages 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 *AppMesh) ListGatewayRoutesPagesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGatewayRoutesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGatewayRoutesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListGatewayRoutesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListMeshes = "ListMeshes" + +// ListMeshesRequest generates a "aws/request.Request" representing the +// client's request for the ListMeshes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListMeshes for more information on using the ListMeshes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListMeshesRequest method. +// req, resp := client.ListMeshesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes +func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Request, output *ListMeshesOutput) { + op := &request.Operation{ + Name: opListMeshes, + HTTPMethod: "GET", + HTTPPath: "/v20190125/meshes", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListMeshesInput{} + } + + output = &ListMeshesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListMeshes API operation for AWS App Mesh. +// +// Returns a list of existing service meshes. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's +// API operation ListMeshes for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes +func (c *AppMesh) ListMeshes(input *ListMeshesInput) (*ListMeshesOutput, error) { + req, out := c.ListMeshesRequest(input) + return out, req.Send() +} + +// ListMeshesWithContext is the same as ListMeshes with the addition of +// the ability to pass a context and additional request options. +// +// See ListMeshes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) ListMeshesWithContext(ctx aws.Context, input *ListMeshesInput, opts ...request.Option) (*ListMeshesOutput, error) { + req, out := c.ListMeshesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListMeshesPages iterates over the pages of a ListMeshes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMeshes method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // @@ -2063,37 +2844,37 @@ func (c *AppMesh) ListTagsForResourcePagesWithContext(ctx aws.Context, input *Li return p.Err() } -const opListVirtualNodes = "ListVirtualNodes" +const opListVirtualGateways = "ListVirtualGateways" -// ListVirtualNodesRequest generates a "aws/request.Request" representing the -// client's request for the ListVirtualNodes operation. The "output" return +// ListVirtualGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualGateways operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListVirtualNodes for more information on using the ListVirtualNodes +// See ListVirtualGateways for more information on using the ListVirtualGateways // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListVirtualNodesRequest method. -// req, resp := client.ListVirtualNodesRequest(params) +// // Example sending a request using the ListVirtualGatewaysRequest method. +// req, resp := client.ListVirtualGatewaysRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes -func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways +func (c *AppMesh) ListVirtualGatewaysRequest(input *ListVirtualGatewaysInput) (req *request.Request, output *ListVirtualGatewaysOutput) { op := &request.Operation{ - Name: opListVirtualNodes, + Name: opListVirtualGateways, HTTPMethod: "GET", - HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2103,24 +2884,24 @@ func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *re } if input == nil { - input = &ListVirtualNodesInput{} + input = &ListVirtualGatewaysInput{} } - output = &ListVirtualNodesOutput{} + output = &ListVirtualGatewaysOutput{} req = c.newRequest(op, input, output) return } -// ListVirtualNodes API operation for AWS App Mesh. +// ListVirtualGateways API operation for AWS App Mesh. // -// Returns a list of existing virtual nodes. +// Returns a list of existing virtual gateways in a service mesh. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's -// API operation ListVirtualNodes for usage and error information. +// API operation ListVirtualGateways for usage and error information. // // Returned Error Types: // * BadRequestException @@ -2144,65 +2925,65 @@ func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *re // for your account. For best results, use an increasing or variable sleep interval // between requests. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes -func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) { - req, out := c.ListVirtualNodesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways +func (c *AppMesh) ListVirtualGateways(input *ListVirtualGatewaysInput) (*ListVirtualGatewaysOutput, error) { + req, out := c.ListVirtualGatewaysRequest(input) return out, req.Send() } -// ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of +// ListVirtualGatewaysWithContext is the same as ListVirtualGateways with the addition of // the ability to pass a context and additional request options. // -// See ListVirtualNodes for details on how to use this API operation. +// See ListVirtualGateways for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) { - req, out := c.ListVirtualNodesRequest(input) +func (c *AppMesh) ListVirtualGatewaysWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, opts ...request.Option) (*ListVirtualGatewaysOutput, error) { + req, out := c.ListVirtualGatewaysRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation, +// ListVirtualGatewaysPages iterates over the pages of a ListVirtualGateways operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListVirtualNodes method for more information on how to use this operation. +// See ListVirtualGateways 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 ListVirtualNodes operation. +// // Example iterating over at most 3 pages of a ListVirtualGateways operation. // pageNum := 0 -// err := client.ListVirtualNodesPages(params, -// func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool { +// err := client.ListVirtualGatewaysPages(params, +// func(page *appmesh.ListVirtualGatewaysOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error { - return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *AppMesh) ListVirtualGatewaysPages(input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool) error { + return c.ListVirtualGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListVirtualNodesPagesWithContext same as ListVirtualNodesPages except +// ListVirtualGatewaysPagesWithContext same as ListVirtualGatewaysPages 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 *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error { +func (c *AppMesh) ListVirtualGatewaysPagesWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListVirtualNodesInput + var inCpy *ListVirtualGatewaysInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListVirtualNodesRequest(inCpy) + req, _ := c.ListVirtualGatewaysRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2210,7 +2991,7 @@ func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListV } for p.Next() { - if !fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListVirtualGatewaysOutput), !p.HasNextPage()) { break } } @@ -2218,37 +2999,37 @@ func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListV return p.Err() } -const opListVirtualRouters = "ListVirtualRouters" +const opListVirtualNodes = "ListVirtualNodes" -// ListVirtualRoutersRequest generates a "aws/request.Request" representing the -// client's request for the ListVirtualRouters operation. The "output" return +// ListVirtualNodesRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualNodes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListVirtualRouters for more information on using the ListVirtualRouters +// See ListVirtualNodes for more information on using the ListVirtualNodes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListVirtualRoutersRequest method. -// req, resp := client.ListVirtualRoutersRequest(params) +// // Example sending a request using the ListVirtualNodesRequest method. +// req, resp := client.ListVirtualNodesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters -func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes +func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) { op := &request.Operation{ - Name: opListVirtualRouters, + Name: opListVirtualNodes, HTTPMethod: "GET", - HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", + HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2258,24 +3039,24 @@ func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req } if input == nil { - input = &ListVirtualRoutersInput{} + input = &ListVirtualNodesInput{} } - output = &ListVirtualRoutersOutput{} + output = &ListVirtualNodesOutput{} req = c.newRequest(op, input, output) return } -// ListVirtualRouters API operation for AWS App Mesh. +// ListVirtualNodes API operation for AWS App Mesh. // -// Returns a list of existing virtual routers in a service mesh. +// Returns a list of existing virtual nodes. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's -// API operation ListVirtualRouters for usage and error information. +// API operation ListVirtualNodes for usage and error information. // // Returned Error Types: // * BadRequestException @@ -2299,65 +3080,65 @@ func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req // for your account. For best results, use an increasing or variable sleep interval // between requests. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters -func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) { - req, out := c.ListVirtualRoutersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes +func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) { + req, out := c.ListVirtualNodesRequest(input) return out, req.Send() } -// ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of +// ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of // the ability to pass a context and additional request options. // -// See ListVirtualRouters for details on how to use this API operation. +// See ListVirtualNodes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) { - req, out := c.ListVirtualRoutersRequest(input) +func (c *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) { + req, out := c.ListVirtualNodesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation, +// ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListVirtualRouters method for more information on how to use this operation. +// See ListVirtualNodes 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 ListVirtualRouters operation. +// // Example iterating over at most 3 pages of a ListVirtualNodes operation. // pageNum := 0 -// err := client.ListVirtualRoutersPages(params, -// func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool { +// err := client.ListVirtualNodesPages(params, +// func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error { - return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error { + return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages except +// ListVirtualNodesPagesWithContext same as ListVirtualNodesPages 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 *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error { +func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListVirtualRoutersInput + var inCpy *ListVirtualNodesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListVirtualRoutersRequest(inCpy) + req, _ := c.ListVirtualNodesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2365,7 +3146,7 @@ func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) { break } } @@ -2373,24 +3154,179 @@ func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListVirtualServices = "ListVirtualServices" +const opListVirtualRouters = "ListVirtualRouters" -// ListVirtualServicesRequest generates a "aws/request.Request" representing the -// client's request for the ListVirtualServices operation. The "output" return +// ListVirtualRoutersRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualRouters operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListVirtualServices for more information on using the ListVirtualServices +// See ListVirtualRouters for more information on using the ListVirtualRouters // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListVirtualServicesRequest method. +// // Example sending a request using the ListVirtualRoutersRequest method. +// req, resp := client.ListVirtualRoutersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters +func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) { + op := &request.Operation{ + Name: opListVirtualRouters, + HTTPMethod: "GET", + HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListVirtualRoutersInput{} + } + + output = &ListVirtualRoutersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListVirtualRouters API operation for AWS App Mesh. +// +// Returns a list of existing virtual routers in a service mesh. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's +// API operation ListVirtualRouters for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters +func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) { + req, out := c.ListVirtualRoutersRequest(input) + return out, req.Send() +} + +// ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of +// the ability to pass a context and additional request options. +// +// See ListVirtualRouters for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) { + req, out := c.ListVirtualRoutersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListVirtualRouters 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 ListVirtualRouters operation. +// pageNum := 0 +// err := client.ListVirtualRoutersPages(params, +// func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error { + return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages 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 *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListVirtualRoutersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListVirtualRoutersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListVirtualServices = "ListVirtualServices" + +// ListVirtualServicesRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualServices operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListVirtualServices for more information on using the ListVirtualServices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListVirtualServicesRequest method. // req, resp := client.ListVirtualServicesRequest(params) // // err := req.Send() @@ -2732,6 +3668,114 @@ func (c *AppMesh) UntagResourceWithContext(ctx aws.Context, input *UntagResource return out, req.Send() } +const opUpdateGatewayRoute = "UpdateGatewayRoute" + +// UpdateGatewayRouteRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGatewayRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateGatewayRoute for more information on using the UpdateGatewayRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateGatewayRouteRequest method. +// req, resp := client.UpdateGatewayRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute +func (c *AppMesh) UpdateGatewayRouteRequest(input *UpdateGatewayRouteInput) (req *request.Request, output *UpdateGatewayRouteOutput) { + op := &request.Operation{ + Name: opUpdateGatewayRoute, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", + } + + if input == nil { + input = &UpdateGatewayRouteInput{} + } + + output = &UpdateGatewayRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGatewayRoute API operation for AWS App Mesh. +// +// Updates an existing gateway route that is associated to a specified virtual +// gateway in a service mesh. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's +// API operation UpdateGatewayRoute for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ConflictException +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * LimitExceededException +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute +func (c *AppMesh) UpdateGatewayRoute(input *UpdateGatewayRouteInput) (*UpdateGatewayRouteOutput, error) { + req, out := c.UpdateGatewayRouteRequest(input) + return out, req.Send() +} + +// UpdateGatewayRouteWithContext is the same as UpdateGatewayRoute with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGatewayRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) UpdateGatewayRouteWithContext(ctx aws.Context, input *UpdateGatewayRouteInput, opts ...request.Option) (*UpdateGatewayRouteOutput, error) { + req, out := c.UpdateGatewayRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateMesh = "UpdateMesh" // UpdateMeshRequest generates a "aws/request.Request" representing the @@ -2941,58 +3985,165 @@ func (c *AppMesh) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInpu return out, req.Send() } -const opUpdateVirtualNode = "UpdateVirtualNode" +const opUpdateVirtualGateway = "UpdateVirtualGateway" -// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the -// client's request for the UpdateVirtualNode operation. The "output" return +// UpdateVirtualGatewayRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVirtualGateway operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateVirtualNode for more information on using the UpdateVirtualNode +// See UpdateVirtualGateway for more information on using the UpdateVirtualGateway // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateVirtualNodeRequest method. -// req, resp := client.UpdateVirtualNodeRequest(params) +// // Example sending a request using the UpdateVirtualGatewayRequest method. +// req, resp := client.UpdateVirtualGatewayRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode -func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway +func (c *AppMesh) UpdateVirtualGatewayRequest(input *UpdateVirtualGatewayInput) (req *request.Request, output *UpdateVirtualGatewayOutput) { op := &request.Operation{ - Name: opUpdateVirtualNode, + Name: opUpdateVirtualGateway, HTTPMethod: "PUT", - HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", } if input == nil { - input = &UpdateVirtualNodeInput{} + input = &UpdateVirtualGatewayInput{} } - output = &UpdateVirtualNodeOutput{} + output = &UpdateVirtualGatewayOutput{} req = c.newRequest(op, input, output) return } -// UpdateVirtualNode API operation for AWS App Mesh. +// UpdateVirtualGateway API operation for AWS App Mesh. // -// Updates an existing virtual node in a specified service mesh. +// Updates an existing virtual gateway in a specified service mesh. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's -// API operation UpdateVirtualNode for usage and error information. +// API operation UpdateVirtualGateway for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ConflictException +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * LimitExceededException +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway +func (c *AppMesh) UpdateVirtualGateway(input *UpdateVirtualGatewayInput) (*UpdateVirtualGatewayOutput, error) { + req, out := c.UpdateVirtualGatewayRequest(input) + return out, req.Send() +} + +// UpdateVirtualGatewayWithContext is the same as UpdateVirtualGateway with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateVirtualGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) UpdateVirtualGatewayWithContext(ctx aws.Context, input *UpdateVirtualGatewayInput, opts ...request.Option) (*UpdateVirtualGatewayOutput, error) { + req, out := c.UpdateVirtualGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateVirtualNode = "UpdateVirtualNode" + +// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVirtualNode operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateVirtualNode for more information on using the UpdateVirtualNode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateVirtualNodeRequest method. +// req, resp := client.UpdateVirtualNodeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode +func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { + op := &request.Operation{ + Name: opUpdateVirtualNode, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + } + + if input == nil { + input = &UpdateVirtualNodeInput{} + } + + output = &UpdateVirtualNodeOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateVirtualNode API operation for AWS App Mesh. +// +// Updates an existing virtual node in a specified service mesh. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 App Mesh's +// API operation UpdateVirtualNode for usage and error information. // // Returned Error Types: // * BadRequestException @@ -3723,6 +4874,157 @@ func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } +type CreateGatewayRouteInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // GatewayRouteName is a required field + GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents a gateway route specification. Specify one gateway + // route type. + // + // Spec is a required field + Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` + + Tags []*TagRef `locationName:"tags" type:"list"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateGatewayRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGatewayRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGatewayRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGatewayRouteInput"} + if s.GatewayRouteName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) + } + if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateGatewayRouteInput) SetClientToken(v string) *CreateGatewayRouteInput { + s.ClientToken = &v + return s +} + +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *CreateGatewayRouteInput) SetGatewayRouteName(v string) *CreateGatewayRouteInput { + s.GatewayRouteName = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *CreateGatewayRouteInput) SetMeshName(v string) *CreateGatewayRouteInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *CreateGatewayRouteInput) SetMeshOwner(v string) *CreateGatewayRouteInput { + s.MeshOwner = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *CreateGatewayRouteInput { + s.Spec = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateGatewayRouteInput) SetTags(v []*TagRef) *CreateGatewayRouteInput { + s.Tags = v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *CreateGatewayRouteInput) SetVirtualGatewayName(v string) *CreateGatewayRouteInput { + s.VirtualGatewayName = &v + return s +} + +type CreateGatewayRouteOutput struct { + _ struct{} `type:"structure" payload:"GatewayRoute"` + + // An object that represents a gateway route returned by a describe operation. + // + // GatewayRoute is a required field + GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateGatewayRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGatewayRouteOutput) GoString() string { + return s.String() +} + +// SetGatewayRoute sets the GatewayRoute field's value. +func (s *CreateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *CreateGatewayRouteOutput { + s.GatewayRoute = v + return s +} + type CreateMeshInput struct { _ struct{} `type:"structure"` @@ -3977,7 +5279,7 @@ func (s *CreateRouteOutput) SetRoute(v *RouteData) *CreateRouteOutput { return s } -type CreateVirtualNodeInput struct { +type CreateVirtualGatewayInput struct { _ struct{} `type:"structure"` ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` @@ -3987,30 +5289,30 @@ type CreateVirtualNodeInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // An object that represents the specification of a virtual node. + // An object that represents the specification of a service mesh resource. // // Spec is a required field - Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` + Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` Tags []*TagRef `locationName:"tags" type:"list"` - // VirtualNodeName is a required field - VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateVirtualNodeInput) String() string { +func (s CreateVirtualGatewayInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualNodeInput) GoString() string { +func (s CreateVirtualGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVirtualNodeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} +func (s *CreateVirtualGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVirtualGatewayInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -4023,11 +5325,11 @@ func (s *CreateVirtualNodeInput) Validate() error { if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } - if s.VirtualNodeName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } - if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { @@ -4052,67 +5354,67 @@ func (s *CreateVirtualNodeInput) Validate() error { } // SetClientToken sets the ClientToken field's value. -func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetClientToken(v string) *CreateVirtualGatewayInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. -func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetMeshName(v string) *CreateVirtualGatewayInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *CreateVirtualNodeInput) SetMeshOwner(v string) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetMeshOwner(v string) *CreateVirtualGatewayInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. -func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *CreateVirtualGatewayInput { s.Spec = v return s } // SetTags sets the Tags field's value. -func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetTags(v []*TagRef) *CreateVirtualGatewayInput { s.Tags = v return s } -// SetVirtualNodeName sets the VirtualNodeName field's value. -func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { - s.VirtualNodeName = &v +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *CreateVirtualGatewayInput) SetVirtualGatewayName(v string) *CreateVirtualGatewayInput { + s.VirtualGatewayName = &v return s } -type CreateVirtualNodeOutput struct { - _ struct{} `type:"structure" payload:"VirtualNode"` +type CreateVirtualGatewayOutput struct { + _ struct{} `type:"structure" payload:"VirtualGateway"` - // An object that represents a virtual node returned by a describe operation. + // An object that represents a virtual gateway returned by a describe operation. // - // VirtualNode is a required field - VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` + // VirtualGateway is a required field + VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` } // String returns the string representation -func (s CreateVirtualNodeOutput) String() string { +func (s CreateVirtualGatewayOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualNodeOutput) GoString() string { +func (s CreateVirtualGatewayOutput) GoString() string { return s.String() } -// SetVirtualNode sets the VirtualNode field's value. -func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { - s.VirtualNode = v +// SetVirtualGateway sets the VirtualGateway field's value. +func (s *CreateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *CreateVirtualGatewayOutput { + s.VirtualGateway = v return s } -type CreateVirtualRouterInput struct { +type CreateVirtualNodeInput struct { _ struct{} `type:"structure"` ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` @@ -4122,29 +5424,164 @@ type CreateVirtualRouterInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // An object that represents the specification of a virtual router. + // An object that represents the specification of a virtual node. // // Spec is a required field - Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` + Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` Tags []*TagRef `locationName:"tags" type:"list"` - // VirtualRouterName is a required field - VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // VirtualNodeName is a required field + VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateVirtualRouterInput) String() string { +func (s CreateVirtualNodeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualRouterInput) GoString() string { +func (s CreateVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVirtualRouterInput) Validate() error { +func (s *CreateVirtualNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualNodeName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + } + if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { + s.ClientToken = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *CreateVirtualNodeInput) SetMeshOwner(v string) *CreateVirtualNodeInput { + s.MeshOwner = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { + s.Spec = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput { + s.Tags = v + return s +} + +// SetVirtualNodeName sets the VirtualNodeName field's value. +func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { + s.VirtualNodeName = &v + return s +} + +type CreateVirtualNodeOutput struct { + _ struct{} `type:"structure" payload:"VirtualNode"` + + // An object that represents a virtual node returned by a describe operation. + // + // VirtualNode is a required field + VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateVirtualNodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVirtualNodeOutput) GoString() string { + return s.String() +} + +// SetVirtualNode sets the VirtualNode field's value. +func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { + s.VirtualNode = v + return s +} + +type CreateVirtualRouterInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents the specification of a virtual router. + // + // Spec is a required field + Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` + + Tags []*TagRef `locationName:"tags" type:"list"` + + // VirtualRouterName is a required field + VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateVirtualRouterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVirtualRouterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVirtualRouterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateVirtualRouterInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) @@ -4379,6 +5816,111 @@ func (s *CreateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *C return s } +type DeleteGatewayRouteInput struct { + _ struct{} `type:"structure"` + + // GatewayRouteName is a required field + GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteGatewayRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGatewayRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGatewayRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayRouteInput"} + if s.GatewayRouteName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) + } + if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *DeleteGatewayRouteInput) SetGatewayRouteName(v string) *DeleteGatewayRouteInput { + s.GatewayRouteName = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *DeleteGatewayRouteInput) SetMeshName(v string) *DeleteGatewayRouteInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *DeleteGatewayRouteInput) SetMeshOwner(v string) *DeleteGatewayRouteInput { + s.MeshOwner = &v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *DeleteGatewayRouteInput) SetVirtualGatewayName(v string) *DeleteGatewayRouteInput { + s.VirtualGatewayName = &v + return s +} + +type DeleteGatewayRouteOutput struct { + _ struct{} `type:"structure" payload:"GatewayRoute"` + + // An object that represents a gateway route returned by a describe operation. + // + // GatewayRoute is a required field + GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteGatewayRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGatewayRouteOutput) GoString() string { + return s.String() +} + +// SetGatewayRoute sets the GatewayRoute field's value. +func (s *DeleteGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DeleteGatewayRouteOutput { + s.GatewayRoute = v + return s +} + type DeleteMeshInput struct { _ struct{} `type:"structure"` @@ -4548,7 +6090,7 @@ func (s *DeleteRouteOutput) SetRoute(v *RouteData) *DeleteRouteOutput { return s } -type DeleteVirtualNodeInput struct { +type DeleteVirtualGatewayInput struct { _ struct{} `type:"structure"` // MeshName is a required field @@ -4556,23 +6098,23 @@ type DeleteVirtualNodeInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // VirtualNodeName is a required field - VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteVirtualNodeInput) String() string { +func (s DeleteVirtualGatewayInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualNodeInput) GoString() string { +func (s DeleteVirtualGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVirtualNodeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} +func (s *DeleteVirtualGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualGatewayInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -4582,11 +6124,11 @@ func (s *DeleteVirtualNodeInput) Validate() error { if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } - if s.VirtualNodeName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } - if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if invalidParams.Len() > 0 { @@ -4596,49 +6138,49 @@ func (s *DeleteVirtualNodeInput) Validate() error { } // SetMeshName sets the MeshName field's value. -func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { +func (s *DeleteVirtualGatewayInput) SetMeshName(v string) *DeleteVirtualGatewayInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *DeleteVirtualNodeInput) SetMeshOwner(v string) *DeleteVirtualNodeInput { +func (s *DeleteVirtualGatewayInput) SetMeshOwner(v string) *DeleteVirtualGatewayInput { s.MeshOwner = &v return s } -// SetVirtualNodeName sets the VirtualNodeName field's value. -func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { - s.VirtualNodeName = &v +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *DeleteVirtualGatewayInput) SetVirtualGatewayName(v string) *DeleteVirtualGatewayInput { + s.VirtualGatewayName = &v return s } -type DeleteVirtualNodeOutput struct { - _ struct{} `type:"structure" payload:"VirtualNode"` +type DeleteVirtualGatewayOutput struct { + _ struct{} `type:"structure" payload:"VirtualGateway"` - // An object that represents a virtual node returned by a describe operation. + // An object that represents a virtual gateway returned by a describe operation. // - // VirtualNode is a required field - VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` + // VirtualGateway is a required field + VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` } // String returns the string representation -func (s DeleteVirtualNodeOutput) String() string { +func (s DeleteVirtualGatewayOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualNodeOutput) GoString() string { +func (s DeleteVirtualGatewayOutput) GoString() string { return s.String() } -// SetVirtualNode sets the VirtualNode field's value. -func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { - s.VirtualNode = v +// SetVirtualGateway sets the VirtualGateway field's value. +func (s *DeleteVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DeleteVirtualGatewayOutput { + s.VirtualGateway = v return s } -type DeleteVirtualRouterInput struct { +type DeleteVirtualNodeInput struct { _ struct{} `type:"structure"` // MeshName is a required field @@ -4646,23 +6188,23 @@ type DeleteVirtualRouterInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // VirtualNodeName is a required field + VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteVirtualRouterInput) String() string { +func (s DeleteVirtualNodeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualRouterInput) GoString() string { +func (s DeleteVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVirtualRouterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} +func (s *DeleteVirtualNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -4672,11 +6214,11 @@ func (s *DeleteVirtualRouterInput) Validate() error { if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + if s.VirtualNodeName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) } if invalidParams.Len() > 0 { @@ -4686,7 +6228,97 @@ func (s *DeleteVirtualRouterInput) Validate() error { } // SetMeshName sets the MeshName field's value. -func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { +func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *DeleteVirtualNodeInput) SetMeshOwner(v string) *DeleteVirtualNodeInput { + s.MeshOwner = &v + return s +} + +// SetVirtualNodeName sets the VirtualNodeName field's value. +func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { + s.VirtualNodeName = &v + return s +} + +type DeleteVirtualNodeOutput struct { + _ struct{} `type:"structure" payload:"VirtualNode"` + + // An object that represents a virtual node returned by a describe operation. + // + // VirtualNode is a required field + VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteVirtualNodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVirtualNodeOutput) GoString() string { + return s.String() +} + +// SetVirtualNode sets the VirtualNode field's value. +func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { + s.VirtualNode = v + return s +} + +type DeleteVirtualRouterInput struct { + _ struct{} `type:"structure"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // VirtualRouterName is a required field + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteVirtualRouterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVirtualRouterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVirtualRouterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMeshName sets the MeshName field's value. +func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { s.MeshName = &v return s } @@ -4818,6 +6450,111 @@ func (s *DeleteVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *D return s } +type DescribeGatewayRouteInput struct { + _ struct{} `type:"structure"` + + // GatewayRouteName is a required field + GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeGatewayRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGatewayRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeGatewayRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayRouteInput"} + if s.GatewayRouteName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) + } + if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *DescribeGatewayRouteInput) SetGatewayRouteName(v string) *DescribeGatewayRouteInput { + s.GatewayRouteName = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *DescribeGatewayRouteInput) SetMeshName(v string) *DescribeGatewayRouteInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *DescribeGatewayRouteInput) SetMeshOwner(v string) *DescribeGatewayRouteInput { + s.MeshOwner = &v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *DescribeGatewayRouteInput) SetVirtualGatewayName(v string) *DescribeGatewayRouteInput { + s.VirtualGatewayName = &v + return s +} + +type DescribeGatewayRouteOutput struct { + _ struct{} `type:"structure" payload:"GatewayRoute"` + + // An object that represents a gateway route returned by a describe operation. + // + // GatewayRoute is a required field + GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeGatewayRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGatewayRouteOutput) GoString() string { + return s.String() +} + +// SetGatewayRoute sets the GatewayRoute field's value. +func (s *DescribeGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DescribeGatewayRouteOutput { + s.GatewayRoute = v + return s +} + type DescribeMeshInput struct { _ struct{} `type:"structure"` @@ -4998,6 +6735,96 @@ func (s *DescribeRouteOutput) SetRoute(v *RouteData) *DescribeRouteOutput { return s } +type DescribeVirtualGatewayInput struct { + _ struct{} `type:"structure"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeVirtualGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVirtualGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeVirtualGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualGatewayInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMeshName sets the MeshName field's value. +func (s *DescribeVirtualGatewayInput) SetMeshName(v string) *DescribeVirtualGatewayInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *DescribeVirtualGatewayInput) SetMeshOwner(v string) *DescribeVirtualGatewayInput { + s.MeshOwner = &v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *DescribeVirtualGatewayInput) SetVirtualGatewayName(v string) *DescribeVirtualGatewayInput { + s.VirtualGatewayName = &v + return s +} + +type DescribeVirtualGatewayOutput struct { + _ struct{} `type:"structure" payload:"VirtualGateway"` + + // An object that represents a virtual gateway returned by a describe operation. + // + // VirtualGateway is a required field + VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeVirtualGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVirtualGatewayOutput) GoString() string { + return s.String() +} + +// SetVirtualGateway sets the VirtualGateway field's value. +func (s *DescribeVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DescribeVirtualGatewayOutput { + s.VirtualGateway = v + return s +} + type DescribeVirtualNodeInput struct { _ struct{} `type:"structure"` @@ -5470,146 +7297,219 @@ func (s *ForbiddenException) RequestID() string { return s.RespMetadata.RequestID } -// An object that represents a retry policy. Specify at least one value for -// at least one of the types of RetryEvents, a value for maxRetries, and a value -// for perRetryTimeout. -type GrpcRetryPolicy struct { +// An object that represents a gateway route returned by a describe operation. +type GatewayRouteData struct { _ struct{} `type:"structure"` - GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list"` + // GatewayRouteName is a required field + GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` - HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // MaxRetries is a required field - MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` + // An object that represents metadata for a resource. + // + // Metadata is a required field + Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` - // An object that represents a duration of time. + // An object that represents a gateway route specification. Specify one gateway + // route type. // - // PerRetryTimeout is a required field - PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` + // Spec is a required field + Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` - TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` + // An object that represents the current status of a gateway route. + // + // Status is a required field + Status *GatewayRouteStatus `locationName:"status" type:"structure" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GrpcRetryPolicy) String() string { +func (s GatewayRouteData) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRetryPolicy) GoString() string { +func (s GatewayRouteData) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRetryPolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"} - if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1)) - } - if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) - } - if s.MaxRetries == nil { - invalidParams.Add(request.NewErrParamRequired("MaxRetries")) - } - if s.PerRetryTimeout == nil { - invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) - } - if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *GatewayRouteData) SetGatewayRouteName(v string) *GatewayRouteData { + s.GatewayRouteName = &v + return s } -// SetGrpcRetryEvents sets the GrpcRetryEvents field's value. -func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy { - s.GrpcRetryEvents = v +// SetMeshName sets the MeshName field's value. +func (s *GatewayRouteData) SetMeshName(v string) *GatewayRouteData { + s.MeshName = &v return s } -// SetHttpRetryEvents sets the HttpRetryEvents field's value. -func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy { - s.HttpRetryEvents = v +// SetMetadata sets the Metadata field's value. +func (s *GatewayRouteData) SetMetadata(v *ResourceMetadata) *GatewayRouteData { + s.Metadata = v return s } -// SetMaxRetries sets the MaxRetries field's value. -func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy { - s.MaxRetries = &v +// SetSpec sets the Spec field's value. +func (s *GatewayRouteData) SetSpec(v *GatewayRouteSpec) *GatewayRouteData { + s.Spec = v return s } -// SetPerRetryTimeout sets the PerRetryTimeout field's value. -func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy { - s.PerRetryTimeout = v +// SetStatus sets the Status field's value. +func (s *GatewayRouteData) SetStatus(v *GatewayRouteStatus) *GatewayRouteData { + s.Status = v return s } -// SetTcpRetryEvents sets the TcpRetryEvents field's value. -func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy { - s.TcpRetryEvents = v +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *GatewayRouteData) SetVirtualGatewayName(v string) *GatewayRouteData { + s.VirtualGatewayName = &v return s } -// An object that represents a gRPC route type. -type GrpcRoute struct { +// An object that represents a gateway route returned by a list operation. +type GatewayRouteRef struct { _ struct{} `type:"structure"` - // An object that represents the action to take if a match is determined. - // - // Action is a required field - Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // An object that represents the criteria for determining a request match. - // - // Match is a required field - Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"` + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` - // An object that represents a retry policy. Specify at least one value for - // at least one of the types of RetryEvents, a value for maxRetries, and a value - // for perRetryTimeout. - RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"` + // GatewayRouteName is a required field + GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` - Timeout *GrpcTimeout `locationName:"timeout" type:"structure"` + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GrpcRoute) String() string { +func (s GatewayRouteRef) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRoute) GoString() string { +func (s GatewayRouteRef) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GatewayRouteRef) SetArn(v string) *GatewayRouteRef { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *GatewayRouteRef) SetCreatedAt(v time.Time) *GatewayRouteRef { + s.CreatedAt = &v + return s +} + +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *GatewayRouteRef) SetGatewayRouteName(v string) *GatewayRouteRef { + s.GatewayRouteName = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *GatewayRouteRef) SetLastUpdatedAt(v time.Time) *GatewayRouteRef { + s.LastUpdatedAt = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *GatewayRouteRef) SetMeshName(v string) *GatewayRouteRef { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *GatewayRouteRef) SetMeshOwner(v string) *GatewayRouteRef { + s.MeshOwner = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *GatewayRouteRef) SetResourceOwner(v string) *GatewayRouteRef { + s.ResourceOwner = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GatewayRouteRef) SetVersion(v int64) *GatewayRouteRef { + s.Version = &v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *GatewayRouteRef) SetVirtualGatewayName(v string) *GatewayRouteRef { + s.VirtualGatewayName = &v + return s +} + +// An object that represents a gateway route specification. Specify one gateway +// route type. +type GatewayRouteSpec struct { + _ struct{} `type:"structure"` + + // An object that represents a gRPC gateway route. + GrpcRoute *GrpcGatewayRoute `locationName:"grpcRoute" type:"structure"` + + // An object that represents an HTTP gateway route. + Http2Route *HttpGatewayRoute `locationName:"http2Route" type:"structure"` + + // An object that represents an HTTP gateway route. + HttpRoute *HttpGatewayRoute `locationName:"httpRoute" type:"structure"` +} + +// String returns the string representation +func (s GatewayRouteSpec) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GatewayRouteSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRoute) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"} - if s.Action == nil { - invalidParams.Add(request.NewErrParamRequired("Action")) - } - if s.Match == nil { - invalidParams.Add(request.NewErrParamRequired("Match")) - } - if s.Action != nil { - if err := s.Action.Validate(); err != nil { - invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) +func (s *GatewayRouteSpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GatewayRouteSpec"} + if s.GrpcRoute != nil { + if err := s.GrpcRoute.Validate(); err != nil { + invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) } } - if s.Match != nil { - if err := s.Match.Validate(); err != nil { - invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + if s.Http2Route != nil { + if err := s.Http2Route.Validate(); err != nil { + invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) } } - if s.RetryPolicy != nil { - if err := s.RetryPolicy.Validate(); err != nil { - invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) + if s.HttpRoute != nil { + if err := s.HttpRoute.Validate(); err != nil { + invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) } } @@ -5619,65 +7519,77 @@ func (s *GrpcRoute) Validate() error { return nil } -// SetAction sets the Action field's value. -func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute { - s.Action = v +// SetGrpcRoute sets the GrpcRoute field's value. +func (s *GatewayRouteSpec) SetGrpcRoute(v *GrpcGatewayRoute) *GatewayRouteSpec { + s.GrpcRoute = v return s } -// SetMatch sets the Match field's value. -func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute { - s.Match = v +// SetHttp2Route sets the Http2Route field's value. +func (s *GatewayRouteSpec) SetHttp2Route(v *HttpGatewayRoute) *GatewayRouteSpec { + s.Http2Route = v return s } -// SetRetryPolicy sets the RetryPolicy field's value. -func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute { - s.RetryPolicy = v +// SetHttpRoute sets the HttpRoute field's value. +func (s *GatewayRouteSpec) SetHttpRoute(v *HttpGatewayRoute) *GatewayRouteSpec { + s.HttpRoute = v return s } -// SetTimeout sets the Timeout field's value. -func (s *GrpcRoute) SetTimeout(v *GrpcTimeout) *GrpcRoute { - s.Timeout = v +// An object that represents the current status of a gateway route. +type GatewayRouteStatus struct { + _ struct{} `type:"structure"` + + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"GatewayRouteStatusCode"` +} + +// String returns the string representation +func (s GatewayRouteStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GatewayRouteStatus) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *GatewayRouteStatus) SetStatus(v string) *GatewayRouteStatus { + s.Status = &v return s } -// An object that represents the action to take if a match is determined. -type GrpcRouteAction struct { +// An object that represents a gateway route target. +type GatewayRouteTarget struct { _ struct{} `type:"structure"` - // WeightedTargets is a required field - WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` + // An object that represents the virtual service that traffic is routed to. + // + // VirtualService is a required field + VirtualService *GatewayRouteVirtualService `locationName:"virtualService" type:"structure" required:"true"` } // String returns the string representation -func (s GrpcRouteAction) String() string { +func (s GatewayRouteTarget) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRouteAction) GoString() string { +func (s GatewayRouteTarget) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRouteAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"} - if s.WeightedTargets == nil { - invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) - } - if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) +func (s *GatewayRouteTarget) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GatewayRouteTarget"} + if s.VirtualService == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualService")) } - if s.WeightedTargets != nil { - for i, v := range s.WeightedTargets { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) - } + if s.VirtualService != nil { + if err := s.VirtualService.Validate(); err != nil { + invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) } } @@ -5687,51 +7599,38 @@ func (s *GrpcRouteAction) Validate() error { return nil } -// SetWeightedTargets sets the WeightedTargets field's value. -func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction { - s.WeightedTargets = v +// SetVirtualService sets the VirtualService field's value. +func (s *GatewayRouteTarget) SetVirtualService(v *GatewayRouteVirtualService) *GatewayRouteTarget { + s.VirtualService = v return s } -// An object that represents the criteria for determining a request match. -type GrpcRouteMatch struct { +// An object that represents the virtual service that traffic is routed to. +type GatewayRouteVirtualService struct { _ struct{} `type:"structure"` - Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"` - - MethodName *string `locationName:"methodName" min:"1" type:"string"` - - ServiceName *string `locationName:"serviceName" type:"string"` + // VirtualServiceName is a required field + VirtualServiceName *string `locationName:"virtualServiceName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GrpcRouteMatch) String() string { +func (s GatewayRouteVirtualService) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRouteMatch) GoString() string { +func (s GatewayRouteVirtualService) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRouteMatch) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"} - if s.Metadata != nil && len(s.Metadata) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) - } - if s.MethodName != nil && len(*s.MethodName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MethodName", 1)) +func (s *GatewayRouteVirtualService) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GatewayRouteVirtualService"} + if s.VirtualServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) } - if s.Metadata != nil { - for i, v := range s.Metadata { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) - } - } + if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) } if invalidParams.Len() > 0 { @@ -5740,59 +7639,49 @@ func (s *GrpcRouteMatch) Validate() error { return nil } -// SetMetadata sets the Metadata field's value. -func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch { - s.Metadata = v +// SetVirtualServiceName sets the VirtualServiceName field's value. +func (s *GatewayRouteVirtualService) SetVirtualServiceName(v string) *GatewayRouteVirtualService { + s.VirtualServiceName = &v return s } -// SetMethodName sets the MethodName field's value. -func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch { - s.MethodName = &v - return s -} - -// SetServiceName sets the ServiceName field's value. -func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch { - s.ServiceName = &v - return s -} - -// An object that represents the match metadata for the route. -type GrpcRouteMetadata struct { +// An object that represents a gRPC gateway route. +type GrpcGatewayRoute struct { _ struct{} `type:"structure"` - Invert *bool `locationName:"invert" type:"boolean"` - - // An object that represents the match method. Specify one of the match values. - Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"` + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *GrpcGatewayRouteAction `locationName:"action" type:"structure" required:"true"` - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // An object that represents the criteria for determining a request match. + // + // Match is a required field + Match *GrpcGatewayRouteMatch `locationName:"match" type:"structure" required:"true"` } // String returns the string representation -func (s GrpcRouteMetadata) String() string { +func (s GrpcGatewayRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRouteMetadata) GoString() string { +func (s GrpcGatewayRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRouteMetadata) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *GrpcGatewayRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.Match == nil { + invalidParams.Add(request.NewErrParamRequired("Match")) } - if s.Match != nil { - if err := s.Match.Validate(); err != nil { - invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } @@ -5802,71 +7691,47 @@ func (s *GrpcRouteMetadata) Validate() error { return nil } -// SetInvert sets the Invert field's value. -func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata { - s.Invert = &v +// SetAction sets the Action field's value. +func (s *GrpcGatewayRoute) SetAction(v *GrpcGatewayRouteAction) *GrpcGatewayRoute { + s.Action = v return s } // SetMatch sets the Match field's value. -func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata { +func (s *GrpcGatewayRoute) SetMatch(v *GrpcGatewayRouteMatch) *GrpcGatewayRoute { s.Match = v return s } -// SetName sets the Name field's value. -func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata { - s.Name = &v - return s -} - -// An object that represents the match method. Specify one of the match values. -type GrpcRouteMetadataMatchMethod struct { +// An object that represents the action to take if a match is determined. +type GrpcGatewayRouteAction struct { _ struct{} `type:"structure"` - Exact *string `locationName:"exact" min:"1" type:"string"` - - Prefix *string `locationName:"prefix" min:"1" type:"string"` - - // An object that represents the range of values to match on. The first character - // of the range is included in the range, though the last character is not. - // For example, if the range specified were 1-100, only values 1-99 would be - // matched. - Range *MatchRange `locationName:"range" type:"structure"` - - Regex *string `locationName:"regex" min:"1" type:"string"` - - Suffix *string `locationName:"suffix" min:"1" type:"string"` + // An object that represents a gateway route target. + // + // Target is a required field + Target *GatewayRouteTarget `locationName:"target" type:"structure" required:"true"` } // String returns the string representation -func (s GrpcRouteMetadataMatchMethod) String() string { +func (s GrpcGatewayRouteAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRouteMetadataMatchMethod) GoString() string { +func (s GrpcGatewayRouteAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRouteMetadataMatchMethod) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"} - if s.Exact != nil && len(*s.Exact) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) - } - if s.Prefix != nil && len(*s.Prefix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) - } - if s.Regex != nil && len(*s.Regex) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) - } - if s.Suffix != nil && len(*s.Suffix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) - } - if s.Range != nil { - if err := s.Range.Validate(); err != nil { - invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) +func (s *GrpcGatewayRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRouteAction"} + if s.Target == nil { + invalidParams.Add(request.NewErrParamRequired("Target")) + } + if s.Target != nil { + if err := s.Target.Validate(); err != nil { + invalidParams.AddNested("Target", err.(request.ErrInvalidParams)) } } @@ -5876,117 +7741,83 @@ func (s *GrpcRouteMetadataMatchMethod) Validate() error { return nil } -// SetExact sets the Exact field's value. -func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod { - s.Exact = &v - return s -} - -// SetPrefix sets the Prefix field's value. -func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod { - s.Prefix = &v - return s -} - -// SetRange sets the Range field's value. -func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod { - s.Range = v - return s -} - -// SetRegex sets the Regex field's value. -func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod { - s.Regex = &v - return s -} - -// SetSuffix sets the Suffix field's value. -func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod { - s.Suffix = &v +// SetTarget sets the Target field's value. +func (s *GrpcGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *GrpcGatewayRouteAction { + s.Target = v return s } -type GrpcTimeout struct { +// An object that represents the criteria for determining a request match. +type GrpcGatewayRouteMatch struct { _ struct{} `type:"structure"` - // An object that represents a duration of time. - Idle *Duration `locationName:"idle" type:"structure"` - - // An object that represents a duration of time. - PerRequest *Duration `locationName:"perRequest" type:"structure"` + ServiceName *string `locationName:"serviceName" type:"string"` } // String returns the string representation -func (s GrpcTimeout) String() string { +func (s GrpcGatewayRouteMatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcTimeout) GoString() string { +func (s GrpcGatewayRouteMatch) GoString() string { return s.String() } -// SetIdle sets the Idle field's value. -func (s *GrpcTimeout) SetIdle(v *Duration) *GrpcTimeout { - s.Idle = v - return s -} - -// SetPerRequest sets the PerRequest field's value. -func (s *GrpcTimeout) SetPerRequest(v *Duration) *GrpcTimeout { - s.PerRequest = v +// SetServiceName sets the ServiceName field's value. +func (s *GrpcGatewayRouteMatch) SetServiceName(v string) *GrpcGatewayRouteMatch { + s.ServiceName = &v return s } -// An object that represents the method and value to match with the header value -// sent in a request. Specify one match method. -type HeaderMatchMethod struct { +// An object that represents a retry policy. Specify at least one value for +// at least one of the types of RetryEvents, a value for maxRetries, and a value +// for perRetryTimeout. +type GrpcRetryPolicy struct { _ struct{} `type:"structure"` - Exact *string `locationName:"exact" min:"1" type:"string"` + GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list"` - Prefix *string `locationName:"prefix" min:"1" type:"string"` + HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` - // An object that represents the range of values to match on. The first character - // of the range is included in the range, though the last character is not. - // For example, if the range specified were 1-100, only values 1-99 would be - // matched. - Range *MatchRange `locationName:"range" type:"structure"` + // MaxRetries is a required field + MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` - Regex *string `locationName:"regex" min:"1" type:"string"` + // An object that represents a duration of time. + // + // PerRetryTimeout is a required field + PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` - Suffix *string `locationName:"suffix" min:"1" type:"string"` + TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` } // String returns the string representation -func (s HeaderMatchMethod) String() string { +func (s GrpcRetryPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HeaderMatchMethod) GoString() string { +func (s GrpcRetryPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HeaderMatchMethod) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"} - if s.Exact != nil && len(*s.Exact) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) +func (s *GrpcRetryPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"} + if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1)) } - if s.Prefix != nil && len(*s.Prefix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) + if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) } - if s.Regex != nil && len(*s.Regex) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) + if s.MaxRetries == nil { + invalidParams.Add(request.NewErrParamRequired("MaxRetries")) } - if s.Suffix != nil && len(*s.Suffix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) + if s.PerRetryTimeout == nil { + invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) } - if s.Range != nil { - if err := s.Range.Validate(); err != nil { - invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) - } + if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) } if invalidParams.Len() > 0 { @@ -5995,263 +7826,72 @@ func (s *HeaderMatchMethod) Validate() error { return nil } -// SetExact sets the Exact field's value. -func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod { - s.Exact = &v +// SetGrpcRetryEvents sets the GrpcRetryEvents field's value. +func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy { + s.GrpcRetryEvents = v return s } -// SetPrefix sets the Prefix field's value. -func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod { - s.Prefix = &v +// SetHttpRetryEvents sets the HttpRetryEvents field's value. +func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy { + s.HttpRetryEvents = v return s } -// SetRange sets the Range field's value. -func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod { - s.Range = v +// SetMaxRetries sets the MaxRetries field's value. +func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy { + s.MaxRetries = &v return s } -// SetRegex sets the Regex field's value. -func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod { - s.Regex = &v +// SetPerRetryTimeout sets the PerRetryTimeout field's value. +func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy { + s.PerRetryTimeout = v return s } -// SetSuffix sets the Suffix field's value. -func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod { - s.Suffix = &v +// SetTcpRetryEvents sets the TcpRetryEvents field's value. +func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy { + s.TcpRetryEvents = v return s } -// An object that represents the health check policy for a virtual node's listener. -type HealthCheckPolicy struct { +// An object that represents a gRPC route type. +type GrpcRoute struct { _ struct{} `type:"structure"` - // HealthyThreshold is a required field - HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` - - // IntervalMillis is a required field - IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` - - Path *string `locationName:"path" type:"string"` - - Port *int64 `locationName:"port" min:"1" type:"integer"` + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"` - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` + // An object that represents the criteria for determining a request match. + // + // Match is a required field + Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"` - // TimeoutMillis is a required field - TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` + // An object that represents a retry policy. Specify at least one value for + // at least one of the types of RetryEvents, a value for maxRetries, and a value + // for perRetryTimeout. + RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"` - // UnhealthyThreshold is a required field - UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` + // An object that represents types of timeouts. + Timeout *GrpcTimeout `locationName:"timeout" type:"structure"` } // String returns the string representation -func (s HealthCheckPolicy) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s HealthCheckPolicy) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *HealthCheckPolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} - if s.HealthyThreshold == nil { - invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) - } - if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { - invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) - } - if s.IntervalMillis == nil { - invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) - } - if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { - invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) - } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) - } - if s.TimeoutMillis == nil { - invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) - } - if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { - invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) - } - if s.UnhealthyThreshold == nil { - invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) - } - if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { - invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetHealthyThreshold sets the HealthyThreshold field's value. -func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { - s.HealthyThreshold = &v - return s -} - -// SetIntervalMillis sets the IntervalMillis field's value. -func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { - s.IntervalMillis = &v - return s -} - -// SetPath sets the Path field's value. -func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { - s.Path = &v - return s -} - -// SetPort sets the Port field's value. -func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { - s.Port = &v - return s -} - -// SetProtocol sets the Protocol field's value. -func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { - s.Protocol = &v - return s -} - -// SetTimeoutMillis sets the TimeoutMillis field's value. -func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { - s.TimeoutMillis = &v - return s -} - -// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. -func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { - s.UnhealthyThreshold = &v - return s -} - -// An object that represents a retry policy. Specify at least one value for -// at least one of the types of RetryEvents, a value for maxRetries, and a value -// for perRetryTimeout. -type HttpRetryPolicy struct { - _ struct{} `type:"structure"` - - HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` - - // MaxRetries is a required field - MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` - - // An object that represents a duration of time. - // - // PerRetryTimeout is a required field - PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` - - TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` -} - -// String returns the string representation -func (s HttpRetryPolicy) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s HttpRetryPolicy) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRetryPolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRetryPolicy"} - if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) - } - if s.MaxRetries == nil { - invalidParams.Add(request.NewErrParamRequired("MaxRetries")) - } - if s.PerRetryTimeout == nil { - invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) - } - if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetHttpRetryEvents sets the HttpRetryEvents field's value. -func (s *HttpRetryPolicy) SetHttpRetryEvents(v []*string) *HttpRetryPolicy { - s.HttpRetryEvents = v - return s -} - -// SetMaxRetries sets the MaxRetries field's value. -func (s *HttpRetryPolicy) SetMaxRetries(v int64) *HttpRetryPolicy { - s.MaxRetries = &v - return s -} - -// SetPerRetryTimeout sets the PerRetryTimeout field's value. -func (s *HttpRetryPolicy) SetPerRetryTimeout(v *Duration) *HttpRetryPolicy { - s.PerRetryTimeout = v - return s -} - -// SetTcpRetryEvents sets the TcpRetryEvents field's value. -func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy { - s.TcpRetryEvents = v - return s -} - -// An object that represents an HTTP or HTTP/2 route type. -type HttpRoute struct { - _ struct{} `type:"structure"` - - // An object that represents the action to take if a match is determined. - // - // Action is a required field - Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` - - // An object that represents the requirements for a route to match HTTP requests - // for a virtual router. - // - // Match is a required field - Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` - - // An object that represents a retry policy. Specify at least one value for - // at least one of the types of RetryEvents, a value for maxRetries, and a value - // for perRetryTimeout. - RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"` - - Timeout *HttpTimeout `locationName:"timeout" type:"structure"` -} - -// String returns the string representation -func (s HttpRoute) String() string { +func (s GrpcRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRoute) GoString() string { +func (s GrpcRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRoute) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} +func (s *GrpcRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"} if s.Action == nil { invalidParams.Add(request.NewErrParamRequired("Action")) } @@ -6281,31 +7921,31 @@ func (s *HttpRoute) Validate() error { } // SetAction sets the Action field's value. -func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { +func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute { s.Action = v return s } // SetMatch sets the Match field's value. -func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { +func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute { s.Match = v return s } // SetRetryPolicy sets the RetryPolicy field's value. -func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute { +func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute { s.RetryPolicy = v return s } // SetTimeout sets the Timeout field's value. -func (s *HttpRoute) SetTimeout(v *HttpTimeout) *HttpRoute { +func (s *GrpcRoute) SetTimeout(v *GrpcTimeout) *GrpcRoute { s.Timeout = v return s } // An object that represents the action to take if a match is determined. -type HttpRouteAction struct { +type GrpcRouteAction struct { _ struct{} `type:"structure"` // WeightedTargets is a required field @@ -6313,18 +7953,18 @@ type HttpRouteAction struct { } // String returns the string representation -func (s HttpRouteAction) String() string { +func (s GrpcRouteAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRouteAction) GoString() string { +func (s GrpcRouteAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRouteAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} +func (s *GrpcRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"} if s.WeightedTargets == nil { invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) } @@ -6349,116 +7989,185 @@ func (s *HttpRouteAction) Validate() error { } // SetWeightedTargets sets the WeightedTargets field's value. -func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { +func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction { s.WeightedTargets = v return s } -// An object that represents the HTTP header in the request. -type HttpRouteHeader struct { +// An object that represents the criteria for determining a request match. +type GrpcRouteMatch struct { _ struct{} `type:"structure"` - Invert *bool `locationName:"invert" type:"boolean"` + Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"` - // An object that represents the method and value to match with the header value - // sent in a request. Specify one match method. - Match *HeaderMatchMethod `locationName:"match" type:"structure"` + MethodName *string `locationName:"methodName" min:"1" type:"string"` - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + ServiceName *string `locationName:"serviceName" type:"string"` } // String returns the string representation -func (s HttpRouteHeader) String() string { +func (s GrpcRouteMatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRouteHeader) GoString() string { +func (s GrpcRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRouteHeader) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Match != nil { - if err := s.Match.Validate(); err != nil { - invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) - } +func (s *GrpcRouteMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"} + if s.Metadata != nil && len(s.Metadata) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) } - - if invalidParams.Len() > 0 { - return invalidParams + if s.MethodName != nil && len(*s.MethodName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MethodName", 1)) + } + if s.Metadata != nil { + for i, v := range s.Metadata { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetadata sets the Metadata field's value. +func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch { + s.Metadata = v + return s +} + +// SetMethodName sets the MethodName field's value. +func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch { + s.MethodName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch { + s.ServiceName = &v + return s +} + +// An object that represents the match metadata for the route. +type GrpcRouteMetadata struct { + _ struct{} `type:"structure"` + + Invert *bool `locationName:"invert" type:"boolean"` + + // An object that represents the match method. Specify one of the match values. + Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"` + + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GrpcRouteMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrpcRouteMetadata) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrpcRouteMetadata) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams } return nil } // SetInvert sets the Invert field's value. -func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader { +func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata { s.Invert = &v return s } // SetMatch sets the Match field's value. -func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader { +func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata { s.Match = v return s } // SetName sets the Name field's value. -func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader { +func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata { s.Name = &v return s } -// An object that represents the requirements for a route to match HTTP requests -// for a virtual router. -type HttpRouteMatch struct { +// An object that represents the match method. Specify one of the match values. +type GrpcRouteMetadataMatchMethod struct { _ struct{} `type:"structure"` - Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"` + Exact *string `locationName:"exact" min:"1" type:"string"` - Method *string `locationName:"method" type:"string" enum:"HttpMethod"` + Prefix *string `locationName:"prefix" min:"1" type:"string"` - // Prefix is a required field - Prefix *string `locationName:"prefix" type:"string" required:"true"` + // An object that represents the range of values to match on. The first character + // of the range is included in the range, though the last character is not. + // For example, if the range specified were 1-100, only values 1-99 would be + // matched. + Range *MatchRange `locationName:"range" type:"structure"` - Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"` + Regex *string `locationName:"regex" min:"1" type:"string"` + + Suffix *string `locationName:"suffix" min:"1" type:"string"` } // String returns the string representation -func (s HttpRouteMatch) String() string { +func (s GrpcRouteMetadataMatchMethod) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRouteMatch) GoString() string { +func (s GrpcRouteMetadataMatchMethod) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRouteMatch) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} - if s.Headers != nil && len(s.Headers) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) +func (s *GrpcRouteMetadataMatchMethod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"} + if s.Exact != nil && len(*s.Exact) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } - if s.Prefix == nil { - invalidParams.Add(request.NewErrParamRequired("Prefix")) + if s.Prefix != nil && len(*s.Prefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) } - if s.Headers != nil { - for i, v := range s.Headers { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) - } + if s.Regex != nil && len(*s.Regex) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) + } + if s.Suffix != nil && len(*s.Suffix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) + } + if s.Range != nil { + if err := s.Range.Validate(); err != nil { + invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) } } @@ -6468,31 +8177,38 @@ func (s *HttpRouteMatch) Validate() error { return nil } -// SetHeaders sets the Headers field's value. -func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch { - s.Headers = v +// SetExact sets the Exact field's value. +func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod { + s.Exact = &v return s } -// SetMethod sets the Method field's value. -func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch { - s.Method = &v +// SetPrefix sets the Prefix field's value. +func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod { + s.Prefix = &v return s } -// SetPrefix sets the Prefix field's value. -func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { - s.Prefix = &v +// SetRange sets the Range field's value. +func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod { + s.Range = v return s } -// SetScheme sets the Scheme field's value. -func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch { - s.Scheme = &v +// SetRegex sets the Regex field's value. +func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod { + s.Regex = &v return s } -type HttpTimeout struct { +// SetSuffix sets the Suffix field's value. +func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod { + s.Suffix = &v + return s +} + +// An object that represents types of timeouts. +type GrpcTimeout struct { _ struct{} `type:"structure"` // An object that represents a duration of time. @@ -6503,165 +8219,273 @@ type HttpTimeout struct { } // String returns the string representation -func (s HttpTimeout) String() string { +func (s GrpcTimeout) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpTimeout) GoString() string { +func (s GrpcTimeout) GoString() string { return s.String() } // SetIdle sets the Idle field's value. -func (s *HttpTimeout) SetIdle(v *Duration) *HttpTimeout { +func (s *GrpcTimeout) SetIdle(v *Duration) *GrpcTimeout { s.Idle = v return s } // SetPerRequest sets the PerRequest field's value. -func (s *HttpTimeout) SetPerRequest(v *Duration) *HttpTimeout { +func (s *GrpcTimeout) SetPerRequest(v *Duration) *GrpcTimeout { s.PerRequest = v return s } -// The request processing has failed because of an unknown error, exception, -// or failure. -type InternalServerErrorException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// An object that represents the method and value to match with the header value +// sent in a request. Specify one match method. +type HeaderMatchMethod struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + Exact *string `locationName:"exact" min:"1" type:"string"` + + Prefix *string `locationName:"prefix" min:"1" type:"string"` + + // An object that represents the range of values to match on. The first character + // of the range is included in the range, though the last character is not. + // For example, if the range specified were 1-100, only values 1-99 would be + // matched. + Range *MatchRange `locationName:"range" type:"structure"` + + Regex *string `locationName:"regex" min:"1" type:"string"` + + Suffix *string `locationName:"suffix" min:"1" type:"string"` } // String returns the string representation -func (s InternalServerErrorException) String() string { +func (s HeaderMatchMethod) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InternalServerErrorException) GoString() string { +func (s HeaderMatchMethod) GoString() string { return s.String() } -func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { - return &InternalServerErrorException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *HeaderMatchMethod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"} + if s.Exact != nil && len(*s.Exact) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } -} - -// Code returns the exception type name. -func (s *InternalServerErrorException) Code() string { - return "InternalServerErrorException" -} - -// Message returns the exception's message. -func (s *InternalServerErrorException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Prefix != nil && len(*s.Prefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) + } + if s.Regex != nil && len(*s.Regex) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) + } + if s.Suffix != nil && len(*s.Suffix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) + } + if s.Range != nil { + if err := s.Range.Validate(); err != nil { + invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServerErrorException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InternalServerErrorException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetExact sets the Exact field's value. +func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod { + s.Exact = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServerErrorException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetPrefix sets the Prefix field's value. +func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod { + s.Prefix = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalServerErrorException) RequestID() string { - return s.RespMetadata.RequestID +// SetRange sets the Range field's value. +func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod { + s.Range = v + return s } -// You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) -// in the AWS App Mesh User Guide. -type LimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetRegex sets the Regex field's value. +func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod { + s.Regex = &v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetSuffix sets the Suffix field's value. +func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod { + s.Suffix = &v + return s +} + +// An object that represents the health check policy for a virtual node's listener. +type HealthCheckPolicy struct { + _ struct{} `type:"structure"` + + // HealthyThreshold is a required field + HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` + + // IntervalMillis is a required field + IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` + + Path *string `locationName:"path" type:"string"` + + Port *int64 `locationName:"port" min:"1" type:"integer"` + + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` + + // TimeoutMillis is a required field + TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` + + // UnhealthyThreshold is a required field + UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` } // String returns the string representation -func (s LimitExceededException) String() string { +func (s HealthCheckPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LimitExceededException) GoString() string { +func (s HealthCheckPolicy) GoString() string { return s.String() } -func newErrorLimitExceededException(v protocol.ResponseMetadata) error { - return &LimitExceededException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *HealthCheckPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} + if s.HealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) + } + if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) + } + if s.IntervalMillis == nil { + invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) + } + if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { + invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.TimeoutMillis == nil { + invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) + } + if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) + } + if s.UnhealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) + } + if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *LimitExceededException) Code() string { - return "LimitExceededException" +// SetHealthyThreshold sets the HealthyThreshold field's value. +func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { + s.HealthyThreshold = &v + return s } -// Message returns the exception's message. -func (s *LimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetIntervalMillis sets the IntervalMillis field's value. +func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { + s.IntervalMillis = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil +// SetPath sets the Path field's value. +func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { + s.Path = &v + return s } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetPort sets the Port field's value. +func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { + s.Port = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetProtocol sets the Protocol field's value. +func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { + s.Protocol = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetTimeoutMillis sets the TimeoutMillis field's value. +func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { + s.TimeoutMillis = &v + return s } -type ListMeshesInput struct { +// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. +func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { + s.UnhealthyThreshold = &v + return s +} + +// An object that represents an HTTP gateway route. +type HttpGatewayRoute struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *HttpGatewayRouteAction `locationName:"action" type:"structure" required:"true"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // An object that represents the criteria for determining a request match. + // + // Match is a required field + Match *HttpGatewayRouteMatch `locationName:"match" type:"structure" required:"true"` } // String returns the string representation -func (s ListMeshesInput) String() string { +func (s HttpGatewayRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListMeshesInput) GoString() string { +func (s HttpGatewayRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListMeshesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) +func (s *HttpGatewayRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Match == nil { + invalidParams.Add(request.NewErrParamRequired("Match")) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6670,95 +8494,85 @@ func (s *ListMeshesInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { - s.Limit = &v +// SetAction sets the Action field's value. +func (s *HttpGatewayRoute) SetAction(v *HttpGatewayRouteAction) *HttpGatewayRoute { + s.Action = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { - s.NextToken = &v +// SetMatch sets the Match field's value. +func (s *HttpGatewayRoute) SetMatch(v *HttpGatewayRouteMatch) *HttpGatewayRoute { + s.Match = v return s } -type ListMeshesOutput struct { +// An object that represents the action to take if a match is determined. +type HttpGatewayRouteAction struct { _ struct{} `type:"structure"` - // Meshes is a required field - Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` - - NextToken *string `locationName:"nextToken" type:"string"` + // An object that represents a gateway route target. + // + // Target is a required field + Target *GatewayRouteTarget `locationName:"target" type:"structure" required:"true"` } // String returns the string representation -func (s ListMeshesOutput) String() string { +func (s HttpGatewayRouteAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListMeshesOutput) GoString() string { +func (s HttpGatewayRouteAction) GoString() string { return s.String() } -// SetMeshes sets the Meshes field's value. -func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { - s.Meshes = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpGatewayRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteAction"} + if s.Target == nil { + invalidParams.Add(request.NewErrParamRequired("Target")) + } + if s.Target != nil { + if err := s.Target.Validate(); err != nil { + invalidParams.AddNested("Target", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { - s.NextToken = &v +// SetTarget sets the Target field's value. +func (s *HttpGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *HttpGatewayRouteAction { + s.Target = v return s } -type ListRoutesInput struct { +// An object that represents the criteria for determining a request match. +type HttpGatewayRouteMatch struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // Prefix is a required field + Prefix *string `locationName:"prefix" type:"string" required:"true"` } // String returns the string representation -func (s ListRoutesInput) String() string { +func (s HttpGatewayRouteMatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListRoutesInput) GoString() string { +func (s HttpGatewayRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListRoutesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) - } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) - } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) +func (s *HttpGatewayRouteMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteMatch"} + if s.Prefix == nil { + invalidParams.Add(request.NewErrParamRequired("Prefix")) } if invalidParams.Len() > 0 { @@ -6767,96 +8581,144 @@ func (s *ListRoutesInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { - s.Limit = &v +// SetPrefix sets the Prefix field's value. +func (s *HttpGatewayRouteMatch) SetPrefix(v string) *HttpGatewayRouteMatch { + s.Prefix = &v return s } -// SetMeshName sets the MeshName field's value. -func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { - s.MeshName = &v - return s -} +// An object that represents a retry policy. Specify at least one value for +// at least one of the types of RetryEvents, a value for maxRetries, and a value +// for perRetryTimeout. +type HttpRetryPolicy struct { + _ struct{} `type:"structure"` -// SetMeshOwner sets the MeshOwner field's value. -func (s *ListRoutesInput) SetMeshOwner(v string) *ListRoutesInput { - s.MeshOwner = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { - s.NextToken = &v - return s -} - -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { - s.VirtualRouterName = &v - return s -} + HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` -type ListRoutesOutput struct { - _ struct{} `type:"structure"` + // MaxRetries is a required field + MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` - NextToken *string `locationName:"nextToken" type:"string"` + // An object that represents a duration of time. + // + // PerRetryTimeout is a required field + PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` - // Routes is a required field - Routes []*RouteRef `locationName:"routes" type:"list" required:"true"` + TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` } // String returns the string representation -func (s ListRoutesOutput) String() string { +func (s HttpRetryPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListRoutesOutput) GoString() string { +func (s HttpRetryPolicy) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { - s.NextToken = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpRetryPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRetryPolicy"} + if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) + } + if s.MaxRetries == nil { + invalidParams.Add(request.NewErrParamRequired("MaxRetries")) + } + if s.PerRetryTimeout == nil { + invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) + } + if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHttpRetryEvents sets the HttpRetryEvents field's value. +func (s *HttpRetryPolicy) SetHttpRetryEvents(v []*string) *HttpRetryPolicy { + s.HttpRetryEvents = v return s } -// SetRoutes sets the Routes field's value. -func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { - s.Routes = v +// SetMaxRetries sets the MaxRetries field's value. +func (s *HttpRetryPolicy) SetMaxRetries(v int64) *HttpRetryPolicy { + s.MaxRetries = &v return s } -type ListTagsForResourceInput struct { +// SetPerRetryTimeout sets the PerRetryTimeout field's value. +func (s *HttpRetryPolicy) SetPerRetryTimeout(v *Duration) *HttpRetryPolicy { + s.PerRetryTimeout = v + return s +} + +// SetTcpRetryEvents sets the TcpRetryEvents field's value. +func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy { + s.TcpRetryEvents = v + return s +} + +// An object that represents an HTTP or HTTP/2 route type. +type HttpRoute struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // An object that represents the requirements for a route to match HTTP requests + // for a virtual router. + // + // Match is a required field + Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` - // ResourceArn is a required field - ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` + // An object that represents a retry policy. Specify at least one value for + // at least one of the types of RetryEvents, a value for maxRetries, and a value + // for perRetryTimeout. + RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"` + + // An object that represents types of timeouts. + Timeout *HttpTimeout `locationName:"timeout" type:"structure"` } // String returns the string representation -func (s ListTagsForResourceInput) String() string { +func (s HttpRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { +func (s HttpRoute) 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.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) +func (s *HttpRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + if s.Match == nil { + invalidParams.Add(request.NewErrParamRequired("Match")) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } + } + if s.RetryPolicy != nil { + if err := s.RetryPolicy.Validate(); err != nil { + invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6865,92 +8727,117 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { - s.Limit = &v +// SetAction sets the Action field's value. +func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { + s.Action = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { - s.NextToken = &v +// SetMatch sets the Match field's value. +func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { + s.Match = v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetRetryPolicy sets the RetryPolicy field's value. +func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute { + s.RetryPolicy = v return s } -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure"` +// SetTimeout sets the Timeout field's value. +func (s *HttpRoute) SetTimeout(v *HttpTimeout) *HttpRoute { + s.Timeout = v + return s +} - NextToken *string `locationName:"nextToken" type:"string"` +// An object that represents the action to take if a match is determined. +type HttpRouteAction struct { + _ struct{} `type:"structure"` - // Tags is a required field - Tags []*TagRef `locationName:"tags" type:"list" required:"true"` + // WeightedTargets is a required field + WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` } // String returns the string representation -func (s ListTagsForResourceOutput) String() string { +func (s HttpRouteAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceOutput) GoString() string { +func (s HttpRouteAction) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { - s.NextToken = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} + if s.WeightedTargets == nil { + invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) + } + if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) + } + if s.WeightedTargets != nil { + for i, v := range s.WeightedTargets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput { - s.Tags = v +// SetWeightedTargets sets the WeightedTargets field's value. +func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { + s.WeightedTargets = v return s } -type ListVirtualNodesInput struct { +// An object that represents the HTTP header in the request. +type HttpRouteHeader struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + Invert *bool `locationName:"invert" type:"boolean"` - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + // An object that represents the method and value to match with the header value + // sent in a request. Specify one match method. + Match *HeaderMatchMethod `locationName:"match" type:"structure"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListVirtualNodesInput) String() string { +func (s HttpRouteHeader) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualNodesInput) GoString() string { +func (s HttpRouteHeader) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListVirtualNodesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) +func (s *HttpRouteHeader) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6959,162 +8846,248 @@ func (s *ListVirtualNodesInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { - s.Limit = &v +// SetInvert sets the Invert field's value. +func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader { + s.Invert = &v return s } -// SetMeshName sets the MeshName field's value. -func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { - s.MeshName = &v +// SetMatch sets the Match field's value. +func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader { + s.Match = v return s } -// SetMeshOwner sets the MeshOwner field's value. -func (s *ListVirtualNodesInput) SetMeshOwner(v string) *ListVirtualNodesInput { - s.MeshOwner = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader { + s.Name = &v return s } -type ListVirtualNodesOutput struct { +// An object that represents the requirements for a route to match HTTP requests +// for a virtual router. +type HttpRouteMatch struct { _ struct{} `type:"structure"` - NextToken *string `locationName:"nextToken" type:"string"` + Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"` - // VirtualNodes is a required field - VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"` + Method *string `locationName:"method" type:"string" enum:"HttpMethod"` + + // Prefix is a required field + Prefix *string `locationName:"prefix" type:"string" required:"true"` + + Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"` } // String returns the string representation -func (s ListVirtualNodesOutput) String() string { +func (s HttpRouteMatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualNodesOutput) GoString() string { +func (s HttpRouteMatch) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { - s.NextToken = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpRouteMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} + if s.Headers != nil && len(s.Headers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) + } + if s.Prefix == nil { + invalidParams.Add(request.NewErrParamRequired("Prefix")) + } + if s.Headers != nil { + for i, v := range s.Headers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHeaders sets the Headers field's value. +func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch { + s.Headers = v return s } -// SetVirtualNodes sets the VirtualNodes field's value. -func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { - s.VirtualNodes = v +// SetMethod sets the Method field's value. +func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch { + s.Method = &v return s } -type ListVirtualRoutersInput struct { +// SetPrefix sets the Prefix field's value. +func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { + s.Prefix = &v + return s +} + +// SetScheme sets the Scheme field's value. +func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch { + s.Scheme = &v + return s +} + +// An object that represents types of timeouts. +type HttpTimeout struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + // An object that represents a duration of time. + Idle *Duration `locationName:"idle" type:"structure"` - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + // An object that represents a duration of time. + PerRequest *Duration `locationName:"perRequest" type:"structure"` +} - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` +// String returns the string representation +func (s HttpTimeout) String() string { + return awsutil.Prettify(s) +} - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +// GoString returns the string representation +func (s HttpTimeout) GoString() string { + return s.String() +} + +// SetIdle sets the Idle field's value. +func (s *HttpTimeout) SetIdle(v *Duration) *HttpTimeout { + s.Idle = v + return s +} + +// SetPerRequest sets the PerRequest field's value. +func (s *HttpTimeout) SetPerRequest(v *Duration) *HttpTimeout { + s.PerRequest = v + return s +} + +// The request processing has failed because of an unknown error, exception, +// or failure. +type InternalServerErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s ListVirtualRoutersInput) String() string { +func (s InternalServerErrorException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualRoutersInput) GoString() string { +func (s InternalServerErrorException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListVirtualRoutersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) +func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { + return &InternalServerErrorException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// Code returns the exception type name. +func (s *InternalServerErrorException) Code() string { + return "InternalServerErrorException" } -// SetLimit sets the Limit field's value. -func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { - s.Limit = &v - return s +// Message returns the exception's message. +func (s *InternalServerErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetMeshName sets the MeshName field's value. -func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { - s.MeshName = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerErrorException) OrigErr() error { + return nil } -// SetMeshOwner sets the MeshOwner field's value. -func (s *ListVirtualRoutersInput) SetMeshOwner(v string) *ListVirtualRoutersInput { - s.MeshOwner = &v - return s +func (s *InternalServerErrorException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { - s.NextToken = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerErrorException) StatusCode() int { + return s.RespMetadata.StatusCode } -type ListVirtualRoutersOutput struct { - _ struct{} `type:"structure"` +// RequestID returns the service's response RequestID for request. +func (s *InternalServerErrorException) RequestID() string { + return s.RespMetadata.RequestID +} - NextToken *string `locationName:"nextToken" type:"string"` +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // VirtualRouters is a required field - VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s ListVirtualRoutersOutput) String() string { +func (s LimitExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualRoutersOutput) GoString() string { +func (s LimitExceededException) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { - s.NextToken = &v - return s +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } } -// SetVirtualRouters sets the VirtualRouters field's value. -func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { - s.VirtualRouters = v - return s +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" } -type ListVirtualServicesInput struct { +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListGatewayRoutesInput struct { _ struct{} `type:"structure"` Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` @@ -7125,21 +9098,24 @@ type ListVirtualServicesInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListVirtualServicesInput) String() string { +func (s ListGatewayRoutesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualServicesInput) GoString() string { +func (s ListGatewayRoutesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListVirtualServicesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} +func (s *ListGatewayRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGatewayRoutesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } @@ -7152,6 +9128,12 @@ func (s *ListVirtualServicesInput) Validate() error { if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -7160,109 +9142,89 @@ func (s *ListVirtualServicesInput) Validate() error { } // SetLimit sets the Limit field's value. -func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { +func (s *ListGatewayRoutesInput) SetLimit(v int64) *ListGatewayRoutesInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. -func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { +func (s *ListGatewayRoutesInput) SetMeshName(v string) *ListGatewayRoutesInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *ListVirtualServicesInput) SetMeshOwner(v string) *ListVirtualServicesInput { +func (s *ListGatewayRoutesInput) SetMeshOwner(v string) *ListGatewayRoutesInput { s.MeshOwner = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { +func (s *ListGatewayRoutesInput) SetNextToken(v string) *ListGatewayRoutesInput { s.NextToken = &v return s } -type ListVirtualServicesOutput struct { - _ struct{} `type:"structure"` - - NextToken *string `locationName:"nextToken" type:"string"` +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *ListGatewayRoutesInput) SetVirtualGatewayName(v string) *ListGatewayRoutesInput { + s.VirtualGatewayName = &v + return s +} - // VirtualServices is a required field - VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"` +type ListGatewayRoutesOutput struct { + _ struct{} `type:"structure"` + + // GatewayRoutes is a required field + GatewayRoutes []*GatewayRouteRef `locationName:"gatewayRoutes" type:"list" required:"true"` + + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s ListVirtualServicesOutput) String() string { +func (s ListGatewayRoutesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualServicesOutput) GoString() string { +func (s ListGatewayRoutesOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { - s.NextToken = &v +// SetGatewayRoutes sets the GatewayRoutes field's value. +func (s *ListGatewayRoutesOutput) SetGatewayRoutes(v []*GatewayRouteRef) *ListGatewayRoutesOutput { + s.GatewayRoutes = v return s } -// SetVirtualServices sets the VirtualServices field's value. -func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { - s.VirtualServices = v +// SetNextToken sets the NextToken field's value. +func (s *ListGatewayRoutesOutput) SetNextToken(v string) *ListGatewayRoutesOutput { + s.NextToken = &v return s } -// An object that represents a listener for a virtual node. -type Listener struct { +type ListMeshesInput struct { _ struct{} `type:"structure"` - // An object that represents the health check policy for a virtual node's listener. - HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` - - // An object that represents a port mapping. - // - // PortMapping is a required field - PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` - - Timeout *ListenerTimeout `locationName:"timeout" type:"structure"` + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // An object that represents the Transport Layer Security (TLS) properties for - // a listener. - Tls *ListenerTls `locationName:"tls" type:"structure"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s Listener) String() string { +func (s ListMeshesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Listener) GoString() string { +func (s ListMeshesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Listener) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Listener"} - if s.PortMapping == nil { - invalidParams.Add(request.NewErrParamRequired("PortMapping")) - } - if s.HealthCheck != nil { - if err := s.HealthCheck.Validate(); err != nil { - invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) - } - } - if s.PortMapping != nil { - if err := s.PortMapping.Validate(); err != nil { - invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) - } - } - if s.Tls != nil { - if err := s.Tls.Validate(); err != nil { - invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) - } +func (s *ListMeshesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if invalidParams.Len() > 0 { @@ -7271,113 +9233,95 @@ func (s *Listener) Validate() error { return nil } -// SetHealthCheck sets the HealthCheck field's value. -func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { - s.HealthCheck = v - return s -} - -// SetPortMapping sets the PortMapping field's value. -func (s *Listener) SetPortMapping(v *PortMapping) *Listener { - s.PortMapping = v - return s -} - -// SetTimeout sets the Timeout field's value. -func (s *Listener) SetTimeout(v *ListenerTimeout) *Listener { - s.Timeout = v +// SetLimit sets the Limit field's value. +func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { + s.Limit = &v return s } -// SetTls sets the Tls field's value. -func (s *Listener) SetTls(v *ListenerTls) *Listener { - s.Tls = v +// SetNextToken sets the NextToken field's value. +func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { + s.NextToken = &v return s } -type ListenerTimeout struct { +type ListMeshesOutput struct { _ struct{} `type:"structure"` - Grpc *GrpcTimeout `locationName:"grpc" type:"structure"` - - Http *HttpTimeout `locationName:"http" type:"structure"` - - Http2 *HttpTimeout `locationName:"http2" type:"structure"` + // Meshes is a required field + Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` - Tcp *TcpTimeout `locationName:"tcp" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s ListenerTimeout) String() string { +func (s ListMeshesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListenerTimeout) GoString() string { +func (s ListMeshesOutput) GoString() string { return s.String() } -// SetGrpc sets the Grpc field's value. -func (s *ListenerTimeout) SetGrpc(v *GrpcTimeout) *ListenerTimeout { - s.Grpc = v +// SetMeshes sets the Meshes field's value. +func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { + s.Meshes = v return s } -// SetHttp sets the Http field's value. -func (s *ListenerTimeout) SetHttp(v *HttpTimeout) *ListenerTimeout { - s.Http = v +// SetNextToken sets the NextToken field's value. +func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { + s.NextToken = &v return s } -// SetHttp2 sets the Http2 field's value. -func (s *ListenerTimeout) SetHttp2(v *HttpTimeout) *ListenerTimeout { - s.Http2 = v - return s -} +type ListRoutesInput struct { + _ struct{} `type:"structure"` -// SetTcp sets the Tcp field's value. -func (s *ListenerTimeout) SetTcp(v *TcpTimeout) *ListenerTimeout { - s.Tcp = v - return s -} + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` -// An object that represents the Transport Layer Security (TLS) properties for -// a listener. -type ListenerTls struct { - _ struct{} `type:"structure"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object that represents a listener's Transport Layer Security (TLS) certificate. - // - // Certificate is a required field - Certificate *ListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // Mode is a required field - Mode *string `locationName:"mode" type:"string" required:"true" enum:"ListenerTlsMode"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // VirtualRouterName is a required field + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListenerTls) String() string { +func (s ListRoutesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListenerTls) GoString() string { +func (s ListRoutesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListenerTls) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListenerTls"} - if s.Certificate == nil { - invalidParams.Add(request.NewErrParamRequired("Certificate")) +func (s *ListRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } - if s.Mode == nil { - invalidParams.Add(request.NewErrParamRequired("Mode")) + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) } - if s.Certificate != nil { - if err := s.Certificate.Validate(); err != nil { - invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) - } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if invalidParams.Len() > 0 { @@ -7386,90 +9330,96 @@ func (s *ListenerTls) Validate() error { return nil } -// SetCertificate sets the Certificate field's value. -func (s *ListenerTls) SetCertificate(v *ListenerTlsCertificate) *ListenerTls { - s.Certificate = v +// SetLimit sets the Limit field's value. +func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { + s.Limit = &v return s } -// SetMode sets the Mode field's value. -func (s *ListenerTls) SetMode(v string) *ListenerTls { - s.Mode = &v +// SetMeshName sets the MeshName field's value. +func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { + s.MeshName = &v return s } -// An object that represents an AWS Certicate Manager (ACM) certificate. -type ListenerTlsAcmCertificate struct { +// SetMeshOwner sets the MeshOwner field's value. +func (s *ListRoutesInput) SetMeshOwner(v string) *ListRoutesInput { + s.MeshOwner = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { + s.NextToken = &v + return s +} + +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { + s.VirtualRouterName = &v + return s +} + +type ListRoutesOutput struct { _ struct{} `type:"structure"` - // CertificateArn is a required field - CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"` + NextToken *string `locationName:"nextToken" type:"string"` + + // Routes is a required field + Routes []*RouteRef `locationName:"routes" type:"list" required:"true"` } // String returns the string representation -func (s ListenerTlsAcmCertificate) String() string { +func (s ListRoutesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListenerTlsAcmCertificate) GoString() string { +func (s ListRoutesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListenerTlsAcmCertificate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListenerTlsAcmCertificate"} - if s.CertificateArn == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { + s.NextToken = &v + return s } -// SetCertificateArn sets the CertificateArn field's value. -func (s *ListenerTlsAcmCertificate) SetCertificateArn(v string) *ListenerTlsAcmCertificate { - s.CertificateArn = &v +// SetRoutes sets the Routes field's value. +func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { + s.Routes = v return s } -// An object that represents a listener's Transport Layer Security (TLS) certificate. -type ListenerTlsCertificate struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // An object that represents an AWS Certicate Manager (ACM) certificate. - Acm *ListenerTlsAcmCertificate `locationName:"acm" type:"structure"` + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // An object that represents a local file certificate. The certificate must - // meet specific requirements and you must have proxy authorization enabled. - // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). - File *ListenerTlsFileCertificate `locationName:"file" type:"structure"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` } // String returns the string representation -func (s ListenerTlsCertificate) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListenerTlsCertificate) 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 *ListenerTlsCertificate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListenerTlsCertificate"} - if s.Acm != nil { - if err := s.Acm.Validate(); err != nil { - invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) - } +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } - if s.File != nil { - if err := s.File.Validate(); err != nil { - invalidParams.AddNested("File", err.(request.ErrInvalidParams)) - } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if invalidParams.Len() > 0 { @@ -7478,55 +9428,92 @@ func (s *ListenerTlsCertificate) Validate() error { return nil } -// SetAcm sets the Acm field's value. -func (s *ListenerTlsCertificate) SetAcm(v *ListenerTlsAcmCertificate) *ListenerTlsCertificate { - s.Acm = v +// SetLimit sets the Limit field's value. +func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { + s.Limit = &v return s } -// SetFile sets the File field's value. -func (s *ListenerTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ListenerTlsCertificate { - s.File = v +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v return s } -// An object that represents a local file certificate. The certificate must -// meet specific requirements and you must have proxy authorization enabled. -// For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). -type ListenerTlsFileCertificate struct { +// 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"` - // CertificateChain is a required field - CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` + NextToken *string `locationName:"nextToken" type:"string"` - // PrivateKey is a required field - PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"` + // Tags is a required field + Tags []*TagRef `locationName:"tags" type:"list" required:"true"` } // String returns the string representation -func (s ListenerTlsFileCertificate) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListenerTlsFileCertificate) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListVirtualGatewaysInput struct { + _ struct{} `type:"structure"` + + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListVirtualGatewaysInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVirtualGatewaysInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListenerTlsFileCertificate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListenerTlsFileCertificate"} - if s.CertificateChain == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateChain")) +func (s *ListVirtualGatewaysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualGatewaysInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } - if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) } - if s.PrivateKey == nil { - invalidParams.Add(request.NewErrParamRequired("PrivateKey")) + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } - if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if invalidParams.Len() > 0 { @@ -7535,89 +9522,98 @@ func (s *ListenerTlsFileCertificate) Validate() error { return nil } -// SetCertificateChain sets the CertificateChain field's value. -func (s *ListenerTlsFileCertificate) SetCertificateChain(v string) *ListenerTlsFileCertificate { - s.CertificateChain = &v +// SetLimit sets the Limit field's value. +func (s *ListVirtualGatewaysInput) SetLimit(v int64) *ListVirtualGatewaysInput { + s.Limit = &v return s } -// SetPrivateKey sets the PrivateKey field's value. -func (s *ListenerTlsFileCertificate) SetPrivateKey(v string) *ListenerTlsFileCertificate { - s.PrivateKey = &v +// SetMeshName sets the MeshName field's value. +func (s *ListVirtualGatewaysInput) SetMeshName(v string) *ListVirtualGatewaysInput { + s.MeshName = &v return s } -// An object that represents the logging information for a virtual node. -type Logging struct { +// SetMeshOwner sets the MeshOwner field's value. +func (s *ListVirtualGatewaysInput) SetMeshOwner(v string) *ListVirtualGatewaysInput { + s.MeshOwner = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualGatewaysInput) SetNextToken(v string) *ListVirtualGatewaysInput { + s.NextToken = &v + return s +} + +type ListVirtualGatewaysOutput struct { _ struct{} `type:"structure"` - // An object that represents the access logging information for a virtual node. - AccessLog *AccessLog `locationName:"accessLog" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` + + // VirtualGateways is a required field + VirtualGateways []*VirtualGatewayRef `locationName:"virtualGateways" type:"list" required:"true"` } // String returns the string representation -func (s Logging) String() string { +func (s ListVirtualGatewaysOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Logging) GoString() string { +func (s ListVirtualGatewaysOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Logging) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Logging"} - if s.AccessLog != nil { - if err := s.AccessLog.Validate(); err != nil { - invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualGatewaysOutput) SetNextToken(v string) *ListVirtualGatewaysOutput { + s.NextToken = &v + return s } -// SetAccessLog sets the AccessLog field's value. -func (s *Logging) SetAccessLog(v *AccessLog) *Logging { - s.AccessLog = v +// SetVirtualGateways sets the VirtualGateways field's value. +func (s *ListVirtualGatewaysOutput) SetVirtualGateways(v []*VirtualGatewayRef) *ListVirtualGatewaysOutput { + s.VirtualGateways = v return s } -// An object that represents the range of values to match on. The first character -// of the range is included in the range, though the last character is not. -// For example, if the range specified were 1-100, only values 1-99 would be -// matched. -type MatchRange struct { +type ListVirtualNodesInput struct { _ struct{} `type:"structure"` - // End is a required field - End *int64 `locationName:"end" type:"long" required:"true"` + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // Start is a required field - Start *int64 `locationName:"start" type:"long" required:"true"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s MatchRange) String() string { +func (s ListVirtualNodesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MatchRange) GoString() string { +func (s ListVirtualNodesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MatchRange) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MatchRange"} - if s.End == nil { - invalidParams.Add(request.NewErrParamRequired("End")) +func (s *ListVirtualNodesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } - if s.Start == nil { - invalidParams.Add(request.NewErrParamRequired("Start")) + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if invalidParams.Len() > 0 { @@ -7626,324 +9622,997 @@ func (s *MatchRange) Validate() error { return nil } -// SetEnd sets the End field's value. -func (s *MatchRange) SetEnd(v int64) *MatchRange { - s.End = &v +// SetLimit sets the Limit field's value. +func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { + s.Limit = &v return s } -// SetStart sets the Start field's value. -func (s *MatchRange) SetStart(v int64) *MatchRange { - s.Start = &v +// SetMeshName sets the MeshName field's value. +func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { + s.MeshName = &v return s } -// An object that represents a service mesh returned by a describe operation. -type MeshData struct { - _ struct{} `type:"structure"` +// SetMeshOwner sets the MeshOwner field's value. +func (s *ListVirtualNodesInput) SetMeshOwner(v string) *ListVirtualNodesInput { + s.MeshOwner = &v + return s +} - // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { + s.NextToken = &v + return s +} - // An object that represents metadata for a resource. - // - // Metadata is a required field - Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` +type ListVirtualNodesOutput struct { + _ struct{} `type:"structure"` - // An object that represents the specification of a service mesh. - // - // Spec is a required field - Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` + NextToken *string `locationName:"nextToken" type:"string"` - // An object that represents the status of a service mesh. - // - // Status is a required field - Status *MeshStatus `locationName:"status" type:"structure" required:"true"` + // VirtualNodes is a required field + VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"` } // String returns the string representation -func (s MeshData) String() string { +func (s ListVirtualNodesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MeshData) GoString() string { +func (s ListVirtualNodesOutput) GoString() string { return s.String() } -// SetMeshName sets the MeshName field's value. -func (s *MeshData) SetMeshName(v string) *MeshData { - s.MeshName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { + s.NextToken = &v return s } -// SetMetadata sets the Metadata field's value. -func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { - s.Metadata = v +// SetVirtualNodes sets the VirtualNodes field's value. +func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { + s.VirtualNodes = v return s } -// SetSpec sets the Spec field's value. -func (s *MeshData) SetSpec(v *MeshSpec) *MeshData { - s.Spec = v - return s -} +type ListVirtualRoutersInput struct { + _ struct{} `type:"structure"` -// SetStatus sets the Status field's value. -func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { - s.Status = v - return s -} - -// An object that represents a service mesh returned by a list operation. -type MeshRef struct { - _ struct{} `type:"structure"` - - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // CreatedAt is a required field - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` - - // LastUpdatedAt is a required field - LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - - // MeshOwner is a required field - MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // ResourceOwner is a required field - ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // Version is a required field - Version *int64 `locationName:"version" type:"long" required:"true"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s MeshRef) String() string { +func (s ListVirtualRoutersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MeshRef) GoString() string { +func (s ListVirtualRoutersInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *MeshRef) SetArn(v string) *MeshRef { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListVirtualRoutersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } -// SetCreatedAt sets the CreatedAt field's value. -func (s *MeshRef) SetCreatedAt(v time.Time) *MeshRef { - s.CreatedAt = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLastUpdatedAt sets the LastUpdatedAt field's value. -func (s *MeshRef) SetLastUpdatedAt(v time.Time) *MeshRef { - s.LastUpdatedAt = &v +// SetLimit sets the Limit field's value. +func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { + s.Limit = &v return s } // SetMeshName sets the MeshName field's value. -func (s *MeshRef) SetMeshName(v string) *MeshRef { +func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *MeshRef) SetMeshOwner(v string) *MeshRef { +func (s *ListVirtualRoutersInput) SetMeshOwner(v string) *ListVirtualRoutersInput { s.MeshOwner = &v return s } -// SetResourceOwner sets the ResourceOwner field's value. -func (s *MeshRef) SetResourceOwner(v string) *MeshRef { - s.ResourceOwner = &v - return s -} - -// SetVersion sets the Version field's value. -func (s *MeshRef) SetVersion(v int64) *MeshRef { - s.Version = &v +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { + s.NextToken = &v return s } -// An object that represents the specification of a service mesh. -type MeshSpec struct { +type ListVirtualRoutersOutput struct { _ struct{} `type:"structure"` - // An object that represents the egress filter rules for a service mesh. - EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` + + // VirtualRouters is a required field + VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"` } // String returns the string representation -func (s MeshSpec) String() string { +func (s ListVirtualRoutersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MeshSpec) GoString() string { +func (s ListVirtualRoutersOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *MeshSpec) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MeshSpec"} - if s.EgressFilter != nil { - if err := s.EgressFilter.Validate(); err != nil { - invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { + s.NextToken = &v + return s } -// SetEgressFilter sets the EgressFilter field's value. -func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { - s.EgressFilter = v +// SetVirtualRouters sets the VirtualRouters field's value. +func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { + s.VirtualRouters = v return s } -// An object that represents the status of a service mesh. -type MeshStatus struct { +type ListVirtualServicesInput struct { _ struct{} `type:"structure"` - Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` -} - -// String returns the string representation -func (s MeshStatus) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s MeshStatus) GoString() string { - return s.String() -} + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` -// SetStatus sets the Status field's value. -func (s *MeshStatus) SetStatus(v string) *MeshStatus { - s.Status = &v - return s -} + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` -// The specified resource doesn't exist. Check your request syntax and try again. -type NotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - Message_ *string `locationName:"message" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s NotFoundException) String() string { +func (s ListVirtualServicesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s NotFoundException) GoString() string { +func (s ListVirtualServicesInput) GoString() string { return s.String() } -func newErrorNotFoundException(v protocol.ResponseMetadata) error { - return &NotFoundException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListVirtualServicesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } -} - -// Code returns the exception type name. -func (s *NotFoundException) Code() string { - return "NotFoundException" -} -// Message returns the exception's message. -func (s *NotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *NotFoundException) OrigErr() error { - return nil +// SetLimit sets the Limit field's value. +func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { + s.Limit = &v + return s } -func (s *NotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetMeshName sets the MeshName field's value. +func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { + s.MeshName = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *NotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMeshOwner sets the MeshOwner field's value. +func (s *ListVirtualServicesInput) SetMeshOwner(v string) *ListVirtualServicesInput { + s.MeshOwner = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *NotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { + s.NextToken = &v + return s } -// An object that represents a port mapping. -type PortMapping struct { +type ListVirtualServicesOutput struct { _ struct{} `type:"structure"` - // Port is a required field - Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` + NextToken *string `locationName:"nextToken" type:"string"` - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` + // VirtualServices is a required field + VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"` } // String returns the string representation -func (s PortMapping) String() string { +func (s ListVirtualServicesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PortMapping) GoString() string { +func (s ListVirtualServicesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PortMapping) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PortMapping"} - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) - } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetPort sets the Port field's value. -func (s *PortMapping) SetPort(v int64) *PortMapping { - s.Port = &v +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { + s.NextToken = &v return s } -// SetProtocol sets the Protocol field's value. -func (s *PortMapping) SetProtocol(v string) *PortMapping { - s.Protocol = &v +// SetVirtualServices sets the VirtualServices field's value. +func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { + s.VirtualServices = v return s } -// You can't delete the specified resource because it's in use or required by +// An object that represents a listener for a virtual node. +type Listener struct { + _ struct{} `type:"structure"` + + // An object that represents the health check policy for a virtual node's listener. + HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` + + // An object that represents a port mapping. + // + // PortMapping is a required field + PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` + + // An object that represents timeouts for different protocols. + Timeout *ListenerTimeout `locationName:"timeout" type:"structure"` + + // An object that represents the Transport Layer Security (TLS) properties for + // a listener. + Tls *ListenerTls `locationName:"tls" type:"structure"` +} + +// String returns the string representation +func (s Listener) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Listener) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Listener) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Listener"} + if s.PortMapping == nil { + invalidParams.Add(request.NewErrParamRequired("PortMapping")) + } + if s.HealthCheck != nil { + if err := s.HealthCheck.Validate(); err != nil { + invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) + } + } + if s.PortMapping != nil { + if err := s.PortMapping.Validate(); err != nil { + invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) + } + } + if s.Tls != nil { + if err := s.Tls.Validate(); err != nil { + invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHealthCheck sets the HealthCheck field's value. +func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { + s.HealthCheck = v + return s +} + +// SetPortMapping sets the PortMapping field's value. +func (s *Listener) SetPortMapping(v *PortMapping) *Listener { + s.PortMapping = v + return s +} + +// SetTimeout sets the Timeout field's value. +func (s *Listener) SetTimeout(v *ListenerTimeout) *Listener { + s.Timeout = v + return s +} + +// SetTls sets the Tls field's value. +func (s *Listener) SetTls(v *ListenerTls) *Listener { + s.Tls = v + return s +} + +// An object that represents timeouts for different protocols. +type ListenerTimeout struct { + _ struct{} `type:"structure"` + + // An object that represents types of timeouts. + Grpc *GrpcTimeout `locationName:"grpc" type:"structure"` + + // An object that represents types of timeouts. + Http *HttpTimeout `locationName:"http" type:"structure"` + + // An object that represents types of timeouts. + Http2 *HttpTimeout `locationName:"http2" type:"structure"` + + // An object that represents types of timeouts. + Tcp *TcpTimeout `locationName:"tcp" type:"structure"` +} + +// String returns the string representation +func (s ListenerTimeout) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTimeout) GoString() string { + return s.String() +} + +// SetGrpc sets the Grpc field's value. +func (s *ListenerTimeout) SetGrpc(v *GrpcTimeout) *ListenerTimeout { + s.Grpc = v + return s +} + +// SetHttp sets the Http field's value. +func (s *ListenerTimeout) SetHttp(v *HttpTimeout) *ListenerTimeout { + s.Http = v + return s +} + +// SetHttp2 sets the Http2 field's value. +func (s *ListenerTimeout) SetHttp2(v *HttpTimeout) *ListenerTimeout { + s.Http2 = v + return s +} + +// SetTcp sets the Tcp field's value. +func (s *ListenerTimeout) SetTcp(v *TcpTimeout) *ListenerTimeout { + s.Tcp = v + return s +} + +// An object that represents the Transport Layer Security (TLS) properties for +// a listener. +type ListenerTls struct { + _ struct{} `type:"structure"` + + // An object that represents a listener's Transport Layer Security (TLS) certificate. + // + // Certificate is a required field + Certificate *ListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` + + // Mode is a required field + Mode *string `locationName:"mode" type:"string" required:"true" enum:"ListenerTlsMode"` +} + +// String returns the string representation +func (s ListenerTls) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTls) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListenerTls) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListenerTls"} + if s.Certificate == nil { + invalidParams.Add(request.NewErrParamRequired("Certificate")) + } + if s.Mode == nil { + invalidParams.Add(request.NewErrParamRequired("Mode")) + } + if s.Certificate != nil { + if err := s.Certificate.Validate(); err != nil { + invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificate sets the Certificate field's value. +func (s *ListenerTls) SetCertificate(v *ListenerTlsCertificate) *ListenerTls { + s.Certificate = v + return s +} + +// SetMode sets the Mode field's value. +func (s *ListenerTls) SetMode(v string) *ListenerTls { + s.Mode = &v + return s +} + +// An object that represents an AWS Certicate Manager (ACM) certificate. +type ListenerTlsAcmCertificate struct { + _ struct{} `type:"structure"` + + // CertificateArn is a required field + CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListenerTlsAcmCertificate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTlsAcmCertificate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListenerTlsAcmCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListenerTlsAcmCertificate"} + if s.CertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateArn sets the CertificateArn field's value. +func (s *ListenerTlsAcmCertificate) SetCertificateArn(v string) *ListenerTlsAcmCertificate { + s.CertificateArn = &v + return s +} + +// An object that represents a listener's Transport Layer Security (TLS) certificate. +type ListenerTlsCertificate struct { + _ struct{} `type:"structure"` + + // An object that represents an AWS Certicate Manager (ACM) certificate. + Acm *ListenerTlsAcmCertificate `locationName:"acm" type:"structure"` + + // An object that represents a local file certificate. The certificate must + // meet specific requirements and you must have proxy authorization enabled. + // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). + File *ListenerTlsFileCertificate `locationName:"file" type:"structure"` +} + +// String returns the string representation +func (s ListenerTlsCertificate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTlsCertificate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListenerTlsCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListenerTlsCertificate"} + if s.Acm != nil { + if err := s.Acm.Validate(); err != nil { + invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) + } + } + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcm sets the Acm field's value. +func (s *ListenerTlsCertificate) SetAcm(v *ListenerTlsAcmCertificate) *ListenerTlsCertificate { + s.Acm = v + return s +} + +// SetFile sets the File field's value. +func (s *ListenerTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ListenerTlsCertificate { + s.File = v + return s +} + +// An object that represents a local file certificate. The certificate must +// meet specific requirements and you must have proxy authorization enabled. +// For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). +type ListenerTlsFileCertificate struct { + _ struct{} `type:"structure"` + + // CertificateChain is a required field + CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` + + // PrivateKey is a required field + PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListenerTlsFileCertificate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTlsFileCertificate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListenerTlsFileCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListenerTlsFileCertificate"} + if s.CertificateChain == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateChain")) + } + if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) + } + if s.PrivateKey == nil { + invalidParams.Add(request.NewErrParamRequired("PrivateKey")) + } + if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateChain sets the CertificateChain field's value. +func (s *ListenerTlsFileCertificate) SetCertificateChain(v string) *ListenerTlsFileCertificate { + s.CertificateChain = &v + return s +} + +// SetPrivateKey sets the PrivateKey field's value. +func (s *ListenerTlsFileCertificate) SetPrivateKey(v string) *ListenerTlsFileCertificate { + s.PrivateKey = &v + return s +} + +// An object that represents the logging information for a virtual node. +type Logging struct { + _ struct{} `type:"structure"` + + // An object that represents the access logging information for a virtual node. + AccessLog *AccessLog `locationName:"accessLog" type:"structure"` +} + +// String returns the string representation +func (s Logging) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Logging) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Logging) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Logging"} + if s.AccessLog != nil { + if err := s.AccessLog.Validate(); err != nil { + invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessLog sets the AccessLog field's value. +func (s *Logging) SetAccessLog(v *AccessLog) *Logging { + s.AccessLog = v + return s +} + +// An object that represents the range of values to match on. The first character +// of the range is included in the range, though the last character is not. +// For example, if the range specified were 1-100, only values 1-99 would be +// matched. +type MatchRange struct { + _ struct{} `type:"structure"` + + // End is a required field + End *int64 `locationName:"end" type:"long" required:"true"` + + // Start is a required field + Start *int64 `locationName:"start" type:"long" required:"true"` +} + +// String returns the string representation +func (s MatchRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MatchRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MatchRange"} + if s.End == nil { + invalidParams.Add(request.NewErrParamRequired("End")) + } + if s.Start == nil { + invalidParams.Add(request.NewErrParamRequired("Start")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnd sets the End field's value. +func (s *MatchRange) SetEnd(v int64) *MatchRange { + s.End = &v + return s +} + +// SetStart sets the Start field's value. +func (s *MatchRange) SetStart(v int64) *MatchRange { + s.Start = &v + return s +} + +// An object that represents a service mesh returned by a describe operation. +type MeshData struct { + _ struct{} `type:"structure"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // An object that represents metadata for a resource. + // + // Metadata is a required field + Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` + + // An object that represents the specification of a service mesh. + // + // Spec is a required field + Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` + + // An object that represents the status of a service mesh. + // + // Status is a required field + Status *MeshStatus `locationName:"status" type:"structure" required:"true"` +} + +// String returns the string representation +func (s MeshData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshData) GoString() string { + return s.String() +} + +// SetMeshName sets the MeshName field's value. +func (s *MeshData) SetMeshName(v string) *MeshData { + s.MeshName = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { + s.Metadata = v + return s +} + +// SetSpec sets the Spec field's value. +func (s *MeshData) SetSpec(v *MeshSpec) *MeshData { + s.Spec = v + return s +} + +// SetStatus sets the Status field's value. +func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { + s.Status = v + return s +} + +// An object that represents a service mesh returned by a list operation. +type MeshRef struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` +} + +// String returns the string representation +func (s MeshRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshRef) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *MeshRef) SetArn(v string) *MeshRef { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *MeshRef) SetCreatedAt(v time.Time) *MeshRef { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *MeshRef) SetLastUpdatedAt(v time.Time) *MeshRef { + s.LastUpdatedAt = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *MeshRef) SetMeshName(v string) *MeshRef { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *MeshRef) SetMeshOwner(v string) *MeshRef { + s.MeshOwner = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *MeshRef) SetResourceOwner(v string) *MeshRef { + s.ResourceOwner = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *MeshRef) SetVersion(v int64) *MeshRef { + s.Version = &v + return s +} + +// An object that represents the specification of a service mesh. +type MeshSpec struct { + _ struct{} `type:"structure"` + + // An object that represents the egress filter rules for a service mesh. + EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` +} + +// String returns the string representation +func (s MeshSpec) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshSpec) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MeshSpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MeshSpec"} + if s.EgressFilter != nil { + if err := s.EgressFilter.Validate(); err != nil { + invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEgressFilter sets the EgressFilter field's value. +func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { + s.EgressFilter = v + return s +} + +// An object that represents the status of a service mesh. +type MeshStatus struct { + _ struct{} `type:"structure"` + + Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` +} + +// String returns the string representation +func (s MeshStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshStatus) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *MeshStatus) SetStatus(v string) *MeshStatus { + s.Status = &v + return s +} + +// The specified resource doesn't exist. Check your request syntax and try again. +type NotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s NotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotFoundException) GoString() string { + return s.String() +} + +func newErrorNotFoundException(v protocol.ResponseMetadata) error { + return &NotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *NotFoundException) Code() string { + return "NotFoundException" +} + +// Message returns the exception's message. +func (s *NotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NotFoundException) OrigErr() error { + return nil +} + +func (s *NotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *NotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *NotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An object that represents a port mapping. +type PortMapping struct { + _ struct{} `type:"structure"` + + // Port is a required field + Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` + + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` +} + +// String returns the string representation +func (s PortMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PortMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PortMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PortMapping"} + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPort sets the Port field's value. +func (s *PortMapping) SetPort(v int64) *PortMapping { + s.Port = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *PortMapping) SetProtocol(v string) *PortMapping { + s.Protocol = &v + return s +} + +// You can't delete the specified resource because it's in use or required by // another resource. type ResourceInUseException struct { _ struct{} `type:"structure"` @@ -7953,352 +10622,1776 @@ type ResourceInUseException struct { } // String returns the string representation -func (s ResourceInUseException) String() string { +func (s ResourceInUseException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceInUseException) GoString() string { + return s.String() +} + +func newErrorResourceInUseException(v protocol.ResponseMetadata) error { + return &ResourceInUseException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceInUseException) Code() string { + return "ResourceInUseException" +} + +// Message returns the exception's message. +func (s *ResourceInUseException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceInUseException) OrigErr() error { + return nil +} + +func (s *ResourceInUseException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceInUseException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceInUseException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An object that represents metadata for a resource. +type ResourceMetadata struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // Uid is a required field + Uid *string `locationName:"uid" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` +} + +// String returns the string representation +func (s ResourceMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceMetadata) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { + s.LastUpdatedAt = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *ResourceMetadata) SetMeshOwner(v string) *ResourceMetadata { + s.MeshOwner = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *ResourceMetadata) SetResourceOwner(v string) *ResourceMetadata { + s.ResourceOwner = &v + return s +} + +// SetUid sets the Uid field's value. +func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { + s.Uid = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { + s.Version = &v + return s +} + +// An object that represents a route returned by a describe operation. +type RouteData struct { + _ struct{} `type:"structure"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // An object that represents metadata for a resource. + // + // Metadata is a required field + Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` + + // RouteName is a required field + RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + + // An object that represents a route specification. Specify one route type. + // + // Spec is a required field + Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` + + // An object that represents the current status of a route. + // + // Status is a required field + Status *RouteStatus `locationName:"status" type:"structure" required:"true"` + + // VirtualRouterName is a required field + VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RouteData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteData) GoString() string { + return s.String() +} + +// SetMeshName sets the MeshName field's value. +func (s *RouteData) SetMeshName(v string) *RouteData { + s.MeshName = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { + s.Metadata = v + return s +} + +// SetRouteName sets the RouteName field's value. +func (s *RouteData) SetRouteName(v string) *RouteData { + s.RouteName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { + s.Spec = v + return s +} + +// SetStatus sets the Status field's value. +func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { + s.Status = v + return s +} + +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *RouteData) SetVirtualRouterName(v string) *RouteData { + s.VirtualRouterName = &v + return s +} + +// An object that represents a route returned by a list operation. +type RouteRef struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // RouteName is a required field + RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` + + // VirtualRouterName is a required field + VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RouteRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteRef) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *RouteRef) SetArn(v string) *RouteRef { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *RouteRef) SetCreatedAt(v time.Time) *RouteRef { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *RouteRef) SetLastUpdatedAt(v time.Time) *RouteRef { + s.LastUpdatedAt = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *RouteRef) SetMeshName(v string) *RouteRef { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *RouteRef) SetMeshOwner(v string) *RouteRef { + s.MeshOwner = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *RouteRef) SetResourceOwner(v string) *RouteRef { + s.ResourceOwner = &v + return s +} + +// SetRouteName sets the RouteName field's value. +func (s *RouteRef) SetRouteName(v string) *RouteRef { + s.RouteName = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *RouteRef) SetVersion(v int64) *RouteRef { + s.Version = &v + return s +} + +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { + s.VirtualRouterName = &v + return s +} + +// An object that represents a route specification. Specify one route type. +type RouteSpec struct { + _ struct{} `type:"structure"` + + // An object that represents a gRPC route type. + GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"` + + // An object that represents an HTTP or HTTP/2 route type. + Http2Route *HttpRoute `locationName:"http2Route" type:"structure"` + + // An object that represents an HTTP or HTTP/2 route type. + HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` + + Priority *int64 `locationName:"priority" type:"integer"` + + // An object that represents a TCP route type. + TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` +} + +// String returns the string representation +func (s RouteSpec) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteSpec) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RouteSpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} + if s.GrpcRoute != nil { + if err := s.GrpcRoute.Validate(); err != nil { + invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) + } + } + if s.Http2Route != nil { + if err := s.Http2Route.Validate(); err != nil { + invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) + } + } + if s.HttpRoute != nil { + if err := s.HttpRoute.Validate(); err != nil { + invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) + } + } + if s.TcpRoute != nil { + if err := s.TcpRoute.Validate(); err != nil { + invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGrpcRoute sets the GrpcRoute field's value. +func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec { + s.GrpcRoute = v + return s +} + +// SetHttp2Route sets the Http2Route field's value. +func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec { + s.Http2Route = v + return s +} + +// SetHttpRoute sets the HttpRoute field's value. +func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { + s.HttpRoute = v + return s +} + +// SetPriority sets the Priority field's value. +func (s *RouteSpec) SetPriority(v int64) *RouteSpec { + s.Priority = &v + return s +} + +// SetTcpRoute sets the TcpRoute field's value. +func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { + s.TcpRoute = v + return s +} + +// An object that represents the current status of a route. +type RouteStatus struct { + _ struct{} `type:"structure"` + + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` +} + +// String returns the string representation +func (s RouteStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteStatus) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *RouteStatus) SetStatus(v string) *RouteStatus { + s.Status = &v + return s +} + +// An object that represents the service discovery information for a virtual +// node. +type ServiceDiscovery struct { + _ struct{} `type:"structure"` + + // An object that represents the AWS Cloud Map service discovery information + // for your virtual node. + AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"` + + // An object that represents the DNS service discovery information for your + // virtual node. + Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` +} + +// String returns the string representation +func (s ServiceDiscovery) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceDiscovery) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServiceDiscovery) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} + if s.AwsCloudMap != nil { + if err := s.AwsCloudMap.Validate(); err != nil { + invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams)) + } + } + if s.Dns != nil { + if err := s.Dns.Validate(); err != nil { + invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsCloudMap sets the AwsCloudMap field's value. +func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery { + s.AwsCloudMap = v + return s +} + +// SetDns sets the Dns field's value. +func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { + s.Dns = v + return s +} + +// The request has failed due to a temporary failure of the service. +type ServiceUnavailableException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ServiceUnavailableException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceUnavailableException) GoString() string { + return s.String() +} + +func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { + return &ServiceUnavailableException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceUnavailableException) Code() string { + return "ServiceUnavailableException" +} + +// Message returns the exception's message. +func (s *ServiceUnavailableException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceUnavailableException) OrigErr() error { + return nil +} + +func (s *ServiceUnavailableException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceUnavailableException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceUnavailableException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Optional metadata that you apply to a resource to assist with categorization +// and organization. Each tag consists of a key and an optional value, both +// of which you define. Tag keys can have a maximum character length of 128 +// characters, and tag values can have a maximum length of 256 characters. +type TagRef struct { + _ struct{} `type:"structure"` + + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation +func (s TagRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagRef) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagRef) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagRef"} + 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 +} + +// SetKey sets the Key field's value. +func (s *TagRef) SetKey(v string) *TagRef { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *TagRef) SetValue(v string) *TagRef { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` + + // Tags is a required field + Tags []*TagRef `locationName:"tags" 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.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 []*TagRef) *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() +} + +// An object that represents a TCP route type. +type TcpRoute struct { + _ struct{} `type:"structure"` + + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` + + // An object that represents types of timeouts. + Timeout *TcpTimeout `locationName:"timeout" type:"structure"` +} + +// String returns the string representation +func (s TcpRoute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TcpRoute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TcpRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TcpRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { + s.Action = v + return s +} + +// SetTimeout sets the Timeout field's value. +func (s *TcpRoute) SetTimeout(v *TcpTimeout) *TcpRoute { + s.Timeout = v + return s +} + +// An object that represents the action to take if a match is determined. +type TcpRouteAction struct { + _ struct{} `type:"structure"` + + // WeightedTargets is a required field + WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TcpRouteAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TcpRouteAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TcpRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"} + if s.WeightedTargets == nil { + invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) + } + if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) + } + if s.WeightedTargets != nil { + for i, v := range s.WeightedTargets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWeightedTargets sets the WeightedTargets field's value. +func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction { + s.WeightedTargets = v + return s +} + +// An object that represents types of timeouts. +type TcpTimeout struct { + _ struct{} `type:"structure"` + + // An object that represents a duration of time. + Idle *Duration `locationName:"idle" type:"structure"` +} + +// String returns the string representation +func (s TcpTimeout) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TcpTimeout) GoString() string { + return s.String() +} + +// SetIdle sets the Idle field's value. +func (s *TcpTimeout) SetIdle(v *Duration) *TcpTimeout { + s.Idle = v + return s +} + +// An object that represents a Transport Layer Security (TLS) validation context. +type TlsValidationContext struct { + _ struct{} `type:"structure"` + + // An object that represents a Transport Layer Security (TLS) validation context + // trust. + // + // Trust is a required field + Trust *TlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` +} + +// String returns the string representation +func (s TlsValidationContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsValidationContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsValidationContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsValidationContext"} + if s.Trust == nil { + invalidParams.Add(request.NewErrParamRequired("Trust")) + } + if s.Trust != nil { + if err := s.Trust.Validate(); err != nil { + invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrust sets the Trust field's value. +func (s *TlsValidationContext) SetTrust(v *TlsValidationContextTrust) *TlsValidationContext { + s.Trust = v + return s +} + +// An object that represents a TLS validation context trust for an AWS Certicate +// Manager (ACM) certificate. +type TlsValidationContextAcmTrust struct { + _ struct{} `type:"structure"` + + // CertificateAuthorityArns is a required field + CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TlsValidationContextAcmTrust) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsValidationContextAcmTrust) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsValidationContextAcmTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextAcmTrust"} + if s.CertificateAuthorityArns == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) + } + if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. +func (s *TlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *TlsValidationContextAcmTrust { + s.CertificateAuthorityArns = v + return s +} + +// An object that represents a Transport Layer Security (TLS) validation context +// trust for a local file. +type TlsValidationContextFileTrust struct { + _ struct{} `type:"structure"` + + // CertificateChain is a required field + CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s TlsValidationContextFileTrust) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsValidationContextFileTrust) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsValidationContextFileTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextFileTrust"} + if s.CertificateChain == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateChain")) + } + if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateChain sets the CertificateChain field's value. +func (s *TlsValidationContextFileTrust) SetCertificateChain(v string) *TlsValidationContextFileTrust { + s.CertificateChain = &v + return s +} + +// An object that represents a Transport Layer Security (TLS) validation context +// trust. +type TlsValidationContextTrust struct { + _ struct{} `type:"structure"` + + // An object that represents a TLS validation context trust for an AWS Certicate + // Manager (ACM) certificate. + Acm *TlsValidationContextAcmTrust `locationName:"acm" type:"structure"` + + // An object that represents a Transport Layer Security (TLS) validation context + // trust for a local file. + File *TlsValidationContextFileTrust `locationName:"file" type:"structure"` +} + +// String returns the string representation +func (s TlsValidationContextTrust) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsValidationContextTrust) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsValidationContextTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextTrust"} + if s.Acm != nil { + if err := s.Acm.Validate(); err != nil { + invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) + } + } + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcm sets the Acm field's value. +func (s *TlsValidationContextTrust) SetAcm(v *TlsValidationContextAcmTrust) *TlsValidationContextTrust { + s.Acm = v + return s +} + +// SetFile sets the File field's value. +func (s *TlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *TlsValidationContextTrust { + s.File = v + return s +} + +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +type TooManyRequestsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s TooManyRequestsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TooManyRequestsException) GoString() string { + return s.String() +} + +func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { + return &TooManyRequestsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyRequestsException) Code() string { + return "TooManyRequestsException" +} + +// Message returns the exception's message. +func (s *TooManyRequestsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyRequestsException) OrigErr() error { + return nil +} + +func (s *TooManyRequestsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TooManyRequestsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyRequestsException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The request exceeds the maximum allowed number of tags allowed per resource. +// The current limit is 50 user tags per resource. You must reduce the number +// of tags in the request. None of the tags in this request were applied. +type TooManyTagsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s TooManyTagsException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceInUseException) GoString() string { +func (s TooManyTagsException) GoString() string { + return s.String() +} + +func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { + return &TooManyTagsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyTagsException) Code() string { + return "TooManyTagsException" +} + +// Message returns the exception's message. +func (s *TooManyTagsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyTagsException) OrigErr() error { + return nil +} + +func (s *TooManyTagsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TooManyTagsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyTagsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` + + // 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 UpdateGatewayRouteInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // GatewayRouteName is a required field + GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents a gateway route specification. Specify one gateway + // route type. + // + // Spec is a required field + Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateGatewayRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGatewayRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGatewayRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayRouteInput"} + if s.GatewayRouteName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) + } + if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateGatewayRouteInput) SetClientToken(v string) *UpdateGatewayRouteInput { + s.ClientToken = &v + return s +} + +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *UpdateGatewayRouteInput) SetGatewayRouteName(v string) *UpdateGatewayRouteInput { + s.GatewayRouteName = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *UpdateGatewayRouteInput) SetMeshName(v string) *UpdateGatewayRouteInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateGatewayRouteInput) SetMeshOwner(v string) *UpdateGatewayRouteInput { + s.MeshOwner = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *UpdateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *UpdateGatewayRouteInput { + s.Spec = v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *UpdateGatewayRouteInput) SetVirtualGatewayName(v string) *UpdateGatewayRouteInput { + s.VirtualGatewayName = &v + return s +} + +type UpdateGatewayRouteOutput struct { + _ struct{} `type:"structure" payload:"GatewayRoute"` + + // An object that represents a gateway route returned by a describe operation. + // + // GatewayRoute is a required field + GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateGatewayRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGatewayRouteOutput) GoString() string { + return s.String() +} + +// SetGatewayRoute sets the GatewayRoute field's value. +func (s *UpdateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *UpdateGatewayRouteOutput { + s.GatewayRoute = v + return s +} + +type UpdateMeshInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + // An object that represents the specification of a service mesh. + Spec *MeshSpec `locationName:"spec" type:"structure"` +} + +// String returns the string representation +func (s UpdateMeshInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMeshInput) GoString() string { return s.String() } -func newErrorResourceInUseException(v protocol.ResponseMetadata) error { - return &ResourceInUseException{ - RespMetadata: v, - } +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMeshInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput { + s.ClientToken = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput { + s.MeshName = &v + return s } -// Code returns the exception type name. -func (s *ResourceInUseException) Code() string { - return "ResourceInUseException" +// SetSpec sets the Spec field's value. +func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { + s.Spec = v + return s } -// Message returns the exception's message. -func (s *ResourceInUseException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} +type UpdateMeshOutput struct { + _ struct{} `type:"structure" payload:"Mesh"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceInUseException) OrigErr() error { - return nil + // An object that represents a service mesh returned by a describe operation. + // + // Mesh is a required field + Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` } -func (s *ResourceInUseException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// String returns the string representation +func (s UpdateMeshOutput) String() string { + return awsutil.Prettify(s) } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceInUseException) StatusCode() int { - return s.RespMetadata.StatusCode +// GoString returns the string representation +func (s UpdateMeshOutput) GoString() string { + return s.String() } -// RequestID returns the service's response RequestID for request. -func (s *ResourceInUseException) RequestID() string { - return s.RespMetadata.RequestID +// SetMesh sets the Mesh field's value. +func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput { + s.Mesh = v + return s } -// An object that represents metadata for a resource. -type ResourceMetadata struct { +type UpdateRouteInput struct { _ struct{} `type:"structure"` - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // CreatedAt is a required field - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // LastUpdatedAt is a required field - LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // MeshOwner is a required field - MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // ResourceOwner is a required field - ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + // RouteName is a required field + RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` - // Uid is a required field - Uid *string `locationName:"uid" type:"string" required:"true"` + // An object that represents a route specification. Specify one route type. + // + // Spec is a required field + Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` - // Version is a required field - Version *int64 `locationName:"version" type:"long" required:"true"` + // VirtualRouterName is a required field + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ResourceMetadata) String() string { +func (s UpdateRouteInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceMetadata) GoString() string { +func (s UpdateRouteInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.RouteName == nil { + invalidParams.Add(request.NewErrParamRequired("RouteName")) + } + if s.RouteName != nil && len(*s.RouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreatedAt sets the CreatedAt field's value. -func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { - s.CreatedAt = &v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput { + s.ClientToken = &v return s } -// SetLastUpdatedAt sets the LastUpdatedAt field's value. -func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { - s.LastUpdatedAt = &v +// SetMeshName sets the MeshName field's value. +func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput { + s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *ResourceMetadata) SetMeshOwner(v string) *ResourceMetadata { +func (s *UpdateRouteInput) SetMeshOwner(v string) *UpdateRouteInput { s.MeshOwner = &v return s } -// SetResourceOwner sets the ResourceOwner field's value. -func (s *ResourceMetadata) SetResourceOwner(v string) *ResourceMetadata { - s.ResourceOwner = &v +// SetRouteName sets the RouteName field's value. +func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput { + s.RouteName = &v return s } -// SetUid sets the Uid field's value. -func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { - s.Uid = &v +// SetSpec sets the Spec field's value. +func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput { + s.Spec = v return s } -// SetVersion sets the Version field's value. -func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { - s.Version = &v +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput { + s.VirtualRouterName = &v return s } -// An object that represents a route returned by a describe operation. -type RouteData struct { +type UpdateRouteOutput struct { + _ struct{} `type:"structure" payload:"Route"` + + // An object that represents a route returned by a describe operation. + // + // Route is a required field + Route *RouteData `locationName:"route" type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRouteOutput) GoString() string { + return s.String() +} + +// SetRoute sets the Route field's value. +func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput { + s.Route = v + return s +} + +type UpdateVirtualGatewayInput struct { _ struct{} `type:"structure"` - // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // An object that represents metadata for a resource. - // - // Metadata is a required field - Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // RouteName is a required field - RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // An object that represents a route specification. Specify one route type. + // An object that represents the specification of a service mesh resource. // // Spec is a required field - Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` - - // An object that represents the current status of a route. - // - // Status is a required field - Status *RouteStatus `locationName:"status" type:"structure" required:"true"` + Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` - // VirtualRouterName is a required field - VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s RouteData) String() string { +func (s UpdateVirtualGatewayInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteData) GoString() string { +func (s UpdateVirtualGatewayInput) GoString() string { return s.String() } -// SetMeshName sets the MeshName field's value. -func (s *RouteData) SetMeshName(v string) *RouteData { - s.MeshName = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateVirtualGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualGatewayInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateVirtualGatewayInput) SetClientToken(v string) *UpdateVirtualGatewayInput { + s.ClientToken = &v return s } -// SetMetadata sets the Metadata field's value. -func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { - s.Metadata = v +// SetMeshName sets the MeshName field's value. +func (s *UpdateVirtualGatewayInput) SetMeshName(v string) *UpdateVirtualGatewayInput { + s.MeshName = &v return s } -// SetRouteName sets the RouteName field's value. -func (s *RouteData) SetRouteName(v string) *RouteData { - s.RouteName = &v +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateVirtualGatewayInput) SetMeshOwner(v string) *UpdateVirtualGatewayInput { + s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. -func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { +func (s *UpdateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *UpdateVirtualGatewayInput { s.Spec = v return s } -// SetStatus sets the Status field's value. -func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { - s.Status = v - return s +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *UpdateVirtualGatewayInput) SetVirtualGatewayName(v string) *UpdateVirtualGatewayInput { + s.VirtualGatewayName = &v + return s +} + +type UpdateVirtualGatewayOutput struct { + _ struct{} `type:"structure" payload:"VirtualGateway"` + + // An object that represents a virtual gateway returned by a describe operation. + // + // VirtualGateway is a required field + VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateVirtualGatewayOutput) String() string { + return awsutil.Prettify(s) } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *RouteData) SetVirtualRouterName(v string) *RouteData { - s.VirtualRouterName = &v +// GoString returns the string representation +func (s UpdateVirtualGatewayOutput) GoString() string { + return s.String() +} + +// SetVirtualGateway sets the VirtualGateway field's value. +func (s *UpdateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *UpdateVirtualGatewayOutput { + s.VirtualGateway = v return s } -// An object that represents a route returned by a list operation. -type RouteRef struct { +type UpdateVirtualNodeInput struct { _ struct{} `type:"structure"` - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // CreatedAt is a required field - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` - - // LastUpdatedAt is a required field - LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - - // MeshOwner is a required field - MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` - - // ResourceOwner is a required field - ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // RouteName is a required field - RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // Version is a required field - Version *int64 `locationName:"version" type:"long" required:"true"` + // An object that represents the specification of a virtual node. + // + // Spec is a required field + Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` - // VirtualRouterName is a required field - VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // VirtualNodeName is a required field + VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s RouteRef) String() string { +func (s UpdateVirtualNodeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteRef) GoString() string { +func (s UpdateVirtualNodeInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *RouteRef) SetArn(v string) *RouteRef { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateVirtualNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualNodeName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + } + if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } -// SetCreatedAt sets the CreatedAt field's value. -func (s *RouteRef) SetCreatedAt(v time.Time) *RouteRef { - s.CreatedAt = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLastUpdatedAt sets the LastUpdatedAt field's value. -func (s *RouteRef) SetLastUpdatedAt(v time.Time) *RouteRef { - s.LastUpdatedAt = &v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput { + s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. -func (s *RouteRef) SetMeshName(v string) *RouteRef { +func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *RouteRef) SetMeshOwner(v string) *RouteRef { +func (s *UpdateVirtualNodeInput) SetMeshOwner(v string) *UpdateVirtualNodeInput { s.MeshOwner = &v return s } -// SetResourceOwner sets the ResourceOwner field's value. -func (s *RouteRef) SetResourceOwner(v string) *RouteRef { - s.ResourceOwner = &v +// SetSpec sets the Spec field's value. +func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput { + s.Spec = v return s } -// SetRouteName sets the RouteName field's value. -func (s *RouteRef) SetRouteName(v string) *RouteRef { - s.RouteName = &v +// SetVirtualNodeName sets the VirtualNodeName field's value. +func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput { + s.VirtualNodeName = &v return s } -// SetVersion sets the Version field's value. -func (s *RouteRef) SetVersion(v int64) *RouteRef { - s.Version = &v - return s +type UpdateVirtualNodeOutput struct { + _ struct{} `type:"structure" payload:"VirtualNode"` + + // An object that represents a virtual node returned by a describe operation. + // + // VirtualNode is a required field + VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { - s.VirtualRouterName = &v +// String returns the string representation +func (s UpdateVirtualNodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateVirtualNodeOutput) GoString() string { + return s.String() +} + +// SetVirtualNode sets the VirtualNode field's value. +func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput { + s.VirtualNode = v return s } -// An object that represents a route specification. Specify one route type. -type RouteSpec struct { +type UpdateVirtualRouterInput struct { _ struct{} `type:"structure"` - // An object that represents a gRPC route type. - GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // An object that represents an HTTP or HTTP/2 route type. - Http2Route *HttpRoute `locationName:"http2Route" type:"structure"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object that represents an HTTP or HTTP/2 route type. - HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - Priority *int64 `locationName:"priority" type:"integer"` + // An object that represents the specification of a virtual router. + // + // Spec is a required field + Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` - // An object that represents a TCP route type. - TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` + // VirtualRouterName is a required field + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s RouteSpec) String() string { +func (s UpdateVirtualRouterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteSpec) GoString() string { +func (s UpdateVirtualRouterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RouteSpec) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} - if s.GrpcRoute != nil { - if err := s.GrpcRoute.Validate(); err != nil { - invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) - } +func (s *UpdateVirtualRouterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) } - if s.Http2Route != nil { - if err := s.Http2Route.Validate(); err != nil { - invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) - } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } - if s.HttpRoute != nil { - if err := s.HttpRoute.Validate(); err != nil { - invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) - } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } - if s.TcpRoute != nil { - if err := s.TcpRoute.Validate(); err != nil { - invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams)) + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } @@ -8308,95 +12401,114 @@ func (s *RouteSpec) Validate() error { return nil } -// SetGrpcRoute sets the GrpcRoute field's value. -func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec { - s.GrpcRoute = v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput { + s.ClientToken = &v return s } -// SetHttp2Route sets the Http2Route field's value. -func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec { - s.Http2Route = v +// SetMeshName sets the MeshName field's value. +func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput { + s.MeshName = &v return s } -// SetHttpRoute sets the HttpRoute field's value. -func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { - s.HttpRoute = v +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateVirtualRouterInput) SetMeshOwner(v string) *UpdateVirtualRouterInput { + s.MeshOwner = &v return s } -// SetPriority sets the Priority field's value. -func (s *RouteSpec) SetPriority(v int64) *RouteSpec { - s.Priority = &v +// SetSpec sets the Spec field's value. +func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput { + s.Spec = v return s } -// SetTcpRoute sets the TcpRoute field's value. -func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { - s.TcpRoute = v +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput { + s.VirtualRouterName = &v return s } -// An object that represents the current status of a route. -type RouteStatus struct { - _ struct{} `type:"structure"` +type UpdateVirtualRouterOutput struct { + _ struct{} `type:"structure" payload:"VirtualRouter"` - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` + // An object that represents a virtual router returned by a describe operation. + // + // VirtualRouter is a required field + VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` } // String returns the string representation -func (s RouteStatus) String() string { +func (s UpdateVirtualRouterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteStatus) GoString() string { +func (s UpdateVirtualRouterOutput) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *RouteStatus) SetStatus(v string) *RouteStatus { - s.Status = &v +// SetVirtualRouter sets the VirtualRouter field's value. +func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput { + s.VirtualRouter = v return s } -// An object that represents the service discovery information for a virtual -// node. -type ServiceDiscovery struct { +type UpdateVirtualServiceInput struct { _ struct{} `type:"structure"` - // An object that represents the AWS Cloud Map service discovery information - // for your virtual node. - AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // An object that represents the DNS service discovery information for your - // virtual node. - Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents the specification of a virtual service. + // + // Spec is a required field + Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` + + // VirtualServiceName is a required field + VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` } // String returns the string representation -func (s ServiceDiscovery) String() string { +func (s UpdateVirtualServiceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ServiceDiscovery) GoString() string { +func (s UpdateVirtualServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ServiceDiscovery) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} - if s.AwsCloudMap != nil { - if err := s.AwsCloudMap.Validate(); err != nil { - invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams)) - } +func (s *UpdateVirtualServiceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) } - if s.Dns != nil { - if err := s.Dns.Validate(); err != nil { - invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) + } + if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } @@ -8406,105 +12518,86 @@ func (s *ServiceDiscovery) Validate() error { return nil } -// SetAwsCloudMap sets the AwsCloudMap field's value. -func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery { - s.AwsCloudMap = v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput { + s.ClientToken = &v return s } -// SetDns sets the Dns field's value. -func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { - s.Dns = v +// SetMeshName sets the MeshName field's value. +func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput { + s.MeshName = &v return s } -// The request has failed due to a temporary failure of the service. -type ServiceUnavailableException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` -} - -// String returns the string representation -func (s ServiceUnavailableException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ServiceUnavailableException) GoString() string { - return s.String() +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateVirtualServiceInput) SetMeshOwner(v string) *UpdateVirtualServiceInput { + s.MeshOwner = &v + return s } -func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { - return &ServiceUnavailableException{ - RespMetadata: v, - } +// SetSpec sets the Spec field's value. +func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput { + s.Spec = v + return s } -// Code returns the exception type name. -func (s *ServiceUnavailableException) Code() string { - return "ServiceUnavailableException" +// SetVirtualServiceName sets the VirtualServiceName field's value. +func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput { + s.VirtualServiceName = &v + return s } -// Message returns the exception's message. -func (s *ServiceUnavailableException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} +type UpdateVirtualServiceOutput struct { + _ struct{} `type:"structure" payload:"VirtualService"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ServiceUnavailableException) OrigErr() error { - return nil + // An object that represents a virtual service returned by a describe operation. + // + // VirtualService is a required field + VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` } -func (s *ServiceUnavailableException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// String returns the string representation +func (s UpdateVirtualServiceOutput) String() string { + return awsutil.Prettify(s) } -// Status code returns the HTTP status code for the request's response error. -func (s *ServiceUnavailableException) StatusCode() int { - return s.RespMetadata.StatusCode +// GoString returns the string representation +func (s UpdateVirtualServiceOutput) GoString() string { + return s.String() } -// RequestID returns the service's response RequestID for request. -func (s *ServiceUnavailableException) RequestID() string { - return s.RespMetadata.RequestID +// SetVirtualService sets the VirtualService field's value. +func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput { + s.VirtualService = v + return s } -// Optional metadata that you apply to a resource to assist with categorization -// and organization. Each tag consists of a key and an optional value, both -// of which you define. Tag keys can have a maximum character length of 128 -// characters, and tag values can have a maximum length of 256 characters. -type TagRef struct { +// The access log configuration for a virtual gateway. +type VirtualGatewayAccessLog struct { _ struct{} `type:"structure"` - // Key is a required field - Key *string `locationName:"key" min:"1" type:"string" required:"true"` - - Value *string `locationName:"value" type:"string"` + // An object that represents an access log file. + File *VirtualGatewayFileAccessLog `locationName:"file" type:"structure"` } // String returns the string representation -func (s TagRef) String() string { +func (s VirtualGatewayAccessLog) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagRef) GoString() string { +func (s VirtualGatewayAccessLog) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TagRef) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TagRef"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) +func (s *VirtualGatewayAccessLog) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayAccessLog"} + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -8513,55 +12606,36 @@ func (s *TagRef) Validate() error { return nil } -// SetKey sets the Key field's value. -func (s *TagRef) SetKey(v string) *TagRef { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *TagRef) SetValue(v string) *TagRef { - s.Value = &v +// SetFile sets the File field's value. +func (s *VirtualGatewayAccessLog) SetFile(v *VirtualGatewayFileAccessLog) *VirtualGatewayAccessLog { + s.File = v return s } -type TagResourceInput struct { +// An object that represents the default properties for a backend. +type VirtualGatewayBackendDefaults struct { _ struct{} `type:"structure"` - // ResourceArn is a required field - ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` - - // Tags is a required field - Tags []*TagRef `locationName:"tags" type:"list" required:"true"` + // An object that represents a client policy. + ClientPolicy *VirtualGatewayClientPolicy `locationName:"clientPolicy" type:"structure"` } // String returns the string representation -func (s TagResourceInput) String() string { +func (s VirtualGatewayBackendDefaults) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagResourceInput) GoString() string { +func (s VirtualGatewayBackendDefaults) 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.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)) - } +func (s *VirtualGatewayBackendDefaults) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayBackendDefaults"} + if s.ClientPolicy != nil { + if err := s.ClientPolicy.Validate(); err != nil { + invalidParams.AddNested("ClientPolicy", err.(request.ErrInvalidParams)) } } @@ -8571,119 +12645,84 @@ func (s *TagResourceInput) Validate() error { 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 []*TagRef) *TagResourceInput { - s.Tags = v +// SetClientPolicy sets the ClientPolicy field's value. +func (s *VirtualGatewayBackendDefaults) SetClientPolicy(v *VirtualGatewayClientPolicy) *VirtualGatewayBackendDefaults { + s.ClientPolicy = 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() -} - -// An object that represents a TCP route type. -type TcpRoute struct { +// An object that represents a client policy. +type VirtualGatewayClientPolicy struct { _ struct{} `type:"structure"` - // An object that represents the action to take if a match is determined. - // - // Action is a required field - Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` - - Timeout *TcpTimeout `locationName:"timeout" type:"structure"` + // An object that represents a Transport Layer Security (TLS) client policy. + Tls *VirtualGatewayClientPolicyTls `locationName:"tls" type:"structure"` } // String returns the string representation -func (s TcpRoute) String() string { +func (s VirtualGatewayClientPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TcpRoute) GoString() string { +func (s VirtualGatewayClientPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TcpRoute) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TcpRoute"} - if s.Action == nil { - invalidParams.Add(request.NewErrParamRequired("Action")) - } - if s.Action != nil { - if err := s.Action.Validate(); err != nil { - invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) +func (s *VirtualGatewayClientPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicy"} + if s.Tls != nil { + if err := s.Tls.Validate(); err != nil { + invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) } } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAction sets the Action field's value. -func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { - s.Action = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTimeout sets the Timeout field's value. -func (s *TcpRoute) SetTimeout(v *TcpTimeout) *TcpRoute { - s.Timeout = v +// SetTls sets the Tls field's value. +func (s *VirtualGatewayClientPolicy) SetTls(v *VirtualGatewayClientPolicyTls) *VirtualGatewayClientPolicy { + s.Tls = v return s } -// An object that represents the action to take if a match is determined. -type TcpRouteAction struct { +// An object that represents a Transport Layer Security (TLS) client policy. +type VirtualGatewayClientPolicyTls struct { _ struct{} `type:"structure"` - // WeightedTargets is a required field - WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` + Enforce *bool `locationName:"enforce" type:"boolean"` + + Ports []*int64 `locationName:"ports" type:"list"` + + // An object that represents a Transport Layer Security (TLS) validation context. + // + // Validation is a required field + Validation *VirtualGatewayTlsValidationContext `locationName:"validation" type:"structure" required:"true"` } // String returns the string representation -func (s TcpRouteAction) String() string { +func (s VirtualGatewayClientPolicyTls) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TcpRouteAction) GoString() string { +func (s VirtualGatewayClientPolicyTls) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TcpRouteAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"} - if s.WeightedTargets == nil { - invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) - } - if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) +func (s *VirtualGatewayClientPolicyTls) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicyTls"} + if s.Validation == nil { + invalidParams.Add(request.NewErrParamRequired("Validation")) } - if s.WeightedTargets != nil { - for i, v := range s.WeightedTargets { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) - } + if s.Validation != nil { + if err := s.Validation.Validate(); err != nil { + invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) } } @@ -8693,66 +12732,116 @@ func (s *TcpRouteAction) Validate() error { return nil } -// SetWeightedTargets sets the WeightedTargets field's value. -func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction { - s.WeightedTargets = v +// SetEnforce sets the Enforce field's value. +func (s *VirtualGatewayClientPolicyTls) SetEnforce(v bool) *VirtualGatewayClientPolicyTls { + s.Enforce = &v return s } -type TcpTimeout struct { +// SetPorts sets the Ports field's value. +func (s *VirtualGatewayClientPolicyTls) SetPorts(v []*int64) *VirtualGatewayClientPolicyTls { + s.Ports = v + return s +} + +// SetValidation sets the Validation field's value. +func (s *VirtualGatewayClientPolicyTls) SetValidation(v *VirtualGatewayTlsValidationContext) *VirtualGatewayClientPolicyTls { + s.Validation = v + return s +} + +// An object that represents a virtual gateway returned by a describe operation. +type VirtualGatewayData struct { _ struct{} `type:"structure"` - // An object that represents a duration of time. - Idle *Duration `locationName:"idle" type:"structure"` + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // An object that represents metadata for a resource. + // + // Metadata is a required field + Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` + + // An object that represents the specification of a service mesh resource. + // + // Spec is a required field + Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` + + // An object that represents the status of the mesh resource. + // + // Status is a required field + Status *VirtualGatewayStatus `locationName:"status" type:"structure" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s TcpTimeout) String() string { +func (s VirtualGatewayData) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TcpTimeout) GoString() string { +func (s VirtualGatewayData) GoString() string { return s.String() } -// SetIdle sets the Idle field's value. -func (s *TcpTimeout) SetIdle(v *Duration) *TcpTimeout { - s.Idle = v +// SetMeshName sets the MeshName field's value. +func (s *VirtualGatewayData) SetMeshName(v string) *VirtualGatewayData { + s.MeshName = &v return s } -// An object that represents a Transport Layer Security (TLS) validation context. -type TlsValidationContext struct { +// SetMetadata sets the Metadata field's value. +func (s *VirtualGatewayData) SetMetadata(v *ResourceMetadata) *VirtualGatewayData { + s.Metadata = v + return s +} + +// SetSpec sets the Spec field's value. +func (s *VirtualGatewayData) SetSpec(v *VirtualGatewaySpec) *VirtualGatewayData { + s.Spec = v + return s +} + +// SetStatus sets the Status field's value. +func (s *VirtualGatewayData) SetStatus(v *VirtualGatewayStatus) *VirtualGatewayData { + s.Status = v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *VirtualGatewayData) SetVirtualGatewayName(v string) *VirtualGatewayData { + s.VirtualGatewayName = &v + return s +} + +// An object that represents an access log file. +type VirtualGatewayFileAccessLog struct { _ struct{} `type:"structure"` - // An object that represents a Transport Layer Security (TLS) validation context - // trust. - // - // Trust is a required field - Trust *TlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` + // Path is a required field + Path *string `locationName:"path" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s TlsValidationContext) String() string { +func (s VirtualGatewayFileAccessLog) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TlsValidationContext) GoString() string { +func (s VirtualGatewayFileAccessLog) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TlsValidationContext) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TlsValidationContext"} - if s.Trust == nil { - invalidParams.Add(request.NewErrParamRequired("Trust")) +func (s *VirtualGatewayFileAccessLog) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayFileAccessLog"} + if s.Path == nil { + invalidParams.Add(request.NewErrParamRequired("Path")) } - if s.Trust != nil { - if err := s.Trust.Validate(); err != nil { - invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) - } + if s.Path != nil && len(*s.Path) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Path", 1)) } if invalidParams.Len() > 0 { @@ -8761,39 +12850,79 @@ func (s *TlsValidationContext) Validate() error { return nil } -// SetTrust sets the Trust field's value. -func (s *TlsValidationContext) SetTrust(v *TlsValidationContextTrust) *TlsValidationContext { - s.Trust = v +// SetPath sets the Path field's value. +func (s *VirtualGatewayFileAccessLog) SetPath(v string) *VirtualGatewayFileAccessLog { + s.Path = &v return s } -// An object that represents a TLS validation context trust for an AWS Certicate -// Manager (ACM) certificate. -type TlsValidationContextAcmTrust struct { +// An object that represents the health check policy for a virtual gateway's +// listener. +type VirtualGatewayHealthCheckPolicy struct { _ struct{} `type:"structure"` - // CertificateAuthorityArns is a required field - CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"` + // HealthyThreshold is a required field + HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` + + // IntervalMillis is a required field + IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` + + Path *string `locationName:"path" type:"string"` + + Port *int64 `locationName:"port" min:"1" type:"integer"` + + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"` + + // TimeoutMillis is a required field + TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` + + // UnhealthyThreshold is a required field + UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` } // String returns the string representation -func (s TlsValidationContextAcmTrust) String() string { +func (s VirtualGatewayHealthCheckPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TlsValidationContextAcmTrust) GoString() string { +func (s VirtualGatewayHealthCheckPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TlsValidationContextAcmTrust) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextAcmTrust"} - if s.CertificateAuthorityArns == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) +func (s *VirtualGatewayHealthCheckPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayHealthCheckPolicy"} + if s.HealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) } - if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) + if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) + } + if s.IntervalMillis == nil { + invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) + } + if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { + invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.TimeoutMillis == nil { + invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) + } + if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) + } + if s.UnhealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) + } + if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) } if invalidParams.Len() > 0 { @@ -8802,88 +12931,95 @@ func (s *TlsValidationContextAcmTrust) Validate() error { return nil } -// SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. -func (s *TlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *TlsValidationContextAcmTrust { - s.CertificateAuthorityArns = v +// SetHealthyThreshold sets the HealthyThreshold field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetHealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy { + s.HealthyThreshold = &v return s } -// An object that represents a Transport Layer Security (TLS) validation context -// trust for a local file. -type TlsValidationContextFileTrust struct { - _ struct{} `type:"structure"` - - // CertificateChain is a required field - CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` +// SetIntervalMillis sets the IntervalMillis field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetIntervalMillis(v int64) *VirtualGatewayHealthCheckPolicy { + s.IntervalMillis = &v + return s } -// String returns the string representation -func (s TlsValidationContextFileTrust) String() string { - return awsutil.Prettify(s) +// SetPath sets the Path field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetPath(v string) *VirtualGatewayHealthCheckPolicy { + s.Path = &v + return s } -// GoString returns the string representation -func (s TlsValidationContextFileTrust) GoString() string { - return s.String() +// SetPort sets the Port field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetPort(v int64) *VirtualGatewayHealthCheckPolicy { + s.Port = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TlsValidationContextFileTrust) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextFileTrust"} - if s.CertificateChain == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateChain")) - } - if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) - } +// SetProtocol sets the Protocol field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetProtocol(v string) *VirtualGatewayHealthCheckPolicy { + s.Protocol = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetTimeoutMillis sets the TimeoutMillis field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetTimeoutMillis(v int64) *VirtualGatewayHealthCheckPolicy { + s.TimeoutMillis = &v + return s } -// SetCertificateChain sets the CertificateChain field's value. -func (s *TlsValidationContextFileTrust) SetCertificateChain(v string) *TlsValidationContextFileTrust { - s.CertificateChain = &v +// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetUnhealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy { + s.UnhealthyThreshold = &v return s } -// An object that represents a Transport Layer Security (TLS) validation context -// trust. -type TlsValidationContextTrust struct { +// An object that represents a listener for a virtual gateway. +type VirtualGatewayListener struct { _ struct{} `type:"structure"` - // An object that represents a TLS validation context trust for an AWS Certicate - // Manager (ACM) certificate. - Acm *TlsValidationContextAcmTrust `locationName:"acm" type:"structure"` + // An object that represents the health check policy for a virtual gateway's + // listener. + HealthCheck *VirtualGatewayHealthCheckPolicy `locationName:"healthCheck" type:"structure"` - // An object that represents a Transport Layer Security (TLS) validation context - // trust for a local file. - File *TlsValidationContextFileTrust `locationName:"file" type:"structure"` + // An object that represents a port mapping. + // + // PortMapping is a required field + PortMapping *VirtualGatewayPortMapping `locationName:"portMapping" type:"structure" required:"true"` + + // An object that represents the Transport Layer Security (TLS) properties for + // a listener. + Tls *VirtualGatewayListenerTls `locationName:"tls" type:"structure"` } // String returns the string representation -func (s TlsValidationContextTrust) String() string { +func (s VirtualGatewayListener) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TlsValidationContextTrust) GoString() string { +func (s VirtualGatewayListener) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TlsValidationContextTrust) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextTrust"} - if s.Acm != nil { - if err := s.Acm.Validate(); err != nil { - invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) +func (s *VirtualGatewayListener) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListener"} + if s.PortMapping == nil { + invalidParams.Add(request.NewErrParamRequired("PortMapping")) + } + if s.HealthCheck != nil { + if err := s.HealthCheck.Validate(); err != nil { + invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) } } - if s.File != nil { - if err := s.File.Validate(); err != nil { - invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + if s.PortMapping != nil { + if err := s.PortMapping.Validate(); err != nil { + invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) + } + } + if s.Tls != nil { + if err := s.Tls.Validate(); err != nil { + invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) } } @@ -8893,162 +13029,153 @@ func (s *TlsValidationContextTrust) Validate() error { return nil } -// SetAcm sets the Acm field's value. -func (s *TlsValidationContextTrust) SetAcm(v *TlsValidationContextAcmTrust) *TlsValidationContextTrust { - s.Acm = v +// SetHealthCheck sets the HealthCheck field's value. +func (s *VirtualGatewayListener) SetHealthCheck(v *VirtualGatewayHealthCheckPolicy) *VirtualGatewayListener { + s.HealthCheck = v return s } -// SetFile sets the File field's value. -func (s *TlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *TlsValidationContextTrust { - s.File = v +// SetPortMapping sets the PortMapping field's value. +func (s *VirtualGatewayListener) SetPortMapping(v *VirtualGatewayPortMapping) *VirtualGatewayListener { + s.PortMapping = v return s } -// The maximum request rate permitted by the App Mesh APIs has been exceeded -// for your account. For best results, use an increasing or variable sleep interval -// between requests. -type TooManyRequestsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetTls sets the Tls field's value. +func (s *VirtualGatewayListener) SetTls(v *VirtualGatewayListenerTls) *VirtualGatewayListener { + s.Tls = v + return s +} - Message_ *string `locationName:"message" type:"string"` +// An object that represents the Transport Layer Security (TLS) properties for +// a listener. +type VirtualGatewayListenerTls struct { + _ struct{} `type:"structure"` + + // An object that represents a listener's Transport Layer Security (TLS) certificate. + // + // Certificate is a required field + Certificate *VirtualGatewayListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` + + // Mode is a required field + Mode *string `locationName:"mode" type:"string" required:"true" enum:"VirtualGatewayListenerTlsMode"` } // String returns the string representation -func (s TooManyRequestsException) String() string { +func (s VirtualGatewayListenerTls) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TooManyRequestsException) GoString() string { +func (s VirtualGatewayListenerTls) GoString() string { return s.String() } -func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { - return &TooManyRequestsException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayListenerTls) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTls"} + if s.Certificate == nil { + invalidParams.Add(request.NewErrParamRequired("Certificate")) } -} - -// Code returns the exception type name. -func (s *TooManyRequestsException) Code() string { - return "TooManyRequestsException" -} - -// Message returns the exception's message. -func (s *TooManyRequestsException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Mode == nil { + invalidParams.Add(request.NewErrParamRequired("Mode")) + } + if s.Certificate != nil { + if err := s.Certificate.Validate(); err != nil { + invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *TooManyRequestsException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *TooManyRequestsException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *TooManyRequestsException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetCertificate sets the Certificate field's value. +func (s *VirtualGatewayListenerTls) SetCertificate(v *VirtualGatewayListenerTlsCertificate) *VirtualGatewayListenerTls { + s.Certificate = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *TooManyRequestsException) RequestID() string { - return s.RespMetadata.RequestID +// SetMode sets the Mode field's value. +func (s *VirtualGatewayListenerTls) SetMode(v string) *VirtualGatewayListenerTls { + s.Mode = &v + return s } -// The request exceeds the maximum allowed number of tags allowed per resource. -// The current limit is 50 user tags per resource. You must reduce the number -// of tags in the request. None of the tags in this request were applied. -type TooManyTagsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// An object that represents an AWS Certicate Manager (ACM) certificate. +type VirtualGatewayListenerTlsAcmCertificate struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // CertificateArn is a required field + CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"` } // String returns the string representation -func (s TooManyTagsException) String() string { +func (s VirtualGatewayListenerTlsAcmCertificate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TooManyTagsException) GoString() string { +func (s VirtualGatewayListenerTlsAcmCertificate) GoString() string { return s.String() } -func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { - return &TooManyTagsException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayListenerTlsAcmCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsAcmCertificate"} + if s.CertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateArn")) } -} - -// Code returns the exception type name. -func (s *TooManyTagsException) Code() string { - return "TooManyTagsException" -} -// Message returns the exception's message. -func (s *TooManyTagsException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *TooManyTagsException) OrigErr() error { return nil } -func (s *TooManyTagsException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *TooManyTagsException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *TooManyTagsException) RequestID() string { - return s.RespMetadata.RequestID +// SetCertificateArn sets the CertificateArn field's value. +func (s *VirtualGatewayListenerTlsAcmCertificate) SetCertificateArn(v string) *VirtualGatewayListenerTlsAcmCertificate { + s.CertificateArn = &v + return s } -type UntagResourceInput struct { +// An object that represents a listener's Transport Layer Security (TLS) certificate. +type VirtualGatewayListenerTlsCertificate struct { _ struct{} `type:"structure"` - // ResourceArn is a required field - ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` + // An object that represents an AWS Certicate Manager (ACM) certificate. + Acm *VirtualGatewayListenerTlsAcmCertificate `locationName:"acm" type:"structure"` - // TagKeys is a required field - TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` + // An object that represents a local file certificate. The certificate must + // meet specific requirements and you must have proxy authorization enabled. + // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). + File *VirtualGatewayListenerTlsFileCertificate `locationName:"file" type:"structure"` } // String returns the string representation -func (s UntagResourceInput) String() string { +func (s VirtualGatewayListenerTlsCertificate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceInput) GoString() string { +func (s VirtualGatewayListenerTlsCertificate) 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 *VirtualGatewayListenerTlsCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsCertificate"} + if s.Acm != nil { + if err := s.Acm.Validate(); err != nil { + invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) + } } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -9057,67 +13184,55 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetAcm sets the Acm field's value. +func (s *VirtualGatewayListenerTlsCertificate) SetAcm(v *VirtualGatewayListenerTlsAcmCertificate) *VirtualGatewayListenerTlsCertificate { + s.Acm = v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetFile sets the File field's value. +func (s *VirtualGatewayListenerTlsCertificate) SetFile(v *VirtualGatewayListenerTlsFileCertificate) *VirtualGatewayListenerTlsCertificate { + s.File = 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 UpdateMeshInput struct { +// An object that represents a local file certificate. The certificate must +// meet specific requirements and you must have proxy authorization enabled. +// For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). +type VirtualGatewayListenerTlsFileCertificate struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + // CertificateChain is a required field + CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` - // An object that represents the specification of a service mesh. - Spec *MeshSpec `locationName:"spec" type:"structure"` + // PrivateKey is a required field + PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s UpdateMeshInput) String() string { +func (s VirtualGatewayListenerTlsFileCertificate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateMeshInput) GoString() string { +func (s VirtualGatewayListenerTlsFileCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateMeshInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) +func (s *VirtualGatewayListenerTlsFileCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsFileCertificate"} + if s.CertificateChain == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateChain")) } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) - } + if s.PrivateKey == nil { + invalidParams.Add(request.NewErrParamRequired("PrivateKey")) + } + if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) } if invalidParams.Len() > 0 { @@ -9126,112 +13241,89 @@ func (s *UpdateMeshInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput { - s.ClientToken = &v - return s -} - -// SetMeshName sets the MeshName field's value. -func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput { - s.MeshName = &v +// SetCertificateChain sets the CertificateChain field's value. +func (s *VirtualGatewayListenerTlsFileCertificate) SetCertificateChain(v string) *VirtualGatewayListenerTlsFileCertificate { + s.CertificateChain = &v return s } -// SetSpec sets the Spec field's value. -func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { - s.Spec = v +// SetPrivateKey sets the PrivateKey field's value. +func (s *VirtualGatewayListenerTlsFileCertificate) SetPrivateKey(v string) *VirtualGatewayListenerTlsFileCertificate { + s.PrivateKey = &v return s } -type UpdateMeshOutput struct { - _ struct{} `type:"structure" payload:"Mesh"` +// An object that represents logging information. +type VirtualGatewayLogging struct { + _ struct{} `type:"structure"` - // An object that represents a service mesh returned by a describe operation. - // - // Mesh is a required field - Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` + // The access log configuration for a virtual gateway. + AccessLog *VirtualGatewayAccessLog `locationName:"accessLog" type:"structure"` } // String returns the string representation -func (s UpdateMeshOutput) String() string { +func (s VirtualGatewayLogging) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateMeshOutput) GoString() string { +func (s VirtualGatewayLogging) GoString() string { return s.String() } -// SetMesh sets the Mesh field's value. -func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput { - s.Mesh = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayLogging) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayLogging"} + if s.AccessLog != nil { + if err := s.AccessLog.Validate(); err != nil { + invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessLog sets the AccessLog field's value. +func (s *VirtualGatewayLogging) SetAccessLog(v *VirtualGatewayAccessLog) *VirtualGatewayLogging { + s.AccessLog = v return s } -type UpdateRouteInput struct { +// An object that represents a port mapping. +type VirtualGatewayPortMapping struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - - // RouteName is a required field - RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` - - // An object that represents a route specification. Specify one route type. - // - // Spec is a required field - Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` + // Port is a required field + Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"` } // String returns the string representation -func (s UpdateRouteInput) String() string { +func (s VirtualGatewayPortMapping) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateRouteInput) GoString() string { +func (s VirtualGatewayPortMapping) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateRouteInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) - } - if s.RouteName == nil { - invalidParams.Add(request.NewErrParamRequired("RouteName")) - } - if s.RouteName != nil && len(*s.RouteName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) - } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) +func (s *VirtualGatewayPortMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayPortMapping"} + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) - } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) } if invalidParams.Len() > 0 { @@ -9240,120 +13332,153 @@ func (s *UpdateRouteInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput { - s.ClientToken = &v +// SetPort sets the Port field's value. +func (s *VirtualGatewayPortMapping) SetPort(v int64) *VirtualGatewayPortMapping { + s.Port = &v return s } -// SetMeshName sets the MeshName field's value. -func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput { - s.MeshName = &v +// SetProtocol sets the Protocol field's value. +func (s *VirtualGatewayPortMapping) SetProtocol(v string) *VirtualGatewayPortMapping { + s.Protocol = &v return s } -// SetMeshOwner sets the MeshOwner field's value. -func (s *UpdateRouteInput) SetMeshOwner(v string) *UpdateRouteInput { - s.MeshOwner = &v - return s +// An object that represents a virtual gateway returned by a list operation. +type VirtualGatewayRef struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } -// SetRouteName sets the RouteName field's value. -func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput { - s.RouteName = &v +// String returns the string representation +func (s VirtualGatewayRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VirtualGatewayRef) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *VirtualGatewayRef) SetArn(v string) *VirtualGatewayRef { + s.Arn = &v return s } -// SetSpec sets the Spec field's value. -func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput { - s.Spec = v +// SetCreatedAt sets the CreatedAt field's value. +func (s *VirtualGatewayRef) SetCreatedAt(v time.Time) *VirtualGatewayRef { + s.CreatedAt = &v return s } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput { - s.VirtualRouterName = &v +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *VirtualGatewayRef) SetLastUpdatedAt(v time.Time) *VirtualGatewayRef { + s.LastUpdatedAt = &v return s } -type UpdateRouteOutput struct { - _ struct{} `type:"structure" payload:"Route"` +// SetMeshName sets the MeshName field's value. +func (s *VirtualGatewayRef) SetMeshName(v string) *VirtualGatewayRef { + s.MeshName = &v + return s +} - // An object that represents a route returned by a describe operation. - // - // Route is a required field - Route *RouteData `locationName:"route" type:"structure" required:"true"` +// SetMeshOwner sets the MeshOwner field's value. +func (s *VirtualGatewayRef) SetMeshOwner(v string) *VirtualGatewayRef { + s.MeshOwner = &v + return s } -// String returns the string representation -func (s UpdateRouteOutput) String() string { - return awsutil.Prettify(s) +// SetResourceOwner sets the ResourceOwner field's value. +func (s *VirtualGatewayRef) SetResourceOwner(v string) *VirtualGatewayRef { + s.ResourceOwner = &v + return s } -// GoString returns the string representation -func (s UpdateRouteOutput) GoString() string { - return s.String() +// SetVersion sets the Version field's value. +func (s *VirtualGatewayRef) SetVersion(v int64) *VirtualGatewayRef { + s.Version = &v + return s } -// SetRoute sets the Route field's value. -func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput { - s.Route = v +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *VirtualGatewayRef) SetVirtualGatewayName(v string) *VirtualGatewayRef { + s.VirtualGatewayName = &v return s } -type UpdateVirtualNodeInput struct { +// An object that represents the specification of a service mesh resource. +type VirtualGatewaySpec struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + // An object that represents the default properties for a backend. + BackendDefaults *VirtualGatewayBackendDefaults `locationName:"backendDefaults" type:"structure"` - // An object that represents the specification of a virtual node. - // - // Spec is a required field - Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` + // Listeners is a required field + Listeners []*VirtualGatewayListener `locationName:"listeners" type:"list" required:"true"` - // VirtualNodeName is a required field - VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` + // An object that represents logging information. + Logging *VirtualGatewayLogging `locationName:"logging" type:"structure"` } // String returns the string representation -func (s UpdateVirtualNodeInput) String() string { +func (s VirtualGatewaySpec) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualNodeInput) GoString() string { +func (s VirtualGatewaySpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateVirtualNodeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) +func (s *VirtualGatewaySpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewaySpec"} + if s.Listeners == nil { + invalidParams.Add(request.NewErrParamRequired("Listeners")) } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) - } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } - if s.VirtualNodeName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + if s.BackendDefaults != nil { + if err := s.BackendDefaults.Validate(); err != nil { + invalidParams.AddNested("BackendDefaults", err.(request.ErrInvalidParams)) + } } - if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + if s.Listeners != nil { + for i, v := range s.Listeners { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) + } + } } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + if s.Logging != nil { + if err := s.Logging.Validate(); err != nil { + invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) } } @@ -9363,114 +13488,78 @@ func (s *UpdateVirtualNodeInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput { - s.ClientToken = &v - return s -} - -// SetMeshName sets the MeshName field's value. -func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput { - s.MeshName = &v - return s -} - -// SetMeshOwner sets the MeshOwner field's value. -func (s *UpdateVirtualNodeInput) SetMeshOwner(v string) *UpdateVirtualNodeInput { - s.MeshOwner = &v +// SetBackendDefaults sets the BackendDefaults field's value. +func (s *VirtualGatewaySpec) SetBackendDefaults(v *VirtualGatewayBackendDefaults) *VirtualGatewaySpec { + s.BackendDefaults = v return s } -// SetSpec sets the Spec field's value. -func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput { - s.Spec = v +// SetListeners sets the Listeners field's value. +func (s *VirtualGatewaySpec) SetListeners(v []*VirtualGatewayListener) *VirtualGatewaySpec { + s.Listeners = v return s } -// SetVirtualNodeName sets the VirtualNodeName field's value. -func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput { - s.VirtualNodeName = &v +// SetLogging sets the Logging field's value. +func (s *VirtualGatewaySpec) SetLogging(v *VirtualGatewayLogging) *VirtualGatewaySpec { + s.Logging = v return s } -type UpdateVirtualNodeOutput struct { - _ struct{} `type:"structure" payload:"VirtualNode"` - - // An object that represents a virtual node returned by a describe operation. - // - // VirtualNode is a required field - VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` +// An object that represents the status of the mesh resource. +type VirtualGatewayStatus struct { + _ struct{} `type:"structure"` + + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualGatewayStatusCode"` } // String returns the string representation -func (s UpdateVirtualNodeOutput) String() string { +func (s VirtualGatewayStatus) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualNodeOutput) GoString() string { +func (s VirtualGatewayStatus) GoString() string { return s.String() } -// SetVirtualNode sets the VirtualNode field's value. -func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput { - s.VirtualNode = v +// SetStatus sets the Status field's value. +func (s *VirtualGatewayStatus) SetStatus(v string) *VirtualGatewayStatus { + s.Status = &v return s } -type UpdateVirtualRouterInput struct { +// An object that represents a Transport Layer Security (TLS) validation context. +type VirtualGatewayTlsValidationContext struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - - // An object that represents the specification of a virtual router. + // An object that represents a Transport Layer Security (TLS) validation context + // trust. // - // Spec is a required field - Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` - - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // Trust is a required field + Trust *VirtualGatewayTlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` } // String returns the string representation -func (s UpdateVirtualRouterInput) String() string { +func (s VirtualGatewayTlsValidationContext) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualRouterInput) GoString() string { +func (s VirtualGatewayTlsValidationContext) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateVirtualRouterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) - } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) - } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) +func (s *VirtualGatewayTlsValidationContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContext"} + if s.Trust == nil { + invalidParams.Add(request.NewErrParamRequired("Trust")) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + if s.Trust != nil { + if err := s.Trust.Validate(); err != nil { + invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) } } @@ -9480,115 +13569,80 @@ func (s *UpdateVirtualRouterInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput { - s.ClientToken = &v - return s -} - -// SetMeshName sets the MeshName field's value. -func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput { - s.MeshName = &v - return s -} - -// SetMeshOwner sets the MeshOwner field's value. -func (s *UpdateVirtualRouterInput) SetMeshOwner(v string) *UpdateVirtualRouterInput { - s.MeshOwner = &v - return s -} - -// SetSpec sets the Spec field's value. -func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput { - s.Spec = v - return s -} - -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput { - s.VirtualRouterName = &v +// SetTrust sets the Trust field's value. +func (s *VirtualGatewayTlsValidationContext) SetTrust(v *VirtualGatewayTlsValidationContextTrust) *VirtualGatewayTlsValidationContext { + s.Trust = v return s } -type UpdateVirtualRouterOutput struct { - _ struct{} `type:"structure" payload:"VirtualRouter"` +// An object that represents a TLS validation context trust for an AWS Certicate +// Manager (ACM) certificate. +type VirtualGatewayTlsValidationContextAcmTrust struct { + _ struct{} `type:"structure"` - // An object that represents a virtual router returned by a describe operation. - // - // VirtualRouter is a required field - VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` + // CertificateAuthorityArns is a required field + CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"` } // String returns the string representation -func (s UpdateVirtualRouterOutput) String() string { +func (s VirtualGatewayTlsValidationContextAcmTrust) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualRouterOutput) GoString() string { +func (s VirtualGatewayTlsValidationContextAcmTrust) GoString() string { return s.String() } -// SetVirtualRouter sets the VirtualRouter field's value. -func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput { - s.VirtualRouter = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayTlsValidationContextAcmTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextAcmTrust"} + if s.CertificateAuthorityArns == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) + } + if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. +func (s *VirtualGatewayTlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *VirtualGatewayTlsValidationContextAcmTrust { + s.CertificateAuthorityArns = v return s } -type UpdateVirtualServiceInput struct { +// An object that represents a Transport Layer Security (TLS) validation context +// trust for a local file. +type VirtualGatewayTlsValidationContextFileTrust struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - - // An object that represents the specification of a virtual service. - // - // Spec is a required field - Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` - - // VirtualServiceName is a required field - VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` + // CertificateChain is a required field + CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s UpdateVirtualServiceInput) String() string { +func (s VirtualGatewayTlsValidationContextFileTrust) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualServiceInput) GoString() string { +func (s VirtualGatewayTlsValidationContextFileTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateVirtualServiceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) - } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } - if s.VirtualServiceName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) - } - if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) +func (s *VirtualGatewayTlsValidationContextFileTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextFileTrust"} + if s.CertificateChain == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateChain")) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) - } + if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) } if invalidParams.Len() > 0 { @@ -9597,58 +13651,65 @@ func (s *UpdateVirtualServiceInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput { - s.ClientToken = &v - return s -} - -// SetMeshName sets the MeshName field's value. -func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput { - s.MeshName = &v - return s -} - -// SetMeshOwner sets the MeshOwner field's value. -func (s *UpdateVirtualServiceInput) SetMeshOwner(v string) *UpdateVirtualServiceInput { - s.MeshOwner = &v - return s -} - -// SetSpec sets the Spec field's value. -func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput { - s.Spec = v +// SetCertificateChain sets the CertificateChain field's value. +func (s *VirtualGatewayTlsValidationContextFileTrust) SetCertificateChain(v string) *VirtualGatewayTlsValidationContextFileTrust { + s.CertificateChain = &v return s } -// SetVirtualServiceName sets the VirtualServiceName field's value. -func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput { - s.VirtualServiceName = &v - return s -} +// An object that represents a Transport Layer Security (TLS) validation context +// trust. +type VirtualGatewayTlsValidationContextTrust struct { + _ struct{} `type:"structure"` -type UpdateVirtualServiceOutput struct { - _ struct{} `type:"structure" payload:"VirtualService"` + // An object that represents a TLS validation context trust for an AWS Certicate + // Manager (ACM) certificate. + Acm *VirtualGatewayTlsValidationContextAcmTrust `locationName:"acm" type:"structure"` - // An object that represents a virtual service returned by a describe operation. - // - // VirtualService is a required field - VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` + // An object that represents a Transport Layer Security (TLS) validation context + // trust for a local file. + File *VirtualGatewayTlsValidationContextFileTrust `locationName:"file" type:"structure"` } // String returns the string representation -func (s UpdateVirtualServiceOutput) String() string { +func (s VirtualGatewayTlsValidationContextTrust) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualServiceOutput) GoString() string { +func (s VirtualGatewayTlsValidationContextTrust) GoString() string { return s.String() } -// SetVirtualService sets the VirtualService field's value. -func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput { - s.VirtualService = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayTlsValidationContextTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextTrust"} + if s.Acm != nil { + if err := s.Acm.Validate(); err != nil { + invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) + } + } + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcm sets the Acm field's value. +func (s *VirtualGatewayTlsValidationContextTrust) SetAcm(v *VirtualGatewayTlsValidationContextAcmTrust) *VirtualGatewayTlsValidationContextTrust { + s.Acm = v + return s +} + +// SetFile sets the File field's value. +func (s *VirtualGatewayTlsValidationContextTrust) SetFile(v *VirtualGatewayTlsValidationContextFileTrust) *VirtualGatewayTlsValidationContextTrust { + s.File = v return s } @@ -10672,6 +14733,17 @@ const ( EgressFilterTypeDropAll = "DROP_ALL" ) +const ( + // GatewayRouteStatusCodeActive is a GatewayRouteStatusCode enum value + GatewayRouteStatusCodeActive = "ACTIVE" + + // GatewayRouteStatusCodeDeleted is a GatewayRouteStatusCode enum value + GatewayRouteStatusCodeDeleted = "DELETED" + + // GatewayRouteStatusCodeInactive is a GatewayRouteStatusCode enum value + GatewayRouteStatusCodeInactive = "INACTIVE" +) + const ( // GrpcRetryPolicyEventCancelled is a GrpcRetryPolicyEvent enum value GrpcRetryPolicyEventCancelled = "cancelled" @@ -10778,6 +14850,39 @@ const ( TcpRetryPolicyEventConnectionError = "connection-error" ) +const ( + // VirtualGatewayListenerTlsModeDisabled is a VirtualGatewayListenerTlsMode enum value + VirtualGatewayListenerTlsModeDisabled = "DISABLED" + + // VirtualGatewayListenerTlsModePermissive is a VirtualGatewayListenerTlsMode enum value + VirtualGatewayListenerTlsModePermissive = "PERMISSIVE" + + // VirtualGatewayListenerTlsModeStrict is a VirtualGatewayListenerTlsMode enum value + VirtualGatewayListenerTlsModeStrict = "STRICT" +) + +const ( + // VirtualGatewayPortProtocolGrpc is a VirtualGatewayPortProtocol enum value + VirtualGatewayPortProtocolGrpc = "grpc" + + // VirtualGatewayPortProtocolHttp is a VirtualGatewayPortProtocol enum value + VirtualGatewayPortProtocolHttp = "http" + + // VirtualGatewayPortProtocolHttp2 is a VirtualGatewayPortProtocol enum value + VirtualGatewayPortProtocolHttp2 = "http2" +) + +const ( + // VirtualGatewayStatusCodeActive is a VirtualGatewayStatusCode enum value + VirtualGatewayStatusCodeActive = "ACTIVE" + + // VirtualGatewayStatusCodeDeleted is a VirtualGatewayStatusCode enum value + VirtualGatewayStatusCodeDeleted = "DELETED" + + // VirtualGatewayStatusCodeInactive is a VirtualGatewayStatusCode enum value + VirtualGatewayStatusCodeInactive = "INACTIVE" +) + const ( // VirtualNodeStatusCodeActive is a VirtualNodeStatusCode enum value VirtualNodeStatusCodeActive = "ACTIVE" 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 8215648e8d8..83e616aff0d 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 @@ -4449,8 +4449,8 @@ type CachingConfig struct { // The caching keys for a resolver that has caching enabled. // - // Valid values are entries from the $context.identity and $context.arguments - // maps. + // Valid values are entries from the $context.arguments, $context.source, and + // $context.identity maps. CachingKeys []*string `locationName:"cachingKeys" type:"list"` // The TTL in seconds for a resolver that has caching enabled. @@ -8585,7 +8585,7 @@ type RdsHttpEndpointConfig struct { // Logical database name. DatabaseName *string `locationName:"databaseName" type:"string"` - // Amazon RDS cluster identifier. + // Amazon RDS cluster ARN. DbClusterIdentifier *string `locationName:"dbClusterIdentifier" type:"string"` // Logical schema name. @@ -10315,6 +10315,30 @@ const ( // ApiCacheTypeR48xlarge is a ApiCacheType enum value ApiCacheTypeR48xlarge = "R4_8XLARGE" + + // ApiCacheTypeSmall is a ApiCacheType enum value + ApiCacheTypeSmall = "SMALL" + + // ApiCacheTypeMedium is a ApiCacheType enum value + ApiCacheTypeMedium = "MEDIUM" + + // ApiCacheTypeLarge is a ApiCacheType enum value + ApiCacheTypeLarge = "LARGE" + + // ApiCacheTypeXlarge is a ApiCacheType enum value + ApiCacheTypeXlarge = "XLARGE" + + // ApiCacheTypeLarge2x is a ApiCacheType enum value + ApiCacheTypeLarge2x = "LARGE_2X" + + // ApiCacheTypeLarge4x is a ApiCacheType enum value + ApiCacheTypeLarge4x = "LARGE_4X" + + // ApiCacheTypeLarge8x is a ApiCacheType enum value + ApiCacheTypeLarge8x = "LARGE_8X" + + // ApiCacheTypeLarge12x is a ApiCacheType enum value + ApiCacheTypeLarge12x = "LARGE_12X" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go index 4dad56eaa9d..2b7b553c960 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go @@ -733,6 +733,12 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou // Scaling Groups (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html) // in the Amazon EC2 Auto Scaling User Guide. // +// Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize, +// and MinSize). Usually, you set these sizes based on a specific number of +// instances. However, if you configure a mixed instances policy that defines +// weights for the instance types, you must specify these sizes with the same +// units that you use for weighting instances. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -6592,8 +6598,8 @@ type CreateAutoScalingGroupInput struct { // With a mixed instances policy that uses instance weighting, Amazon EC2 Auto // Scaling may need to go above MaxSize to meet your capacity requirements. // In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more - // than your maximum instance weight (weights that define how many capacity - // units each instance contributes to the capacity of the group). + // than your largest instance weight (weights that define how many units each + // instance contributes to the desired capacity of the group). // // MaxSize is a required field MaxSize *int64 `type:"integer" required:"true"` @@ -7035,6 +7041,11 @@ type CreateLaunchConfigurationInput struct { // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` + // The metadata options for the instances. For more information, see Instance + // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) + // in the Amazon EC2 User Guide for Linux Instances. + MetadataOptions *InstanceMetadataOptions `type:"structure"` + // The tenancy of the instance. An instance with dedicated tenancy runs on isolated, // single-tenant hardware and can only be launched into a VPC. // @@ -7142,6 +7153,11 @@ func (s *CreateLaunchConfigurationInput) Validate() error { } } } + if s.MetadataOptions != nil { + if err := s.MetadataOptions.Validate(); err != nil { + invalidParams.AddNested("MetadataOptions", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7227,6 +7243,12 @@ func (s *CreateLaunchConfigurationInput) SetLaunchConfigurationName(v string) *C return s } +// SetMetadataOptions sets the MetadataOptions field's value. +func (s *CreateLaunchConfigurationInput) SetMetadataOptions(v *InstanceMetadataOptions) *CreateLaunchConfigurationInput { + s.MetadataOptions = v + return s +} + // SetPlacementTenancy sets the PlacementTenancy field's value. func (s *CreateLaunchConfigurationInput) SetPlacementTenancy(v string) *CreateLaunchConfigurationInput { s.PlacementTenancy = &v @@ -10826,6 +10848,84 @@ func (s *InstanceDetails) SetWeightedCapacity(v string) *InstanceDetails { return s } +// The metadata options for the instances. For more information, see Instance +// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) +// in the Amazon EC2 User Guide for Linux Instances. +type InstanceMetadataOptions struct { + _ struct{} `type:"structure"` + + // This parameter enables or disables the HTTP metadata endpoint on your instances. + // If the parameter is not specified, the default state is enabled. + // + // If you specify a value of disabled, you will not be able to access your instance + // metadata. + HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"` + + // The desired HTTP PUT response hop limit for instance metadata requests. The + // larger the number, the further instance metadata requests can travel. + // + // Default: 1 + // + // Possible values: Integers from 1 to 64 + HttpPutResponseHopLimit *int64 `min:"1" type:"integer"` + + // The state of token usage for your instance metadata requests. If the parameter + // is not specified in the request, the default state is optional. + // + // If the state is optional, you can choose to retrieve instance metadata with + // or without a signed token header on your request. If you retrieve the IAM + // role credentials without a token, the version 1.0 role credentials are returned. + // If you retrieve the IAM role credentials using a valid signed token, the + // version 2.0 role credentials are returned. + // + // If the state is required, you must send a signed token header with any instance + // metadata retrieval requests. In this state, retrieving the IAM role credentials + // always returns the version 2.0 credentials; the version 1.0 credentials are + // not available. + HttpTokens *string `type:"string" enum:"InstanceMetadataHttpTokensState"` +} + +// String returns the string representation +func (s InstanceMetadataOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceMetadataOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceMetadataOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceMetadataOptions"} + if s.HttpPutResponseHopLimit != nil && *s.HttpPutResponseHopLimit < 1 { + invalidParams.Add(request.NewErrParamMinValue("HttpPutResponseHopLimit", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHttpEndpoint sets the HttpEndpoint field's value. +func (s *InstanceMetadataOptions) SetHttpEndpoint(v string) *InstanceMetadataOptions { + s.HttpEndpoint = &v + return s +} + +// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value. +func (s *InstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptions { + s.HttpPutResponseHopLimit = &v + return s +} + +// SetHttpTokens sets the HttpTokens field's value. +func (s *InstanceMetadataOptions) SetHttpTokens(v string) *InstanceMetadataOptions { + s.HttpTokens = &v + return s +} + // Describes whether detailed monitoring is enabled for the Auto Scaling instances. type InstanceMonitoring struct { _ struct{} `type:"structure"` @@ -11188,6 +11288,11 @@ type LaunchConfiguration struct { // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` + // The metadata options for the instances. For more information, see Instance + // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) + // in the Amazon EC2 User Guide for Linux Instances. + MetadataOptions *InstanceMetadataOptions `type:"structure"` + // The tenancy of the instance, either default or dedicated. An instance with // dedicated tenancy runs on isolated, single-tenant hardware and can only be // launched into a VPC. @@ -11316,6 +11421,12 @@ func (s *LaunchConfiguration) SetLaunchConfigurationName(v string) *LaunchConfig return s } +// SetMetadataOptions sets the MetadataOptions field's value. +func (s *LaunchConfiguration) SetMetadataOptions(v *InstanceMetadataOptions) *LaunchConfiguration { + s.MetadataOptions = v + return s +} + // SetPlacementTenancy sets the PlacementTenancy field's value. func (s *LaunchConfiguration) SetPlacementTenancy(v string) *LaunchConfiguration { s.PlacementTenancy = &v @@ -11973,6 +12084,16 @@ type MetricCollectionType struct { // * GroupTerminatingInstances // // * GroupTotalInstances + // + // * GroupInServiceCapacity + // + // * GroupPendingCapacity + // + // * GroupStandbyCapacity + // + // * GroupTerminatingCapacity + // + // * GroupTotalCapacity Metric *string `min:"1" type:"string"` } @@ -12572,9 +12693,9 @@ func (s PutNotificationConfigurationOutput) GoString() string { type PutScalingPolicyInput struct { _ struct{} `type:"structure"` - // Specifies how the scaling adjustment is interpreted (either an absolute number - // or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and - // PercentChangeInCapacity. + // Specifies how the scaling adjustment is interpreted (for example, an absolute + // number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, + // and PercentChangeInCapacity. // // Required if the policy type is StepScaling or SimpleScaling. For more information, // see Scaling Adjustment Types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment) @@ -13163,9 +13284,9 @@ func (s ResumeProcessesOutput) GoString() string { type ScalingPolicy struct { _ struct{} `type:"structure"` - // Specifies how the scaling adjustment is interpreted (either an absolute number - // or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and - // PercentChangeInCapacity. + // Specifies how the scaling adjustment is interpreted (for example, an absolute + // number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, + // and PercentChangeInCapacity. AdjustmentType *string `min:"1" type:"string"` // The CloudWatch alarms related to the policy. @@ -14500,8 +14621,8 @@ type UpdateAutoScalingGroupInput struct { // With a mixed instances policy that uses instance weighting, Amazon EC2 Auto // Scaling may need to go above MaxSize to meet your capacity requirements. // In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more - // than your maximum instance weight (weights that define how many capacity - // units each instance contributes to the capacity of the group). + // than your largest instance weight (weights that define how many units each + // instance contributes to the desired capacity of the group). MaxSize *int64 `type:"integer"` // The minimum size of the Auto Scaling group. @@ -14725,6 +14846,22 @@ func (s UpdateAutoScalingGroupOutput) GoString() string { return s.String() } +const ( + // InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value + InstanceMetadataEndpointStateDisabled = "disabled" + + // InstanceMetadataEndpointStateEnabled is a InstanceMetadataEndpointState enum value + InstanceMetadataEndpointStateEnabled = "enabled" +) + +const ( + // InstanceMetadataHttpTokensStateOptional is a InstanceMetadataHttpTokensState enum value + InstanceMetadataHttpTokensStateOptional = "optional" + + // InstanceMetadataHttpTokensStateRequired is a InstanceMetadataHttpTokensState enum value + InstanceMetadataHttpTokensStateRequired = "required" +) + const ( // InstanceRefreshStatusPending is a InstanceRefreshStatus enum value InstanceRefreshStatusPending = "Pending" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go index fc0bba549e6..58e63221183 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go @@ -13,7 +13,138 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restxml" ) -const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIdentity2019_03_26" +const opCreateCachePolicy = "CreateCachePolicy2020_05_31" + +// CreateCachePolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateCachePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCachePolicy for more information on using the CreateCachePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateCachePolicyRequest method. +// req, resp := client.CreateCachePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCachePolicy +func (c *CloudFront) CreateCachePolicyRequest(input *CreateCachePolicyInput) (req *request.Request, output *CreateCachePolicyOutput) { + op := &request.Operation{ + Name: opCreateCachePolicy, + HTTPMethod: "POST", + HTTPPath: "/2020-05-31/cache-policy", + } + + if input == nil { + input = &CreateCachePolicyInput{} + } + + output = &CreateCachePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCachePolicy API operation for Amazon CloudFront. +// +// Creates a cache policy. +// +// After you create a cache policy, you can attach it to one or more cache behaviors. +// When it’s attached to a cache behavior, the cache policy determines the +// following: +// +// * The values that CloudFront includes in the cache key. These values can +// include HTTP headers, cookies, and URL query strings. CloudFront uses +// the cache key to find an object in its cache that it can return to the +// viewer. +// +// * The default, minimum, and maximum time to live (TTL) values that you +// want objects to stay in the CloudFront cache. +// +// The headers, cookies, and query strings that are included in the cache key +// are automatically included in requests that CloudFront sends to the origin. +// CloudFront sends a request when it can’t find an object in its cache that +// matches the request’s cache key. If you want to send values to the origin +// but not include them in the cache key, use CreateOriginRequestPolicy. +// +// For more information about cache policies, see Controlling the cache key +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html) +// in the Amazon CloudFront 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 Amazon CloudFront's +// API operation CreateCachePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeCachePolicyAlreadyExists "CachePolicyAlreadyExists" +// A cache policy with this name already exists. You must provide a unique name. +// To modify an existing cache policy, use UpdateCachePolicy. +// +// * ErrCodeTooManyCachePolicies "TooManyCachePolicies" +// You have reached the maximum number of cache policies for this AWS account. +// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyHeadersInCachePolicy "TooManyHeadersInCachePolicy" +// The number of headers in the cache policy exceeds the maximum. For more information, +// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyCookiesInCachePolicy "TooManyCookiesInCachePolicy" +// The number of cookies in the cache policy exceeds the maximum. For more information, +// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyQueryStringsInCachePolicy "TooManyQueryStringsInCachePolicy" +// The number of query strings in the cache policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCachePolicy +func (c *CloudFront) CreateCachePolicy(input *CreateCachePolicyInput) (*CreateCachePolicyOutput, error) { + req, out := c.CreateCachePolicyRequest(input) + return out, req.Send() +} + +// CreateCachePolicyWithContext is the same as CreateCachePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCachePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) CreateCachePolicyWithContext(ctx aws.Context, input *CreateCachePolicyInput, opts ...request.Option) (*CreateCachePolicyOutput, error) { + req, out := c.CreateCachePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIdentity2020_05_31" // CreateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the CreateCloudFrontOriginAccessIdentity operation. The "output" return @@ -38,12 +169,12 @@ const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIden // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCloudFrontOriginAccessIdentity func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *CreateCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opCreateCloudFrontOriginAccessIdentity, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront", } if input == nil { @@ -92,7 +223,7 @@ func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCl // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCloudFrontOriginAccessIdentity func (c *CloudFront) CreateCloudFrontOriginAccessIdentity(input *CreateCloudFrontOriginAccessIdentityInput) (*CreateCloudFrontOriginAccessIdentityOutput, error) { req, out := c.CreateCloudFrontOriginAccessIdentityRequest(input) return out, req.Send() @@ -114,7 +245,7 @@ func (c *CloudFront) CreateCloudFrontOriginAccessIdentityWithContext(ctx aws.Con return out, req.Send() } -const opCreateDistribution = "CreateDistribution2019_03_26" +const opCreateDistribution = "CreateDistribution2020_05_31" // CreateDistributionRequest generates a "aws/request.Request" representing the // client's request for the CreateDistribution operation. The "output" return @@ -139,12 +270,12 @@ const opCreateDistribution = "CreateDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistribution func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) { op := &request.Operation{ Name: opCreateDistribution, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/distribution", + HTTPPath: "/2020-05-31/distribution", } if input == nil { @@ -308,6 +439,10 @@ func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) ( // Processing your request would cause the maximum number of distributions with // Lambda function associations per owner to be exceeded. // +// * ErrCodeTooManyDistributionsWithSingleFunctionARN "TooManyDistributionsWithSingleFunctionARN" +// The maximum number of distributions have been associated with the specified +// Lambda function. +// // * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" // Your request contains more Lambda function associations than are allowed // per distribution. @@ -332,7 +467,23 @@ func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) ( // The maximum number of distributions have been associated with the specified // configuration for field-level encryption. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistribution +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToCachePolicy "TooManyDistributionsAssociatedToCachePolicy" +// The maximum number of distributions have been associated with the specified +// cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy "TooManyDistributionsAssociatedToOriginRequestPolicy" +// The maximum number of distributions have been associated with the specified +// origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistribution func (c *CloudFront) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) { req, out := c.CreateDistributionRequest(input) return out, req.Send() @@ -354,7 +505,7 @@ func (c *CloudFront) CreateDistributionWithContext(ctx aws.Context, input *Creat return out, req.Send() } -const opCreateDistributionWithTags = "CreateDistributionWithTags2019_03_26" +const opCreateDistributionWithTags = "CreateDistributionWithTags2020_05_31" // CreateDistributionWithTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateDistributionWithTags operation. The "output" return @@ -379,12 +530,12 @@ const opCreateDistributionWithTags = "CreateDistributionWithTags2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistributionWithTags +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistributionWithTags func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistributionWithTagsInput) (req *request.Request, output *CreateDistributionWithTagsOutput) { op := &request.Operation{ Name: opCreateDistributionWithTags, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/distribution?WithTags", + HTTPPath: "/2020-05-31/distribution?WithTags", } if input == nil { @@ -539,6 +690,10 @@ func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistribution // Processing your request would cause the maximum number of distributions with // Lambda function associations per owner to be exceeded. // +// * ErrCodeTooManyDistributionsWithSingleFunctionARN "TooManyDistributionsWithSingleFunctionARN" +// The maximum number of distributions have been associated with the specified +// Lambda function. +// // * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" // Your request contains more Lambda function associations than are allowed // per distribution. @@ -563,7 +718,23 @@ func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistribution // The maximum number of distributions have been associated with the specified // configuration for field-level encryption. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistributionWithTags +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToCachePolicy "TooManyDistributionsAssociatedToCachePolicy" +// The maximum number of distributions have been associated with the specified +// cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy "TooManyDistributionsAssociatedToOriginRequestPolicy" +// The maximum number of distributions have been associated with the specified +// origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistributionWithTags func (c *CloudFront) CreateDistributionWithTags(input *CreateDistributionWithTagsInput) (*CreateDistributionWithTagsOutput, error) { req, out := c.CreateDistributionWithTagsRequest(input) return out, req.Send() @@ -585,7 +756,7 @@ func (c *CloudFront) CreateDistributionWithTagsWithContext(ctx aws.Context, inpu return out, req.Send() } -const opCreateFieldLevelEncryptionConfig = "CreateFieldLevelEncryptionConfig2019_03_26" +const opCreateFieldLevelEncryptionConfig = "CreateFieldLevelEncryptionConfig2020_05_31" // CreateFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the // client's request for the CreateFieldLevelEncryptionConfig operation. The "output" return @@ -610,12 +781,12 @@ const opCreateFieldLevelEncryptionConfig = "CreateFieldLevelEncryptionConfig2019 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionConfig func (c *CloudFront) CreateFieldLevelEncryptionConfigRequest(input *CreateFieldLevelEncryptionConfigInput) (req *request.Request, output *CreateFieldLevelEncryptionConfigOutput) { op := &request.Operation{ Name: opCreateFieldLevelEncryptionConfig, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/field-level-encryption", + HTTPPath: "/2020-05-31/field-level-encryption", } if input == nil { @@ -666,7 +837,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionConfigRequest(input *CreateFieldL // * ErrCodeQueryArgProfileEmpty "QueryArgProfileEmpty" // No profile specified for the field-level encryption query argument. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionConfig func (c *CloudFront) CreateFieldLevelEncryptionConfig(input *CreateFieldLevelEncryptionConfigInput) (*CreateFieldLevelEncryptionConfigOutput, error) { req, out := c.CreateFieldLevelEncryptionConfigRequest(input) return out, req.Send() @@ -688,7 +859,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionConfigWithContext(ctx aws.Context return out, req.Send() } -const opCreateFieldLevelEncryptionProfile = "CreateFieldLevelEncryptionProfile2019_03_26" +const opCreateFieldLevelEncryptionProfile = "CreateFieldLevelEncryptionProfile2020_05_31" // CreateFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the // client's request for the CreateFieldLevelEncryptionProfile operation. The "output" return @@ -713,12 +884,12 @@ const opCreateFieldLevelEncryptionProfile = "CreateFieldLevelEncryptionProfile20 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionProfile func (c *CloudFront) CreateFieldLevelEncryptionProfileRequest(input *CreateFieldLevelEncryptionProfileInput) (req *request.Request, output *CreateFieldLevelEncryptionProfileOutput) { op := &request.Operation{ Name: opCreateFieldLevelEncryptionProfile, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/field-level-encryption-profile", + HTTPPath: "/2020-05-31/field-level-encryption-profile", } if input == nil { @@ -768,7 +939,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionProfileRequest(input *CreateField // The maximum number of field patterns for field-level encryption have been // created. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionProfile func (c *CloudFront) CreateFieldLevelEncryptionProfile(input *CreateFieldLevelEncryptionProfileInput) (*CreateFieldLevelEncryptionProfileOutput, error) { req, out := c.CreateFieldLevelEncryptionProfileRequest(input) return out, req.Send() @@ -790,7 +961,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } -const opCreateInvalidation = "CreateInvalidation2019_03_26" +const opCreateInvalidation = "CreateInvalidation2020_05_31" // CreateInvalidationRequest generates a "aws/request.Request" representing the // client's request for the CreateInvalidation operation. The "output" return @@ -815,12 +986,12 @@ const opCreateInvalidation = "CreateInvalidation2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateInvalidation +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateInvalidation func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) (req *request.Request, output *CreateInvalidationOutput) { op := &request.Operation{ Name: opCreateInvalidation, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/distribution/{DistributionId}/invalidation", + HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation", } if input == nil { @@ -867,7 +1038,7 @@ func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) ( // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateInvalidation +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateInvalidation func (c *CloudFront) CreateInvalidation(input *CreateInvalidationInput) (*CreateInvalidationOutput, error) { req, out := c.CreateInvalidationRequest(input) return out, req.Send() @@ -889,7 +1060,141 @@ func (c *CloudFront) CreateInvalidationWithContext(ctx aws.Context, input *Creat return out, req.Send() } -const opCreatePublicKey = "CreatePublicKey2019_03_26" +const opCreateOriginRequestPolicy = "CreateOriginRequestPolicy2020_05_31" + +// CreateOriginRequestPolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateOriginRequestPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateOriginRequestPolicy for more information on using the CreateOriginRequestPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateOriginRequestPolicyRequest method. +// req, resp := client.CreateOriginRequestPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginRequestPolicy +func (c *CloudFront) CreateOriginRequestPolicyRequest(input *CreateOriginRequestPolicyInput) (req *request.Request, output *CreateOriginRequestPolicyOutput) { + op := &request.Operation{ + Name: opCreateOriginRequestPolicy, + HTTPMethod: "POST", + HTTPPath: "/2020-05-31/origin-request-policy", + } + + if input == nil { + input = &CreateOriginRequestPolicyInput{} + } + + output = &CreateOriginRequestPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateOriginRequestPolicy API operation for Amazon CloudFront. +// +// Creates an origin request policy. +// +// After you create an origin request policy, you can attach it to one or more +// cache behaviors. When it’s attached to a cache behavior, the origin request +// policy determines the values that CloudFront includes in requests that it +// sends to the origin. Each request that CloudFront sends to the origin includes +// the following: +// +// * The request body and the URL path (without the domain name) from the +// viewer request. +// +// * The headers that CloudFront automatically includes in every origin request, +// including Host, User-Agent, and X-Amz-Cf-Id. +// +// * All HTTP headers, cookies, and URL query strings that are specified +// in the cache policy or the origin request policy. These can include items +// from the viewer request and, in the case of headers, additional ones that +// are added by CloudFront. +// +// CloudFront sends a request when it can’t find a valid object in its cache +// that matches the request. If you want to send values to the origin and also +// include them in the cache key, use CreateCachePolicy. +// +// For more information about origin request policies, see Controlling origin +// requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html) +// in the Amazon CloudFront 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 Amazon CloudFront's +// API operation CreateOriginRequestPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeOriginRequestPolicyAlreadyExists "OriginRequestPolicyAlreadyExists" +// An origin request policy with this name already exists. You must provide +// a unique name. To modify an existing origin request policy, use UpdateOriginRequestPolicy. +// +// * ErrCodeTooManyOriginRequestPolicies "TooManyOriginRequestPolicies" +// You have reached the maximum number of origin request policies for this AWS +// account. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyHeadersInOriginRequestPolicy "TooManyHeadersInOriginRequestPolicy" +// The number of headers in the origin request policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyCookiesInOriginRequestPolicy "TooManyCookiesInOriginRequestPolicy" +// The number of cookies in the origin request policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyQueryStringsInOriginRequestPolicy "TooManyQueryStringsInOriginRequestPolicy" +// The number of query strings in the origin request policy exceeds the maximum. +// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginRequestPolicy +func (c *CloudFront) CreateOriginRequestPolicy(input *CreateOriginRequestPolicyInput) (*CreateOriginRequestPolicyOutput, error) { + req, out := c.CreateOriginRequestPolicyRequest(input) + return out, req.Send() +} + +// CreateOriginRequestPolicyWithContext is the same as CreateOriginRequestPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See CreateOriginRequestPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) CreateOriginRequestPolicyWithContext(ctx aws.Context, input *CreateOriginRequestPolicyInput, opts ...request.Option) (*CreateOriginRequestPolicyOutput, error) { + req, out := c.CreateOriginRequestPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePublicKey = "CreatePublicKey2020_05_31" // CreatePublicKeyRequest generates a "aws/request.Request" representing the // client's request for the CreatePublicKey operation. The "output" return @@ -914,12 +1219,12 @@ const opCreatePublicKey = "CreatePublicKey2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreatePublicKey +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreatePublicKey func (c *CloudFront) CreatePublicKeyRequest(input *CreatePublicKeyInput) (req *request.Request, output *CreatePublicKeyOutput) { op := &request.Operation{ Name: opCreatePublicKey, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/public-key", + HTTPPath: "/2020-05-31/public-key", } if input == nil { @@ -954,7 +1259,7 @@ func (c *CloudFront) CreatePublicKeyRequest(input *CreatePublicKeyInput) (req *r // The maximum number of public keys for field-level encryption have been created. // To create a new public key, delete one of the existing keys. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreatePublicKey +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreatePublicKey func (c *CloudFront) CreatePublicKey(input *CreatePublicKeyInput) (*CreatePublicKeyOutput, error) { req, out := c.CreatePublicKeyRequest(input) return out, req.Send() @@ -976,7 +1281,7 @@ func (c *CloudFront) CreatePublicKeyWithContext(ctx aws.Context, input *CreatePu return out, req.Send() } -const opCreateStreamingDistribution = "CreateStreamingDistribution2019_03_26" +const opCreateStreamingDistribution = "CreateStreamingDistribution2020_05_31" // CreateStreamingDistributionRequest generates a "aws/request.Request" representing the // client's request for the CreateStreamingDistribution operation. The "output" return @@ -1001,12 +1306,12 @@ const opCreateStreamingDistribution = "CreateStreamingDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistribution func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDistributionInput) (req *request.Request, output *CreateStreamingDistributionOutput) { op := &request.Operation{ Name: opCreateStreamingDistribution, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/streaming-distribution", + HTTPPath: "/2020-05-31/streaming-distribution", } if input == nil { @@ -1097,7 +1402,7 @@ func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDi // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistribution func (c *CloudFront) CreateStreamingDistribution(input *CreateStreamingDistributionInput) (*CreateStreamingDistributionOutput, error) { req, out := c.CreateStreamingDistributionRequest(input) return out, req.Send() @@ -1119,7 +1424,7 @@ func (c *CloudFront) CreateStreamingDistributionWithContext(ctx aws.Context, inp return out, req.Send() } -const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTags2019_03_26" +const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTags2020_05_31" // CreateStreamingDistributionWithTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateStreamingDistributionWithTags operation. The "output" return @@ -1144,12 +1449,12 @@ const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTa // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistributionWithTags +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistributionWithTags func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStreamingDistributionWithTagsInput) (req *request.Request, output *CreateStreamingDistributionWithTagsOutput) { op := &request.Operation{ Name: opCreateStreamingDistributionWithTags, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/streaming-distribution?WithTags", + HTTPPath: "/2020-05-31/streaming-distribution?WithTags", } if input == nil { @@ -1216,7 +1521,7 @@ func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStr // * ErrCodeInvalidTagging "InvalidTagging" // The tagging specified is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistributionWithTags +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistributionWithTags func (c *CloudFront) CreateStreamingDistributionWithTags(input *CreateStreamingDistributionWithTagsInput) (*CreateStreamingDistributionWithTagsOutput, error) { req, out := c.CreateStreamingDistributionWithTagsRequest(input) return out, req.Send() @@ -1238,7 +1543,111 @@ func (c *CloudFront) CreateStreamingDistributionWithTagsWithContext(ctx aws.Cont return out, req.Send() } -const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIdentity2019_03_26" +const opDeleteCachePolicy = "DeleteCachePolicy2020_05_31" + +// DeleteCachePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCachePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCachePolicy for more information on using the DeleteCachePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteCachePolicyRequest method. +// req, resp := client.DeleteCachePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCachePolicy +func (c *CloudFront) DeleteCachePolicyRequest(input *DeleteCachePolicyInput) (req *request.Request, output *DeleteCachePolicyOutput) { + op := &request.Operation{ + Name: opDeleteCachePolicy, + HTTPMethod: "DELETE", + HTTPPath: "/2020-05-31/cache-policy/{Id}", + } + + if input == nil { + input = &DeleteCachePolicyInput{} + } + + output = &DeleteCachePolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteCachePolicy API operation for Amazon CloudFront. +// +// Deletes a cache policy. +// +// You cannot delete a cache policy if it’s attached to a cache behavior. +// First update your distributions to remove the cache policy from all cache +// behaviors, then delete the cache policy. +// +// To delete a cache policy, you must provide the policy’s identifier and +// version. To get these values, you can use ListCachePolicies or GetCachePolicy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's +// API operation DeleteCachePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition given in one or more of the request header fields evaluated +// to false. +// +// * ErrCodeIllegalDelete "IllegalDelete" +// You cannot delete a managed policy. +// +// * ErrCodeCachePolicyInUse "CachePolicyInUse" +// Cannot delete the cache policy because it is attached to one or more cache +// behaviors. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCachePolicy +func (c *CloudFront) DeleteCachePolicy(input *DeleteCachePolicyInput) (*DeleteCachePolicyOutput, error) { + req, out := c.DeleteCachePolicyRequest(input) + return out, req.Send() +} + +// DeleteCachePolicyWithContext is the same as DeleteCachePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCachePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) DeleteCachePolicyWithContext(ctx aws.Context, input *DeleteCachePolicyInput, opts ...request.Option) (*DeleteCachePolicyOutput, error) { + req, out := c.DeleteCachePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIdentity2020_05_31" // DeleteCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the DeleteCloudFrontOriginAccessIdentity operation. The "output" return @@ -1263,12 +1672,12 @@ const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIden // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCloudFrontOriginAccessIdentity func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCloudFrontOriginAccessIdentityInput) (req *request.Request, output *DeleteCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opDeleteCloudFrontOriginAccessIdentity, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}", } if input == nil { @@ -1297,7 +1706,7 @@ func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCl // Access denied. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" // The specified origin access identity does not exist. @@ -1309,7 +1718,7 @@ func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCl // * ErrCodeOriginAccessIdentityInUse "CloudFrontOriginAccessIdentityInUse" // The Origin Access Identity specified is already in use. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCloudFrontOriginAccessIdentity func (c *CloudFront) DeleteCloudFrontOriginAccessIdentity(input *DeleteCloudFrontOriginAccessIdentityInput) (*DeleteCloudFrontOriginAccessIdentityOutput, error) { req, out := c.DeleteCloudFrontOriginAccessIdentityRequest(input) return out, req.Send() @@ -1331,7 +1740,7 @@ func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityWithContext(ctx aws.Con return out, req.Send() } -const opDeleteDistribution = "DeleteDistribution2019_03_26" +const opDeleteDistribution = "DeleteDistribution2020_05_31" // DeleteDistributionRequest generates a "aws/request.Request" representing the // client's request for the DeleteDistribution operation. The "output" return @@ -1356,12 +1765,12 @@ const opDeleteDistribution = "DeleteDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteDistribution func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) { op := &request.Operation{ Name: opDeleteDistribution, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/distribution/{Id}", + HTTPPath: "/2020-05-31/distribution/{Id}", } if input == nil { @@ -1394,7 +1803,7 @@ func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) ( // distribution before you can delete it. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchDistribution "NoSuchDistribution" // The specified distribution does not exist. @@ -1403,7 +1812,7 @@ func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) ( // The precondition given in one or more of the request header fields evaluated // to false. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteDistribution func (c *CloudFront) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) { req, out := c.DeleteDistributionRequest(input) return out, req.Send() @@ -1425,7 +1834,7 @@ func (c *CloudFront) DeleteDistributionWithContext(ctx aws.Context, input *Delet return out, req.Send() } -const opDeleteFieldLevelEncryptionConfig = "DeleteFieldLevelEncryptionConfig2019_03_26" +const opDeleteFieldLevelEncryptionConfig = "DeleteFieldLevelEncryptionConfig2020_05_31" // DeleteFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the // client's request for the DeleteFieldLevelEncryptionConfig operation. The "output" return @@ -1450,12 +1859,12 @@ const opDeleteFieldLevelEncryptionConfig = "DeleteFieldLevelEncryptionConfig2019 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionConfig func (c *CloudFront) DeleteFieldLevelEncryptionConfigRequest(input *DeleteFieldLevelEncryptionConfigInput) (req *request.Request, output *DeleteFieldLevelEncryptionConfigOutput) { op := &request.Operation{ Name: opDeleteFieldLevelEncryptionConfig, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/field-level-encryption/{Id}", + HTTPPath: "/2020-05-31/field-level-encryption/{Id}", } if input == nil { @@ -1484,7 +1893,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionConfigRequest(input *DeleteFieldL // Access denied. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" // The specified configuration for field-level encryption doesn't exist. @@ -1496,7 +1905,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionConfigRequest(input *DeleteFieldL // * ErrCodeFieldLevelEncryptionConfigInUse "FieldLevelEncryptionConfigInUse" // The specified configuration for field-level encryption is in use. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionConfig func (c *CloudFront) DeleteFieldLevelEncryptionConfig(input *DeleteFieldLevelEncryptionConfigInput) (*DeleteFieldLevelEncryptionConfigOutput, error) { req, out := c.DeleteFieldLevelEncryptionConfigRequest(input) return out, req.Send() @@ -1518,7 +1927,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionConfigWithContext(ctx aws.Context return out, req.Send() } -const opDeleteFieldLevelEncryptionProfile = "DeleteFieldLevelEncryptionProfile2019_03_26" +const opDeleteFieldLevelEncryptionProfile = "DeleteFieldLevelEncryptionProfile2020_05_31" // DeleteFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the // client's request for the DeleteFieldLevelEncryptionProfile operation. The "output" return @@ -1543,12 +1952,12 @@ const opDeleteFieldLevelEncryptionProfile = "DeleteFieldLevelEncryptionProfile20 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionProfile func (c *CloudFront) DeleteFieldLevelEncryptionProfileRequest(input *DeleteFieldLevelEncryptionProfileInput) (req *request.Request, output *DeleteFieldLevelEncryptionProfileOutput) { op := &request.Operation{ Name: opDeleteFieldLevelEncryptionProfile, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}", + HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}", } if input == nil { @@ -1577,7 +1986,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionProfileRequest(input *DeleteField // Access denied. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. @@ -1589,7 +1998,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionProfileRequest(input *DeleteField // * ErrCodeFieldLevelEncryptionProfileInUse "FieldLevelEncryptionProfileInUse" // The specified profile for field-level encryption is in use. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionProfile func (c *CloudFront) DeleteFieldLevelEncryptionProfile(input *DeleteFieldLevelEncryptionProfileInput) (*DeleteFieldLevelEncryptionProfileOutput, error) { req, out := c.DeleteFieldLevelEncryptionProfileRequest(input) return out, req.Send() @@ -1611,110 +2020,215 @@ func (c *CloudFront) DeleteFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } -const opDeletePublicKey = "DeletePublicKey2019_03_26" +const opDeleteOriginRequestPolicy = "DeleteOriginRequestPolicy2020_05_31" -// DeletePublicKeyRequest generates a "aws/request.Request" representing the -// client's request for the DeletePublicKey operation. The "output" return +// DeleteOriginRequestPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteOriginRequestPolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeletePublicKey for more information on using the DeletePublicKey +// See DeleteOriginRequestPolicy for more information on using the DeleteOriginRequestPolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeletePublicKeyRequest method. -// req, resp := client.DeletePublicKeyRequest(params) +// // Example sending a request using the DeleteOriginRequestPolicyRequest method. +// req, resp := client.DeleteOriginRequestPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeletePublicKey -func (c *CloudFront) DeletePublicKeyRequest(input *DeletePublicKeyInput) (req *request.Request, output *DeletePublicKeyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteOriginRequestPolicy +func (c *CloudFront) DeleteOriginRequestPolicyRequest(input *DeleteOriginRequestPolicyInput) (req *request.Request, output *DeleteOriginRequestPolicyOutput) { op := &request.Operation{ - Name: opDeletePublicKey, + Name: opDeleteOriginRequestPolicy, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/public-key/{Id}", + HTTPPath: "/2020-05-31/origin-request-policy/{Id}", } if input == nil { - input = &DeletePublicKeyInput{} + input = &DeleteOriginRequestPolicyInput{} } - output = &DeletePublicKeyOutput{} + output = &DeleteOriginRequestPolicyOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeletePublicKey API operation for Amazon CloudFront. +// DeleteOriginRequestPolicy API operation for Amazon CloudFront. // -// Remove a public key you previously added to CloudFront. +// Deletes an origin request policy. +// +// You cannot delete an origin request policy if it’s attached to any cache +// behaviors. First update your distributions to remove the origin request policy +// from all cache behaviors, then delete the origin request policy. +// +// To delete an origin request policy, you must provide the policy’s identifier +// and version. To get the identifier, you can use ListOriginRequestPolicies +// or GetOriginRequestPolicy. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's -// API operation DeletePublicKey for usage and error information. +// API operation DeleteOriginRequestPolicy for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// * ErrCodePublicKeyInUse "PublicKeyInUse" -// The specified public key is in use. -// // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // -// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" -// The specified public key doesn't exist. +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" // The precondition given in one or more of the request header fields evaluated // to false. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeletePublicKey -func (c *CloudFront) DeletePublicKey(input *DeletePublicKeyInput) (*DeletePublicKeyOutput, error) { - req, out := c.DeletePublicKeyRequest(input) +// * ErrCodeIllegalDelete "IllegalDelete" +// You cannot delete a managed policy. +// +// * ErrCodeOriginRequestPolicyInUse "OriginRequestPolicyInUse" +// Cannot delete the origin request policy because it is attached to one or +// more cache behaviors. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteOriginRequestPolicy +func (c *CloudFront) DeleteOriginRequestPolicy(input *DeleteOriginRequestPolicyInput) (*DeleteOriginRequestPolicyOutput, error) { + req, out := c.DeleteOriginRequestPolicyRequest(input) return out, req.Send() } -// DeletePublicKeyWithContext is the same as DeletePublicKey with the addition of +// DeleteOriginRequestPolicyWithContext is the same as DeleteOriginRequestPolicy with the addition of // the ability to pass a context and additional request options. // -// See DeletePublicKey for details on how to use this API operation. +// See DeleteOriginRequestPolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) DeletePublicKeyWithContext(ctx aws.Context, input *DeletePublicKeyInput, opts ...request.Option) (*DeletePublicKeyOutput, error) { - req, out := c.DeletePublicKeyRequest(input) +func (c *CloudFront) DeleteOriginRequestPolicyWithContext(ctx aws.Context, input *DeleteOriginRequestPolicyInput, opts ...request.Option) (*DeleteOriginRequestPolicyOutput, error) { + req, out := c.DeleteOriginRequestPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteStreamingDistribution = "DeleteStreamingDistribution2019_03_26" +const opDeletePublicKey = "DeletePublicKey2020_05_31" -// DeleteStreamingDistributionRequest generates a "aws/request.Request" representing the -// client's request for the DeleteStreamingDistribution operation. The "output" return +// DeletePublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the DeletePublicKey operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteStreamingDistribution for more information on using the DeleteStreamingDistribution +// See DeletePublicKey for more information on using the DeletePublicKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeletePublicKeyRequest method. +// req, resp := client.DeletePublicKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeletePublicKey +func (c *CloudFront) DeletePublicKeyRequest(input *DeletePublicKeyInput) (req *request.Request, output *DeletePublicKeyOutput) { + op := &request.Operation{ + Name: opDeletePublicKey, + HTTPMethod: "DELETE", + HTTPPath: "/2020-05-31/public-key/{Id}", + } + + if input == nil { + input = &DeletePublicKeyInput{} + } + + output = &DeletePublicKeyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePublicKey API operation for Amazon CloudFront. +// +// Remove a public key you previously added to CloudFront. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's +// API operation DeletePublicKey for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodePublicKeyInUse "PublicKeyInUse" +// The specified public key is in use. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" +// The specified public key doesn't exist. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition given in one or more of the request header fields evaluated +// to false. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeletePublicKey +func (c *CloudFront) DeletePublicKey(input *DeletePublicKeyInput) (*DeletePublicKeyOutput, error) { + req, out := c.DeletePublicKeyRequest(input) + return out, req.Send() +} + +// DeletePublicKeyWithContext is the same as DeletePublicKey with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePublicKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) DeletePublicKeyWithContext(ctx aws.Context, input *DeletePublicKeyInput, opts ...request.Option) (*DeletePublicKeyOutput, error) { + req, out := c.DeletePublicKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStreamingDistribution = "DeleteStreamingDistribution2020_05_31" + +// DeleteStreamingDistributionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStreamingDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteStreamingDistribution for more information on using the DeleteStreamingDistribution // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration @@ -1729,12 +2243,12 @@ const opDeleteStreamingDistribution = "DeleteStreamingDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteStreamingDistribution func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDistributionInput) (req *request.Request, output *DeleteStreamingDistributionOutput) { op := &request.Operation{ Name: opDeleteStreamingDistribution, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/streaming-distribution/{Id}", + HTTPPath: "/2020-05-31/streaming-distribution/{Id}", } if input == nil { @@ -1802,7 +2316,7 @@ func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDi // distribution before you can delete it. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" // The specified streaming distribution does not exist. @@ -1811,7 +2325,7 @@ func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDi // The precondition given in one or more of the request header fields evaluated // to false. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteStreamingDistribution func (c *CloudFront) DeleteStreamingDistribution(input *DeleteStreamingDistributionInput) (*DeleteStreamingDistributionOutput, error) { req, out := c.DeleteStreamingDistributionRequest(input) return out, req.Send() @@ -1833,7 +2347,187 @@ func (c *CloudFront) DeleteStreamingDistributionWithContext(ctx aws.Context, inp return out, req.Send() } -const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity2019_03_26" +const opGetCachePolicy = "GetCachePolicy2020_05_31" + +// GetCachePolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetCachePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCachePolicy for more information on using the GetCachePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCachePolicyRequest method. +// req, resp := client.GetCachePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicy +func (c *CloudFront) GetCachePolicyRequest(input *GetCachePolicyInput) (req *request.Request, output *GetCachePolicyOutput) { + op := &request.Operation{ + Name: opGetCachePolicy, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/cache-policy/{Id}", + } + + if input == nil { + input = &GetCachePolicyInput{} + } + + output = &GetCachePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCachePolicy API operation for Amazon CloudFront. +// +// Gets a cache policy, including the following metadata: +// +// * The policy’s identifier. +// +// * The date and time when the policy was last modified. +// +// To get a cache policy, you must provide the policy’s identifier. If the +// cache policy is attached to a distribution’s cache behavior, you can get +// the policy’s identifier using ListDistributions or GetDistribution. If +// the cache policy is not attached to a cache behavior, you can get the identifier +// using ListCachePolicies. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's +// API operation GetCachePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicy +func (c *CloudFront) GetCachePolicy(input *GetCachePolicyInput) (*GetCachePolicyOutput, error) { + req, out := c.GetCachePolicyRequest(input) + return out, req.Send() +} + +// GetCachePolicyWithContext is the same as GetCachePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetCachePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) GetCachePolicyWithContext(ctx aws.Context, input *GetCachePolicyInput, opts ...request.Option) (*GetCachePolicyOutput, error) { + req, out := c.GetCachePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCachePolicyConfig = "GetCachePolicyConfig2020_05_31" + +// GetCachePolicyConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetCachePolicyConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCachePolicyConfig for more information on using the GetCachePolicyConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCachePolicyConfigRequest method. +// req, resp := client.GetCachePolicyConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicyConfig +func (c *CloudFront) GetCachePolicyConfigRequest(input *GetCachePolicyConfigInput) (req *request.Request, output *GetCachePolicyConfigOutput) { + op := &request.Operation{ + Name: opGetCachePolicyConfig, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/cache-policy/{Id}/config", + } + + if input == nil { + input = &GetCachePolicyConfigInput{} + } + + output = &GetCachePolicyConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCachePolicyConfig API operation for Amazon CloudFront. +// +// Gets a cache policy configuration. +// +// To get a cache policy configuration, you must provide the policy’s identifier. +// If the cache policy is attached to a distribution’s cache behavior, you +// can get the policy’s identifier using ListDistributions or GetDistribution. +// If the cache policy is not attached to a cache behavior, you can get the +// identifier using ListCachePolicies. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's +// API operation GetCachePolicyConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicyConfig +func (c *CloudFront) GetCachePolicyConfig(input *GetCachePolicyConfigInput) (*GetCachePolicyConfigOutput, error) { + req, out := c.GetCachePolicyConfigRequest(input) + return out, req.Send() +} + +// GetCachePolicyConfigWithContext is the same as GetCachePolicyConfig with the addition of +// the ability to pass a context and additional request options. +// +// See GetCachePolicyConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) GetCachePolicyConfigWithContext(ctx aws.Context, input *GetCachePolicyConfigInput, opts ...request.Option) (*GetCachePolicyConfigOutput, error) { + req, out := c.GetCachePolicyConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity2020_05_31" // GetCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the GetCloudFrontOriginAccessIdentity operation. The "output" return @@ -1858,12 +2552,12 @@ const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity20 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentity func (c *CloudFront) GetCloudFrontOriginAccessIdentityRequest(input *GetCloudFrontOriginAccessIdentityInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opGetCloudFrontOriginAccessIdentity, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}", } if input == nil { @@ -1893,7 +2587,7 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityRequest(input *GetCloudFro // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentity func (c *CloudFront) GetCloudFrontOriginAccessIdentity(input *GetCloudFrontOriginAccessIdentityInput) (*GetCloudFrontOriginAccessIdentityOutput, error) { req, out := c.GetCloudFrontOriginAccessIdentityRequest(input) return out, req.Send() @@ -1915,7 +2609,7 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityWithContext(ctx aws.Contex return out, req.Send() } -const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIdentityConfig2019_03_26" +const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIdentityConfig2020_05_31" // GetCloudFrontOriginAccessIdentityConfigRequest generates a "aws/request.Request" representing the // client's request for the GetCloudFrontOriginAccessIdentityConfig operation. The "output" return @@ -1940,12 +2634,12 @@ const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIden // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentityConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentityConfig func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigRequest(input *GetCloudFrontOriginAccessIdentityConfigInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityConfigOutput) { op := &request.Operation{ Name: opGetCloudFrontOriginAccessIdentityConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}/config", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}/config", } if input == nil { @@ -1975,7 +2669,7 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigRequest(input *GetCl // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentityConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentityConfig func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfig(input *GetCloudFrontOriginAccessIdentityConfigInput) (*GetCloudFrontOriginAccessIdentityConfigOutput, error) { req, out := c.GetCloudFrontOriginAccessIdentityConfigRequest(input) return out, req.Send() @@ -1997,7 +2691,7 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigWithContext(ctx aws. return out, req.Send() } -const opGetDistribution = "GetDistribution2019_03_26" +const opGetDistribution = "GetDistribution2020_05_31" // GetDistributionRequest generates a "aws/request.Request" representing the // client's request for the GetDistribution operation. The "output" return @@ -2022,12 +2716,12 @@ const opGetDistribution = "GetDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistribution func (c *CloudFront) GetDistributionRequest(input *GetDistributionInput) (req *request.Request, output *GetDistributionOutput) { op := &request.Operation{ Name: opGetDistribution, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution/{Id}", + HTTPPath: "/2020-05-31/distribution/{Id}", } if input == nil { @@ -2057,7 +2751,7 @@ func (c *CloudFront) GetDistributionRequest(input *GetDistributionInput) (req *r // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistribution func (c *CloudFront) GetDistribution(input *GetDistributionInput) (*GetDistributionOutput, error) { req, out := c.GetDistributionRequest(input) return out, req.Send() @@ -2079,7 +2773,7 @@ func (c *CloudFront) GetDistributionWithContext(ctx aws.Context, input *GetDistr return out, req.Send() } -const opGetDistributionConfig = "GetDistributionConfig2019_03_26" +const opGetDistributionConfig = "GetDistributionConfig2020_05_31" // GetDistributionConfigRequest generates a "aws/request.Request" representing the // client's request for the GetDistributionConfig operation. The "output" return @@ -2104,12 +2798,12 @@ const opGetDistributionConfig = "GetDistributionConfig2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistributionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig func (c *CloudFront) GetDistributionConfigRequest(input *GetDistributionConfigInput) (req *request.Request, output *GetDistributionConfigOutput) { op := &request.Operation{ Name: opGetDistributionConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution/{Id}/config", + HTTPPath: "/2020-05-31/distribution/{Id}/config", } if input == nil { @@ -2139,7 +2833,7 @@ func (c *CloudFront) GetDistributionConfigRequest(input *GetDistributionConfigIn // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistributionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig func (c *CloudFront) GetDistributionConfig(input *GetDistributionConfigInput) (*GetDistributionConfigOutput, error) { req, out := c.GetDistributionConfigRequest(input) return out, req.Send() @@ -2161,7 +2855,7 @@ func (c *CloudFront) GetDistributionConfigWithContext(ctx aws.Context, input *Ge return out, req.Send() } -const opGetFieldLevelEncryption = "GetFieldLevelEncryption2019_03_26" +const opGetFieldLevelEncryption = "GetFieldLevelEncryption2020_05_31" // GetFieldLevelEncryptionRequest generates a "aws/request.Request" representing the // client's request for the GetFieldLevelEncryption operation. The "output" return @@ -2186,12 +2880,12 @@ const opGetFieldLevelEncryption = "GetFieldLevelEncryption2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryption +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryption func (c *CloudFront) GetFieldLevelEncryptionRequest(input *GetFieldLevelEncryptionInput) (req *request.Request, output *GetFieldLevelEncryptionOutput) { op := &request.Operation{ Name: opGetFieldLevelEncryption, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption/{Id}", + HTTPPath: "/2020-05-31/field-level-encryption/{Id}", } if input == nil { @@ -2221,7 +2915,7 @@ func (c *CloudFront) GetFieldLevelEncryptionRequest(input *GetFieldLevelEncrypti // * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" // The specified configuration for field-level encryption doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryption +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryption func (c *CloudFront) GetFieldLevelEncryption(input *GetFieldLevelEncryptionInput) (*GetFieldLevelEncryptionOutput, error) { req, out := c.GetFieldLevelEncryptionRequest(input) return out, req.Send() @@ -2243,7 +2937,7 @@ func (c *CloudFront) GetFieldLevelEncryptionWithContext(ctx aws.Context, input * return out, req.Send() } -const opGetFieldLevelEncryptionConfig = "GetFieldLevelEncryptionConfig2019_03_26" +const opGetFieldLevelEncryptionConfig = "GetFieldLevelEncryptionConfig2020_05_31" // GetFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the // client's request for the GetFieldLevelEncryptionConfig operation. The "output" return @@ -2268,12 +2962,12 @@ const opGetFieldLevelEncryptionConfig = "GetFieldLevelEncryptionConfig2019_03_26 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionConfig func (c *CloudFront) GetFieldLevelEncryptionConfigRequest(input *GetFieldLevelEncryptionConfigInput) (req *request.Request, output *GetFieldLevelEncryptionConfigOutput) { op := &request.Operation{ Name: opGetFieldLevelEncryptionConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption/{Id}/config", + HTTPPath: "/2020-05-31/field-level-encryption/{Id}/config", } if input == nil { @@ -2303,7 +2997,7 @@ func (c *CloudFront) GetFieldLevelEncryptionConfigRequest(input *GetFieldLevelEn // * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" // The specified configuration for field-level encryption doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionConfig func (c *CloudFront) GetFieldLevelEncryptionConfig(input *GetFieldLevelEncryptionConfigInput) (*GetFieldLevelEncryptionConfigOutput, error) { req, out := c.GetFieldLevelEncryptionConfigRequest(input) return out, req.Send() @@ -2325,7 +3019,7 @@ func (c *CloudFront) GetFieldLevelEncryptionConfigWithContext(ctx aws.Context, i return out, req.Send() } -const opGetFieldLevelEncryptionProfile = "GetFieldLevelEncryptionProfile2019_03_26" +const opGetFieldLevelEncryptionProfile = "GetFieldLevelEncryptionProfile2020_05_31" // GetFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the // client's request for the GetFieldLevelEncryptionProfile operation. The "output" return @@ -2350,12 +3044,12 @@ const opGetFieldLevelEncryptionProfile = "GetFieldLevelEncryptionProfile2019_03_ // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfile func (c *CloudFront) GetFieldLevelEncryptionProfileRequest(input *GetFieldLevelEncryptionProfileInput) (req *request.Request, output *GetFieldLevelEncryptionProfileOutput) { op := &request.Operation{ Name: opGetFieldLevelEncryptionProfile, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}", + HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}", } if input == nil { @@ -2385,7 +3079,7 @@ func (c *CloudFront) GetFieldLevelEncryptionProfileRequest(input *GetFieldLevelE // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfile func (c *CloudFront) GetFieldLevelEncryptionProfile(input *GetFieldLevelEncryptionProfileInput) (*GetFieldLevelEncryptionProfileOutput, error) { req, out := c.GetFieldLevelEncryptionProfileRequest(input) return out, req.Send() @@ -2407,7 +3101,7 @@ func (c *CloudFront) GetFieldLevelEncryptionProfileWithContext(ctx aws.Context, return out, req.Send() } -const opGetFieldLevelEncryptionProfileConfig = "GetFieldLevelEncryptionProfileConfig2019_03_26" +const opGetFieldLevelEncryptionProfileConfig = "GetFieldLevelEncryptionProfileConfig2020_05_31" // GetFieldLevelEncryptionProfileConfigRequest generates a "aws/request.Request" representing the // client's request for the GetFieldLevelEncryptionProfileConfig operation. The "output" return @@ -2432,12 +3126,12 @@ const opGetFieldLevelEncryptionProfileConfig = "GetFieldLevelEncryptionProfileCo // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfileConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfileConfig func (c *CloudFront) GetFieldLevelEncryptionProfileConfigRequest(input *GetFieldLevelEncryptionProfileConfigInput) (req *request.Request, output *GetFieldLevelEncryptionProfileConfigOutput) { op := &request.Operation{ Name: opGetFieldLevelEncryptionProfileConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}/config", + HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}/config", } if input == nil { @@ -2467,7 +3161,7 @@ func (c *CloudFront) GetFieldLevelEncryptionProfileConfigRequest(input *GetField // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfileConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfileConfig func (c *CloudFront) GetFieldLevelEncryptionProfileConfig(input *GetFieldLevelEncryptionProfileConfigInput) (*GetFieldLevelEncryptionProfileConfigOutput, error) { req, out := c.GetFieldLevelEncryptionProfileConfigRequest(input) return out, req.Send() @@ -2489,7 +3183,7 @@ func (c *CloudFront) GetFieldLevelEncryptionProfileConfigWithContext(ctx aws.Con return out, req.Send() } -const opGetInvalidation = "GetInvalidation2019_03_26" +const opGetInvalidation = "GetInvalidation2020_05_31" // GetInvalidationRequest generates a "aws/request.Request" representing the // client's request for the GetInvalidation operation. The "output" return @@ -2514,12 +3208,12 @@ const opGetInvalidation = "GetInvalidation2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetInvalidation +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *request.Request, output *GetInvalidationOutput) { op := &request.Operation{ Name: opGetInvalidation, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution/{DistributionId}/invalidation/{Id}", + HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation/{Id}", } if input == nil { @@ -2552,7 +3246,7 @@ func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *r // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetInvalidation +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation func (c *CloudFront) GetInvalidation(input *GetInvalidationInput) (*GetInvalidationOutput, error) { req, out := c.GetInvalidationRequest(input) return out, req.Send() @@ -2574,175 +3268,355 @@ func (c *CloudFront) GetInvalidationWithContext(ctx aws.Context, input *GetInval return out, req.Send() } -const opGetPublicKey = "GetPublicKey2019_03_26" +const opGetOriginRequestPolicy = "GetOriginRequestPolicy2020_05_31" -// GetPublicKeyRequest generates a "aws/request.Request" representing the -// client's request for the GetPublicKey operation. The "output" return +// GetOriginRequestPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetOriginRequestPolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetPublicKey for more information on using the GetPublicKey +// See GetOriginRequestPolicy for more information on using the GetOriginRequestPolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetPublicKeyRequest method. -// req, resp := client.GetPublicKeyRequest(params) +// // Example sending a request using the GetOriginRequestPolicyRequest method. +// req, resp := client.GetOriginRequestPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKey -func (c *CloudFront) GetPublicKeyRequest(input *GetPublicKeyInput) (req *request.Request, output *GetPublicKeyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicy +func (c *CloudFront) GetOriginRequestPolicyRequest(input *GetOriginRequestPolicyInput) (req *request.Request, output *GetOriginRequestPolicyOutput) { op := &request.Operation{ - Name: opGetPublicKey, + Name: opGetOriginRequestPolicy, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/public-key/{Id}", + HTTPPath: "/2020-05-31/origin-request-policy/{Id}", } if input == nil { - input = &GetPublicKeyInput{} + input = &GetOriginRequestPolicyInput{} } - output = &GetPublicKeyOutput{} + output = &GetOriginRequestPolicyOutput{} req = c.newRequest(op, input, output) return } -// GetPublicKey API operation for Amazon CloudFront. +// GetOriginRequestPolicy API operation for Amazon CloudFront. // -// Get the public key information. +// Gets an origin request policy, including the following metadata: +// +// * The policy’s identifier. +// +// * The date and time when the policy was last modified. +// +// To get an origin request policy, you must provide the policy’s identifier. +// If the origin request policy is attached to a distribution’s cache behavior, +// you can get the policy’s identifier using ListDistributions or GetDistribution. +// If the origin request policy is not attached to a cache behavior, you can +// get the identifier using ListOriginRequestPolicies. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's -// API operation GetPublicKey for usage and error information. +// API operation GetOriginRequestPolicy for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" -// The specified public key doesn't exist. +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKey -func (c *CloudFront) GetPublicKey(input *GetPublicKeyInput) (*GetPublicKeyOutput, error) { - req, out := c.GetPublicKeyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicy +func (c *CloudFront) GetOriginRequestPolicy(input *GetOriginRequestPolicyInput) (*GetOriginRequestPolicyOutput, error) { + req, out := c.GetOriginRequestPolicyRequest(input) return out, req.Send() } -// GetPublicKeyWithContext is the same as GetPublicKey with the addition of +// GetOriginRequestPolicyWithContext is the same as GetOriginRequestPolicy 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. +// See GetOriginRequestPolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) GetPublicKeyWithContext(ctx aws.Context, input *GetPublicKeyInput, opts ...request.Option) (*GetPublicKeyOutput, error) { - req, out := c.GetPublicKeyRequest(input) +func (c *CloudFront) GetOriginRequestPolicyWithContext(ctx aws.Context, input *GetOriginRequestPolicyInput, opts ...request.Option) (*GetOriginRequestPolicyOutput, error) { + req, out := c.GetOriginRequestPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetPublicKeyConfig = "GetPublicKeyConfig2019_03_26" +const opGetOriginRequestPolicyConfig = "GetOriginRequestPolicyConfig2020_05_31" -// GetPublicKeyConfigRequest generates a "aws/request.Request" representing the -// client's request for the GetPublicKeyConfig operation. The "output" return +// GetOriginRequestPolicyConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetOriginRequestPolicyConfig operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetPublicKeyConfig for more information on using the GetPublicKeyConfig +// See GetOriginRequestPolicyConfig for more information on using the GetOriginRequestPolicyConfig // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetPublicKeyConfigRequest method. -// req, resp := client.GetPublicKeyConfigRequest(params) +// // Example sending a request using the GetOriginRequestPolicyConfigRequest method. +// req, resp := client.GetOriginRequestPolicyConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKeyConfig -func (c *CloudFront) GetPublicKeyConfigRequest(input *GetPublicKeyConfigInput) (req *request.Request, output *GetPublicKeyConfigOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicyConfig +func (c *CloudFront) GetOriginRequestPolicyConfigRequest(input *GetOriginRequestPolicyConfigInput) (req *request.Request, output *GetOriginRequestPolicyConfigOutput) { op := &request.Operation{ - Name: opGetPublicKeyConfig, + Name: opGetOriginRequestPolicyConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/public-key/{Id}/config", + HTTPPath: "/2020-05-31/origin-request-policy/{Id}/config", } if input == nil { - input = &GetPublicKeyConfigInput{} + input = &GetOriginRequestPolicyConfigInput{} } - output = &GetPublicKeyConfigOutput{} + output = &GetOriginRequestPolicyConfigOutput{} req = c.newRequest(op, input, output) return } -// GetPublicKeyConfig API operation for Amazon CloudFront. +// GetOriginRequestPolicyConfig API operation for Amazon CloudFront. // -// Return public key configuration informaation +// Gets an origin request policy configuration. +// +// To get an origin request policy configuration, you must provide the policy’s +// identifier. If the origin request policy is attached to a distribution’s +// cache behavior, you can get the policy’s identifier using ListDistributions +// or GetDistribution. If the origin request policy is not attached to a cache +// behavior, you can get the identifier using ListOriginRequestPolicies. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's -// API operation GetPublicKeyConfig for usage and error information. +// API operation GetOriginRequestPolicyConfig for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" -// The specified public key doesn't exist. +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKeyConfig -func (c *CloudFront) GetPublicKeyConfig(input *GetPublicKeyConfigInput) (*GetPublicKeyConfigOutput, error) { - req, out := c.GetPublicKeyConfigRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicyConfig +func (c *CloudFront) GetOriginRequestPolicyConfig(input *GetOriginRequestPolicyConfigInput) (*GetOriginRequestPolicyConfigOutput, error) { + req, out := c.GetOriginRequestPolicyConfigRequest(input) return out, req.Send() } -// GetPublicKeyConfigWithContext is the same as GetPublicKeyConfig with the addition of +// GetOriginRequestPolicyConfigWithContext is the same as GetOriginRequestPolicyConfig with the addition of // the ability to pass a context and additional request options. // -// See GetPublicKeyConfig for details on how to use this API operation. +// See GetOriginRequestPolicyConfig for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) GetPublicKeyConfigWithContext(ctx aws.Context, input *GetPublicKeyConfigInput, opts ...request.Option) (*GetPublicKeyConfigOutput, error) { - req, out := c.GetPublicKeyConfigRequest(input) +func (c *CloudFront) GetOriginRequestPolicyConfigWithContext(ctx aws.Context, input *GetOriginRequestPolicyConfigInput, opts ...request.Option) (*GetOriginRequestPolicyConfigOutput, error) { + req, out := c.GetOriginRequestPolicyConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetStreamingDistribution = "GetStreamingDistribution2019_03_26" +const opGetPublicKey = "GetPublicKey2020_05_31" -// GetStreamingDistributionRequest generates a "aws/request.Request" representing the -// client's request for the GetStreamingDistribution operation. The "output" return -// value will be populated with the request's response once the request completes +// 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 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 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/cloudfront-2020-05-31/GetPublicKey +func (c *CloudFront) GetPublicKeyRequest(input *GetPublicKeyInput) (req *request.Request, output *GetPublicKeyOutput) { + op := &request.Operation{ + Name: opGetPublicKey, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/public-key/{Id}", + } + + if input == nil { + input = &GetPublicKeyInput{} + } + + output = &GetPublicKeyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPublicKey API operation for Amazon CloudFront. +// +// Get the public key 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 Amazon CloudFront's +// API operation GetPublicKey for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" +// The specified public key doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKey +func (c *CloudFront) 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 *CloudFront) 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 opGetPublicKeyConfig = "GetPublicKeyConfig2020_05_31" + +// GetPublicKeyConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetPublicKeyConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPublicKeyConfig for more information on using the GetPublicKeyConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetPublicKeyConfigRequest method. +// req, resp := client.GetPublicKeyConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKeyConfig +func (c *CloudFront) GetPublicKeyConfigRequest(input *GetPublicKeyConfigInput) (req *request.Request, output *GetPublicKeyConfigOutput) { + op := &request.Operation{ + Name: opGetPublicKeyConfig, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/public-key/{Id}/config", + } + + if input == nil { + input = &GetPublicKeyConfigInput{} + } + + output = &GetPublicKeyConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPublicKeyConfig API operation for Amazon CloudFront. +// +// Return public key configuration informaation +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's +// API operation GetPublicKeyConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" +// The specified public key doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKeyConfig +func (c *CloudFront) GetPublicKeyConfig(input *GetPublicKeyConfigInput) (*GetPublicKeyConfigOutput, error) { + req, out := c.GetPublicKeyConfigRequest(input) + return out, req.Send() +} + +// GetPublicKeyConfigWithContext is the same as GetPublicKeyConfig with the addition of +// the ability to pass a context and additional request options. +// +// See GetPublicKeyConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) GetPublicKeyConfigWithContext(ctx aws.Context, input *GetPublicKeyConfigInput, opts ...request.Option) (*GetPublicKeyConfigOutput, error) { + req, out := c.GetPublicKeyConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStreamingDistribution = "GetStreamingDistribution2020_05_31" + +// GetStreamingDistributionRequest generates a "aws/request.Request" representing the +// client's request for the GetStreamingDistribution operation. The "output" return +// value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. @@ -2763,12 +3637,12 @@ const opGetStreamingDistribution = "GetStreamingDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistribution func (c *CloudFront) GetStreamingDistributionRequest(input *GetStreamingDistributionInput) (req *request.Request, output *GetStreamingDistributionOutput) { op := &request.Operation{ Name: opGetStreamingDistribution, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/streaming-distribution/{Id}", + HTTPPath: "/2020-05-31/streaming-distribution/{Id}", } if input == nil { @@ -2799,7 +3673,7 @@ func (c *CloudFront) GetStreamingDistributionRequest(input *GetStreamingDistribu // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistribution func (c *CloudFront) GetStreamingDistribution(input *GetStreamingDistributionInput) (*GetStreamingDistributionOutput, error) { req, out := c.GetStreamingDistributionRequest(input) return out, req.Send() @@ -2821,7 +3695,7 @@ func (c *CloudFront) GetStreamingDistributionWithContext(ctx aws.Context, input return out, req.Send() } -const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2019_03_26" +const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2020_05_31" // GetStreamingDistributionConfigRequest generates a "aws/request.Request" representing the // client's request for the GetStreamingDistributionConfig operation. The "output" return @@ -2846,12 +3720,12 @@ const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2019_03_ // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistributionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistributionConfig func (c *CloudFront) GetStreamingDistributionConfigRequest(input *GetStreamingDistributionConfigInput) (req *request.Request, output *GetStreamingDistributionConfigOutput) { op := &request.Operation{ Name: opGetStreamingDistributionConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/streaming-distribution/{Id}/config", + HTTPPath: "/2020-05-31/streaming-distribution/{Id}/config", } if input == nil { @@ -2881,7 +3755,7 @@ func (c *CloudFront) GetStreamingDistributionConfigRequest(input *GetStreamingDi // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistributionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistributionConfig func (c *CloudFront) GetStreamingDistributionConfig(input *GetStreamingDistributionConfigInput) (*GetStreamingDistributionConfigOutput, error) { req, out := c.GetStreamingDistributionConfigRequest(input) return out, req.Send() @@ -2903,7 +3777,101 @@ func (c *CloudFront) GetStreamingDistributionConfigWithContext(ctx aws.Context, return out, req.Send() } -const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdentities2019_03_26" +const opListCachePolicies = "ListCachePolicies2020_05_31" + +// ListCachePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListCachePolicies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCachePolicies for more information on using the ListCachePolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCachePoliciesRequest method. +// req, resp := client.ListCachePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCachePolicies +func (c *CloudFront) ListCachePoliciesRequest(input *ListCachePoliciesInput) (req *request.Request, output *ListCachePoliciesOutput) { + op := &request.Operation{ + Name: opListCachePolicies, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/cache-policy", + } + + if input == nil { + input = &ListCachePoliciesInput{} + } + + output = &ListCachePoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCachePolicies API operation for Amazon CloudFront. +// +// Gets a list of cache policies. +// +// You can optionally apply a filter to return only the managed policies created +// by AWS, or only the custom policies created in your AWS account. +// +// You can optionally specify the maximum number of items to receive in the +// response. If the total number of items in the list exceeds the maximum that +// you specify, or the default maximum, the response is paginated. To get the +// next page of items, send a subsequent request that specifies the NextMarker +// value from the current response as the Marker value in the subsequent request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation ListCachePolicies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCachePolicies +func (c *CloudFront) ListCachePolicies(input *ListCachePoliciesInput) (*ListCachePoliciesOutput, error) { + req, out := c.ListCachePoliciesRequest(input) + return out, req.Send() +} + +// ListCachePoliciesWithContext is the same as ListCachePolicies with the addition of +// the ability to pass a context and additional request options. +// +// See ListCachePolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListCachePoliciesWithContext(ctx aws.Context, input *ListCachePoliciesInput, opts ...request.Option) (*ListCachePoliciesOutput, error) { + req, out := c.ListCachePoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdentities2020_05_31" // ListCloudFrontOriginAccessIdentitiesRequest generates a "aws/request.Request" representing the // client's request for the ListCloudFrontOriginAccessIdentities operation. The "output" return @@ -2928,12 +3896,12 @@ const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdenti // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListCloudFrontOriginAccessIdentities +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCloudFrontOriginAccessIdentities func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListCloudFrontOriginAccessIdentitiesInput) (req *request.Request, output *ListCloudFrontOriginAccessIdentitiesOutput) { op := &request.Operation{ Name: opListCloudFrontOriginAccessIdentities, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"CloudFrontOriginAccessIdentityList.NextMarker"}, @@ -2966,7 +3934,7 @@ func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListClou // * ErrCodeInvalidArgument "InvalidArgument" // An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListCloudFrontOriginAccessIdentities +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCloudFrontOriginAccessIdentities func (c *CloudFront) ListCloudFrontOriginAccessIdentities(input *ListCloudFrontOriginAccessIdentitiesInput) (*ListCloudFrontOriginAccessIdentitiesOutput, error) { req, out := c.ListCloudFrontOriginAccessIdentitiesRequest(input) return out, req.Send() @@ -3040,7 +4008,7 @@ func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesPagesWithContext(ctx aw return p.Err() } -const opListDistributions = "ListDistributions2019_03_26" +const opListDistributions = "ListDistributions2020_05_31" // ListDistributionsRequest generates a "aws/request.Request" representing the // client's request for the ListDistributions operation. The "output" return @@ -3065,12 +4033,12 @@ const opListDistributions = "ListDistributions2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributions +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (req *request.Request, output *ListDistributionsOutput) { op := &request.Operation{ Name: opListDistributions, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution", + HTTPPath: "/2020-05-31/distribution", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"DistributionList.NextMarker"}, @@ -3103,7 +4071,7 @@ func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (re // * ErrCodeInvalidArgument "InvalidArgument" // An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributions +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions func (c *CloudFront) ListDistributions(input *ListDistributionsInput) (*ListDistributionsOutput, error) { req, out := c.ListDistributionsRequest(input) return out, req.Send() @@ -3177,122 +4145,306 @@ func (c *CloudFront) ListDistributionsPagesWithContext(ctx aws.Context, input *L return p.Err() } -const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2019_03_26" +const opListDistributionsByCachePolicyId = "ListDistributionsByCachePolicyId2020_05_31" -// ListDistributionsByWebACLIdRequest generates a "aws/request.Request" representing the -// client's request for the ListDistributionsByWebACLId operation. The "output" return +// ListDistributionsByCachePolicyIdRequest generates a "aws/request.Request" representing the +// client's request for the ListDistributionsByCachePolicyId operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDistributionsByWebACLId for more information on using the ListDistributionsByWebACLId +// See ListDistributionsByCachePolicyId for more information on using the ListDistributionsByCachePolicyId // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDistributionsByWebACLIdRequest method. -// req, resp := client.ListDistributionsByWebACLIdRequest(params) +// // Example sending a request using the ListDistributionsByCachePolicyIdRequest method. +// req, resp := client.ListDistributionsByCachePolicyIdRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributionsByWebACLId -func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributionsByWebACLIdInput) (req *request.Request, output *ListDistributionsByWebACLIdOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId +func (c *CloudFront) ListDistributionsByCachePolicyIdRequest(input *ListDistributionsByCachePolicyIdInput) (req *request.Request, output *ListDistributionsByCachePolicyIdOutput) { op := &request.Operation{ - Name: opListDistributionsByWebACLId, + Name: opListDistributionsByCachePolicyId, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distributionsByWebACLId/{WebACLId}", + HTTPPath: "/2020-05-31/distributionsByCachePolicyId/{CachePolicyId}", } if input == nil { - input = &ListDistributionsByWebACLIdInput{} + input = &ListDistributionsByCachePolicyIdInput{} } - output = &ListDistributionsByWebACLIdOutput{} + output = &ListDistributionsByCachePolicyIdOutput{} req = c.newRequest(op, input, output) return } -// ListDistributionsByWebACLId API operation for Amazon CloudFront. +// ListDistributionsByCachePolicyId API operation for Amazon CloudFront. // -// List the distributions that are associated with a specified AWS WAF web ACL. +// Gets a list of distribution IDs for distributions that have a cache behavior +// that’s associated with the specified cache policy. +// +// You can optionally specify the maximum number of items to receive in the +// response. If the total number of items in the list exceeds the maximum that +// you specify, or the default maximum, the response is paginated. To get the +// next page of items, send a subsequent request that specifies the NextMarker +// value from the current response as the Marker value in the subsequent request. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudFront's -// API operation ListDistributionsByWebACLId for usage and error information. +// API operation ListDistributionsByCachePolicyId for usage and error information. // // Returned Error Codes: +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// // * ErrCodeInvalidArgument "InvalidArgument" // An argument is invalid. // -// * ErrCodeInvalidWebACLId "InvalidWebACLId" -// A web ACL ID specified is not valid. To specify a web ACL created using the -// latest version of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. -// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example -// 473e64fd-f30b-4765-81a0-62ad96dd167a. +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributionsByWebACLId -func (c *CloudFront) ListDistributionsByWebACLId(input *ListDistributionsByWebACLIdInput) (*ListDistributionsByWebACLIdOutput, error) { - req, out := c.ListDistributionsByWebACLIdRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId +func (c *CloudFront) ListDistributionsByCachePolicyId(input *ListDistributionsByCachePolicyIdInput) (*ListDistributionsByCachePolicyIdOutput, error) { + req, out := c.ListDistributionsByCachePolicyIdRequest(input) return out, req.Send() } -// ListDistributionsByWebACLIdWithContext is the same as ListDistributionsByWebACLId with the addition of +// ListDistributionsByCachePolicyIdWithContext is the same as ListDistributionsByCachePolicyId with the addition of // the ability to pass a context and additional request options. // -// See ListDistributionsByWebACLId for details on how to use this API operation. +// See ListDistributionsByCachePolicyId for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) ListDistributionsByWebACLIdWithContext(ctx aws.Context, input *ListDistributionsByWebACLIdInput, opts ...request.Option) (*ListDistributionsByWebACLIdOutput, error) { - req, out := c.ListDistributionsByWebACLIdRequest(input) +func (c *CloudFront) ListDistributionsByCachePolicyIdWithContext(ctx aws.Context, input *ListDistributionsByCachePolicyIdInput, opts ...request.Option) (*ListDistributionsByCachePolicyIdOutput, error) { + req, out := c.ListDistributionsByCachePolicyIdRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListFieldLevelEncryptionConfigs = "ListFieldLevelEncryptionConfigs2019_03_26" +const opListDistributionsByOriginRequestPolicyId = "ListDistributionsByOriginRequestPolicyId2020_05_31" -// ListFieldLevelEncryptionConfigsRequest generates a "aws/request.Request" representing the -// client's request for the ListFieldLevelEncryptionConfigs operation. The "output" return +// ListDistributionsByOriginRequestPolicyIdRequest generates a "aws/request.Request" representing the +// client's request for the ListDistributionsByOriginRequestPolicyId operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListFieldLevelEncryptionConfigs for more information on using the ListFieldLevelEncryptionConfigs +// See ListDistributionsByOriginRequestPolicyId for more information on using the ListDistributionsByOriginRequestPolicyId // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListFieldLevelEncryptionConfigsRequest method. -// req, resp := client.ListFieldLevelEncryptionConfigsRequest(params) +// // Example sending a request using the ListDistributionsByOriginRequestPolicyIdRequest method. +// req, resp := client.ListDistributionsByOriginRequestPolicyIdRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionConfigs -func (c *CloudFront) ListFieldLevelEncryptionConfigsRequest(input *ListFieldLevelEncryptionConfigsInput) (req *request.Request, output *ListFieldLevelEncryptionConfigsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByOriginRequestPolicyId +func (c *CloudFront) ListDistributionsByOriginRequestPolicyIdRequest(input *ListDistributionsByOriginRequestPolicyIdInput) (req *request.Request, output *ListDistributionsByOriginRequestPolicyIdOutput) { op := &request.Operation{ - Name: opListFieldLevelEncryptionConfigs, + Name: opListDistributionsByOriginRequestPolicyId, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption", + HTTPPath: "/2020-05-31/distributionsByOriginRequestPolicyId/{OriginRequestPolicyId}", + } + + if input == nil { + input = &ListDistributionsByOriginRequestPolicyIdInput{} + } + + output = &ListDistributionsByOriginRequestPolicyIdOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDistributionsByOriginRequestPolicyId API operation for Amazon CloudFront. +// +// Gets a list of distribution IDs for distributions that have a cache behavior +// that’s associated with the specified origin request policy. +// +// You can optionally specify the maximum number of items to receive in the +// response. If the total number of items in the list exceeds the maximum that +// you specify, or the default maximum, the response is paginated. To get the +// next page of items, send a subsequent request that specifies the NextMarker +// value from the current response as the Marker value in the subsequent request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation ListDistributionsByOriginRequestPolicyId for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByOriginRequestPolicyId +func (c *CloudFront) ListDistributionsByOriginRequestPolicyId(input *ListDistributionsByOriginRequestPolicyIdInput) (*ListDistributionsByOriginRequestPolicyIdOutput, error) { + req, out := c.ListDistributionsByOriginRequestPolicyIdRequest(input) + return out, req.Send() +} + +// ListDistributionsByOriginRequestPolicyIdWithContext is the same as ListDistributionsByOriginRequestPolicyId with the addition of +// the ability to pass a context and additional request options. +// +// See ListDistributionsByOriginRequestPolicyId for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListDistributionsByOriginRequestPolicyIdWithContext(ctx aws.Context, input *ListDistributionsByOriginRequestPolicyIdInput, opts ...request.Option) (*ListDistributionsByOriginRequestPolicyIdOutput, error) { + req, out := c.ListDistributionsByOriginRequestPolicyIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2020_05_31" + +// ListDistributionsByWebACLIdRequest generates a "aws/request.Request" representing the +// client's request for the ListDistributionsByWebACLId operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDistributionsByWebACLId for more information on using the ListDistributionsByWebACLId +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDistributionsByWebACLIdRequest method. +// req, resp := client.ListDistributionsByWebACLIdRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId +func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributionsByWebACLIdInput) (req *request.Request, output *ListDistributionsByWebACLIdOutput) { + op := &request.Operation{ + Name: opListDistributionsByWebACLId, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/distributionsByWebACLId/{WebACLId}", + } + + if input == nil { + input = &ListDistributionsByWebACLIdInput{} + } + + output = &ListDistributionsByWebACLIdOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDistributionsByWebACLId API operation for Amazon CloudFront. +// +// List the distributions that are associated with a specified AWS WAF web ACL. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's +// API operation ListDistributionsByWebACLId for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeInvalidWebACLId "InvalidWebACLId" +// A web ACL ID specified is not valid. To specify a web ACL created using the +// latest version of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. +// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example +// 473e64fd-f30b-4765-81a0-62ad96dd167a. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId +func (c *CloudFront) ListDistributionsByWebACLId(input *ListDistributionsByWebACLIdInput) (*ListDistributionsByWebACLIdOutput, error) { + req, out := c.ListDistributionsByWebACLIdRequest(input) + return out, req.Send() +} + +// ListDistributionsByWebACLIdWithContext is the same as ListDistributionsByWebACLId with the addition of +// the ability to pass a context and additional request options. +// +// See ListDistributionsByWebACLId for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListDistributionsByWebACLIdWithContext(ctx aws.Context, input *ListDistributionsByWebACLIdInput, opts ...request.Option) (*ListDistributionsByWebACLIdOutput, error) { + req, out := c.ListDistributionsByWebACLIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListFieldLevelEncryptionConfigs = "ListFieldLevelEncryptionConfigs2020_05_31" + +// ListFieldLevelEncryptionConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListFieldLevelEncryptionConfigs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListFieldLevelEncryptionConfigs for more information on using the ListFieldLevelEncryptionConfigs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListFieldLevelEncryptionConfigsRequest method. +// req, resp := client.ListFieldLevelEncryptionConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionConfigs +func (c *CloudFront) ListFieldLevelEncryptionConfigsRequest(input *ListFieldLevelEncryptionConfigsInput) (req *request.Request, output *ListFieldLevelEncryptionConfigsOutput) { + op := &request.Operation{ + Name: opListFieldLevelEncryptionConfigs, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/field-level-encryption", } if input == nil { @@ -3320,7 +4472,7 @@ func (c *CloudFront) ListFieldLevelEncryptionConfigsRequest(input *ListFieldLeve // * ErrCodeInvalidArgument "InvalidArgument" // An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionConfigs +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionConfigs func (c *CloudFront) ListFieldLevelEncryptionConfigs(input *ListFieldLevelEncryptionConfigsInput) (*ListFieldLevelEncryptionConfigsOutput, error) { req, out := c.ListFieldLevelEncryptionConfigsRequest(input) return out, req.Send() @@ -3342,7 +4494,7 @@ func (c *CloudFront) ListFieldLevelEncryptionConfigsWithContext(ctx aws.Context, return out, req.Send() } -const opListFieldLevelEncryptionProfiles = "ListFieldLevelEncryptionProfiles2019_03_26" +const opListFieldLevelEncryptionProfiles = "ListFieldLevelEncryptionProfiles2020_05_31" // ListFieldLevelEncryptionProfilesRequest generates a "aws/request.Request" representing the // client's request for the ListFieldLevelEncryptionProfiles operation. The "output" return @@ -3367,12 +4519,12 @@ const opListFieldLevelEncryptionProfiles = "ListFieldLevelEncryptionProfiles2019 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionProfiles +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionProfiles func (c *CloudFront) ListFieldLevelEncryptionProfilesRequest(input *ListFieldLevelEncryptionProfilesInput) (req *request.Request, output *ListFieldLevelEncryptionProfilesOutput) { op := &request.Operation{ Name: opListFieldLevelEncryptionProfiles, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption-profile", + HTTPPath: "/2020-05-31/field-level-encryption-profile", } if input == nil { @@ -3400,7 +4552,7 @@ func (c *CloudFront) ListFieldLevelEncryptionProfilesRequest(input *ListFieldLev // * ErrCodeInvalidArgument "InvalidArgument" // An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionProfiles +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionProfiles func (c *CloudFront) ListFieldLevelEncryptionProfiles(input *ListFieldLevelEncryptionProfilesInput) (*ListFieldLevelEncryptionProfilesOutput, error) { req, out := c.ListFieldLevelEncryptionProfilesRequest(input) return out, req.Send() @@ -3422,7 +4574,7 @@ func (c *CloudFront) ListFieldLevelEncryptionProfilesWithContext(ctx aws.Context return out, req.Send() } -const opListInvalidations = "ListInvalidations2019_03_26" +const opListInvalidations = "ListInvalidations2020_05_31" // ListInvalidationsRequest generates a "aws/request.Request" representing the // client's request for the ListInvalidations operation. The "output" return @@ -3447,12 +4599,12 @@ const opListInvalidations = "ListInvalidations2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListInvalidations +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListInvalidations func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (req *request.Request, output *ListInvalidationsOutput) { op := &request.Operation{ Name: opListInvalidations, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution/{DistributionId}/invalidation", + HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"InvalidationList.NextMarker"}, @@ -3491,7 +4643,7 @@ func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (re // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListInvalidations +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListInvalidations func (c *CloudFront) ListInvalidations(input *ListInvalidationsInput) (*ListInvalidationsOutput, error) { req, out := c.ListInvalidationsRequest(input) return out, req.Send() @@ -3565,7 +4717,101 @@ func (c *CloudFront) ListInvalidationsPagesWithContext(ctx aws.Context, input *L return p.Err() } -const opListPublicKeys = "ListPublicKeys2019_03_26" +const opListOriginRequestPolicies = "ListOriginRequestPolicies2020_05_31" + +// ListOriginRequestPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListOriginRequestPolicies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListOriginRequestPolicies for more information on using the ListOriginRequestPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListOriginRequestPoliciesRequest method. +// req, resp := client.ListOriginRequestPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginRequestPolicies +func (c *CloudFront) ListOriginRequestPoliciesRequest(input *ListOriginRequestPoliciesInput) (req *request.Request, output *ListOriginRequestPoliciesOutput) { + op := &request.Operation{ + Name: opListOriginRequestPolicies, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/origin-request-policy", + } + + if input == nil { + input = &ListOriginRequestPoliciesInput{} + } + + output = &ListOriginRequestPoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOriginRequestPolicies API operation for Amazon CloudFront. +// +// Gets a list of origin request policies. +// +// You can optionally apply a filter to return only the managed policies created +// by AWS, or only the custom policies created in your AWS account. +// +// You can optionally specify the maximum number of items to receive in the +// response. If the total number of items in the list exceeds the maximum that +// you specify, or the default maximum, the response is paginated. To get the +// next page of items, send a subsequent request that specifies the NextMarker +// value from the current response as the Marker value in the subsequent request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation ListOriginRequestPolicies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginRequestPolicies +func (c *CloudFront) ListOriginRequestPolicies(input *ListOriginRequestPoliciesInput) (*ListOriginRequestPoliciesOutput, error) { + req, out := c.ListOriginRequestPoliciesRequest(input) + return out, req.Send() +} + +// ListOriginRequestPoliciesWithContext is the same as ListOriginRequestPolicies with the addition of +// the ability to pass a context and additional request options. +// +// See ListOriginRequestPolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListOriginRequestPoliciesWithContext(ctx aws.Context, input *ListOriginRequestPoliciesInput, opts ...request.Option) (*ListOriginRequestPoliciesOutput, error) { + req, out := c.ListOriginRequestPoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPublicKeys = "ListPublicKeys2020_05_31" // ListPublicKeysRequest generates a "aws/request.Request" representing the // client's request for the ListPublicKeys operation. The "output" return @@ -3590,12 +4836,12 @@ const opListPublicKeys = "ListPublicKeys2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListPublicKeys +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListPublicKeys func (c *CloudFront) ListPublicKeysRequest(input *ListPublicKeysInput) (req *request.Request, output *ListPublicKeysOutput) { op := &request.Operation{ Name: opListPublicKeys, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/public-key", + HTTPPath: "/2020-05-31/public-key", } if input == nil { @@ -3622,7 +4868,7 @@ func (c *CloudFront) ListPublicKeysRequest(input *ListPublicKeysInput) (req *req // * ErrCodeInvalidArgument "InvalidArgument" // An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListPublicKeys +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListPublicKeys func (c *CloudFront) ListPublicKeys(input *ListPublicKeysInput) (*ListPublicKeysOutput, error) { req, out := c.ListPublicKeysRequest(input) return out, req.Send() @@ -3644,7 +4890,7 @@ func (c *CloudFront) ListPublicKeysWithContext(ctx aws.Context, input *ListPubli return out, req.Send() } -const opListStreamingDistributions = "ListStreamingDistributions2019_03_26" +const opListStreamingDistributions = "ListStreamingDistributions2020_05_31" // ListStreamingDistributionsRequest generates a "aws/request.Request" representing the // client's request for the ListStreamingDistributions operation. The "output" return @@ -3669,12 +4915,12 @@ const opListStreamingDistributions = "ListStreamingDistributions2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListStreamingDistributions +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistributionsInput) (req *request.Request, output *ListStreamingDistributionsOutput) { op := &request.Operation{ Name: opListStreamingDistributions, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/streaming-distribution", + HTTPPath: "/2020-05-31/streaming-distribution", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"StreamingDistributionList.NextMarker"}, @@ -3707,7 +4953,7 @@ func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistr // * ErrCodeInvalidArgument "InvalidArgument" // An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListStreamingDistributions +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions func (c *CloudFront) ListStreamingDistributions(input *ListStreamingDistributionsInput) (*ListStreamingDistributionsOutput, error) { req, out := c.ListStreamingDistributionsRequest(input) return out, req.Send() @@ -3781,7 +5027,7 @@ func (c *CloudFront) ListStreamingDistributionsPagesWithContext(ctx aws.Context, return p.Err() } -const opListTagsForResource = "ListTagsForResource2019_03_26" +const opListTagsForResource = "ListTagsForResource2020_05_31" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return @@ -3806,12 +5052,12 @@ const opListTagsForResource = "ListTagsForResource2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListTagsForResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListTagsForResource func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ Name: opListTagsForResource, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/tagging", + HTTPPath: "/2020-05-31/tagging", } if input == nil { @@ -3847,7 +5093,7 @@ func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) // * ErrCodeNoSuchResource "NoSuchResource" // A resource that was specified is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListTagsForResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListTagsForResource func (c *CloudFront) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) return out, req.Send() @@ -3869,7 +5115,7 @@ func (c *CloudFront) ListTagsForResourceWithContext(ctx aws.Context, input *List return out, req.Send() } -const opTagResource = "TagResource2019_03_26" +const opTagResource = "TagResource2020_05_31" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return @@ -3894,12 +5140,12 @@ const opTagResource = "TagResource2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/TagResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ Name: opTagResource, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/tagging?Operation=Tag", + HTTPPath: "/2020-05-31/tagging?Operation=Tag", } if input == nil { @@ -3936,7 +5182,7 @@ func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.R // * ErrCodeNoSuchResource "NoSuchResource" // A resource that was specified is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/TagResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource func (c *CloudFront) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) return out, req.Send() @@ -3958,7 +5204,7 @@ func (c *CloudFront) TagResourceWithContext(ctx aws.Context, input *TagResourceI return out, req.Send() } -const opUntagResource = "UntagResource2019_03_26" +const opUntagResource = "UntagResource2020_05_31" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return @@ -3983,12 +5229,12 @@ const opUntagResource = "UntagResource2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UntagResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ Name: opUntagResource, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/tagging?Operation=Untag", + HTTPPath: "/2020-05-31/tagging?Operation=Untag", } if input == nil { @@ -4025,7 +5271,7 @@ func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *reque // * ErrCodeNoSuchResource "NoSuchResource" // A resource that was specified is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UntagResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource func (c *CloudFront) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) return out, req.Send() @@ -4047,113 +5293,242 @@ func (c *CloudFront) UntagResourceWithContext(ctx aws.Context, input *UntagResou return out, req.Send() } -const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIdentity2019_03_26" +const opUpdateCachePolicy = "UpdateCachePolicy2020_05_31" -// UpdateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the -// client's request for the UpdateCloudFrontOriginAccessIdentity operation. The "output" return +// UpdateCachePolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCachePolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateCloudFrontOriginAccessIdentity for more information on using the UpdateCloudFrontOriginAccessIdentity +// See UpdateCachePolicy for more information on using the UpdateCachePolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateCloudFrontOriginAccessIdentityRequest method. -// req, resp := client.UpdateCloudFrontOriginAccessIdentityRequest(params) +// // Example sending a request using the UpdateCachePolicyRequest method. +// req, resp := client.UpdateCachePolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateCloudFrontOriginAccessIdentity -func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *UpdateCloudFrontOriginAccessIdentityOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCachePolicy +func (c *CloudFront) UpdateCachePolicyRequest(input *UpdateCachePolicyInput) (req *request.Request, output *UpdateCachePolicyOutput) { op := &request.Operation{ - Name: opUpdateCloudFrontOriginAccessIdentity, + Name: opUpdateCachePolicy, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}/config", + HTTPPath: "/2020-05-31/cache-policy/{Id}", } if input == nil { - input = &UpdateCloudFrontOriginAccessIdentityInput{} + input = &UpdateCachePolicyInput{} } - output = &UpdateCloudFrontOriginAccessIdentityOutput{} + output = &UpdateCachePolicyOutput{} req = c.newRequest(op, input, output) return } -// UpdateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. +// UpdateCachePolicy API operation for Amazon CloudFront. // -// Update an origin access identity. +// Updates a cache policy configuration. +// +// When you update a cache policy configuration, all the fields are updated +// with the values provided in the request. You cannot update some fields independent +// of others. To update a cache policy configuration: +// +// Use GetCachePolicyConfig to get the current configuration. +// +// Locally modify the fields in the cache policy configuration that you want +// to update. +// +// Call UpdateCachePolicy by providing the entire cache policy configuration, +// including the fields that you modified and those that you didn’t. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's -// API operation UpdateCloudFrontOriginAccessIdentity for usage and error information. +// API operation UpdateCachePolicy for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDenied "AccessDenied" // Access denied. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // -// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. // -// * ErrCodeMissingBody "MissingBody" -// This operation requires a body. Ensure that the body is present and the Content-Type -// header is set. +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. // -// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" -// The specified origin access identity does not exist. +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" // The precondition given in one or more of the request header fields evaluated // to false. // -// * ErrCodeInvalidArgument "InvalidArgument" -// An argument is invalid. +// * ErrCodeCachePolicyAlreadyExists "CachePolicyAlreadyExists" +// A cache policy with this name already exists. You must provide a unique name. +// To modify an existing cache policy, use UpdateCachePolicy. // -// * ErrCodeInconsistentQuantities "InconsistentQuantities" -// The value of Quantity and the size of Items don't match. +// * ErrCodeTooManyHeadersInCachePolicy "TooManyHeadersInCachePolicy" +// The number of headers in the cache policy exceeds the maximum. For more information, +// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateCloudFrontOriginAccessIdentity -func (c *CloudFront) UpdateCloudFrontOriginAccessIdentity(input *UpdateCloudFrontOriginAccessIdentityInput) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { - req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) +// * ErrCodeTooManyCookiesInCachePolicy "TooManyCookiesInCachePolicy" +// The number of cookies in the cache policy exceeds the maximum. For more information, +// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyQueryStringsInCachePolicy "TooManyQueryStringsInCachePolicy" +// The number of query strings in the cache policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCachePolicy +func (c *CloudFront) UpdateCachePolicy(input *UpdateCachePolicyInput) (*UpdateCachePolicyOutput, error) { + req, out := c.UpdateCachePolicyRequest(input) return out, req.Send() } -// UpdateCloudFrontOriginAccessIdentityWithContext is the same as UpdateCloudFrontOriginAccessIdentity with the addition of +// UpdateCachePolicyWithContext is the same as UpdateCachePolicy with the addition of // the ability to pass a context and additional request options. // -// See UpdateCloudFrontOriginAccessIdentity for details on how to use this API operation. +// See UpdateCachePolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *UpdateCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { - req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) +func (c *CloudFront) UpdateCachePolicyWithContext(ctx aws.Context, input *UpdateCachePolicyInput, opts ...request.Option) (*UpdateCachePolicyOutput, error) { + req, out := c.UpdateCachePolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDistribution = "UpdateDistribution2019_03_26" +const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIdentity2020_05_31" -// UpdateDistributionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDistribution operation. The "output" return -// value will be populated with the request's response once the request completes +// UpdateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCloudFrontOriginAccessIdentity operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCloudFrontOriginAccessIdentity for more information on using the UpdateCloudFrontOriginAccessIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCloudFrontOriginAccessIdentityRequest method. +// req, resp := client.UpdateCloudFrontOriginAccessIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCloudFrontOriginAccessIdentity +func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *UpdateCloudFrontOriginAccessIdentityOutput) { + op := &request.Operation{ + Name: opUpdateCloudFrontOriginAccessIdentity, + HTTPMethod: "PUT", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}/config", + } + + if input == nil { + input = &UpdateCloudFrontOriginAccessIdentityInput{} + } + + output = &UpdateCloudFrontOriginAccessIdentityOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. +// +// Update an origin access identity. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's +// API operation UpdateCloudFrontOriginAccessIdentity for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeIllegalUpdate "IllegalUpdate" +// The update contains modifications that are not allowed. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeMissingBody "MissingBody" +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" +// The specified origin access identity does not exist. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition given in one or more of the request header fields evaluated +// to false. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCloudFrontOriginAccessIdentity +func (c *CloudFront) UpdateCloudFrontOriginAccessIdentity(input *UpdateCloudFrontOriginAccessIdentityInput) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { + req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) + return out, req.Send() +} + +// UpdateCloudFrontOriginAccessIdentityWithContext is the same as UpdateCloudFrontOriginAccessIdentity with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCloudFrontOriginAccessIdentity for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *UpdateCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { + req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDistribution = "UpdateDistribution2020_05_31" + +// UpdateDistributionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDistribution operation. The "output" return +// value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. @@ -4174,12 +5549,12 @@ const opUpdateDistribution = "UpdateDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistribution func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) { op := &request.Operation{ Name: opUpdateDistribution, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/distribution/{Id}/config", + HTTPPath: "/2020-05-31/distribution/{Id}/config", } if input == nil { @@ -4273,10 +5648,10 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // The CNAME specified is already defined for CloudFront. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeMissingBody "MissingBody" // This operation requires a body. Ensure that the body is present and the Content-Type @@ -4391,6 +5766,10 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // Processing your request would cause the maximum number of distributions with // Lambda function associations per owner to be exceeded. // +// * ErrCodeTooManyDistributionsWithSingleFunctionARN "TooManyDistributionsWithSingleFunctionARN" +// The maximum number of distributions have been associated with the specified +// Lambda function. +// // * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" // Your request contains more Lambda function associations than are allowed // per distribution. @@ -4415,7 +5794,23 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // The maximum number of distributions have been associated with the specified // configuration for field-level encryption. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateDistribution +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToCachePolicy "TooManyDistributionsAssociatedToCachePolicy" +// The maximum number of distributions have been associated with the specified +// cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy "TooManyDistributionsAssociatedToOriginRequestPolicy" +// The maximum number of distributions have been associated with the specified +// origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistribution func (c *CloudFront) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) { req, out := c.UpdateDistributionRequest(input) return out, req.Send() @@ -4437,7 +5832,7 @@ func (c *CloudFront) UpdateDistributionWithContext(ctx aws.Context, input *Updat return out, req.Send() } -const opUpdateFieldLevelEncryptionConfig = "UpdateFieldLevelEncryptionConfig2019_03_26" +const opUpdateFieldLevelEncryptionConfig = "UpdateFieldLevelEncryptionConfig2020_05_31" // UpdateFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the // client's request for the UpdateFieldLevelEncryptionConfig operation. The "output" return @@ -4462,12 +5857,12 @@ const opUpdateFieldLevelEncryptionConfig = "UpdateFieldLevelEncryptionConfig2019 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionConfig func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldLevelEncryptionConfigInput) (req *request.Request, output *UpdateFieldLevelEncryptionConfigOutput) { op := &request.Operation{ Name: opUpdateFieldLevelEncryptionConfig, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/field-level-encryption/{Id}/config", + HTTPPath: "/2020-05-31/field-level-encryption/{Id}/config", } if input == nil { @@ -4495,7 +5890,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldL // Access denied. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. @@ -4504,7 +5899,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldL // An argument is invalid. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. @@ -4527,7 +5922,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldL // * ErrCodeQueryArgProfileEmpty "QueryArgProfileEmpty" // No profile specified for the field-level encryption query argument. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionConfig func (c *CloudFront) UpdateFieldLevelEncryptionConfig(input *UpdateFieldLevelEncryptionConfigInput) (*UpdateFieldLevelEncryptionConfigOutput, error) { req, out := c.UpdateFieldLevelEncryptionConfigRequest(input) return out, req.Send() @@ -4549,7 +5944,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigWithContext(ctx aws.Context return out, req.Send() } -const opUpdateFieldLevelEncryptionProfile = "UpdateFieldLevelEncryptionProfile2019_03_26" +const opUpdateFieldLevelEncryptionProfile = "UpdateFieldLevelEncryptionProfile2020_05_31" // UpdateFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the // client's request for the UpdateFieldLevelEncryptionProfile operation. The "output" return @@ -4574,12 +5969,12 @@ const opUpdateFieldLevelEncryptionProfile = "UpdateFieldLevelEncryptionProfile20 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionProfile func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateFieldLevelEncryptionProfileInput) (req *request.Request, output *UpdateFieldLevelEncryptionProfileOutput) { op := &request.Operation{ Name: opUpdateFieldLevelEncryptionProfile, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}/config", + HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}/config", } if input == nil { @@ -4610,7 +6005,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateField // The specified profile for field-level encryption already exists. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. @@ -4619,7 +6014,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateField // An argument is invalid. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchPublicKey "NoSuchPublicKey" // The specified public key doesn't exist. @@ -4642,7 +6037,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateField // The maximum number of field patterns for field-level encryption have been // created. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionProfile func (c *CloudFront) UpdateFieldLevelEncryptionProfile(input *UpdateFieldLevelEncryptionProfileInput) (*UpdateFieldLevelEncryptionProfileOutput, error) { req, out := c.UpdateFieldLevelEncryptionProfileRequest(input) return out, req.Send() @@ -4664,7 +6059,137 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } -const opUpdatePublicKey = "UpdatePublicKey2019_03_26" +const opUpdateOriginRequestPolicy = "UpdateOriginRequestPolicy2020_05_31" + +// UpdateOriginRequestPolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateOriginRequestPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateOriginRequestPolicy for more information on using the UpdateOriginRequestPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateOriginRequestPolicyRequest method. +// req, resp := client.UpdateOriginRequestPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginRequestPolicy +func (c *CloudFront) UpdateOriginRequestPolicyRequest(input *UpdateOriginRequestPolicyInput) (req *request.Request, output *UpdateOriginRequestPolicyOutput) { + op := &request.Operation{ + Name: opUpdateOriginRequestPolicy, + HTTPMethod: "PUT", + HTTPPath: "/2020-05-31/origin-request-policy/{Id}", + } + + if input == nil { + input = &UpdateOriginRequestPolicyInput{} + } + + output = &UpdateOriginRequestPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateOriginRequestPolicy API operation for Amazon CloudFront. +// +// Updates an origin request policy configuration. +// +// When you update an origin request policy configuration, all the fields are +// updated with the values provided in the request. You cannot update some fields +// independent of others. To update an origin request policy configuration: +// +// Use GetOriginRequestPolicyConfig to get the current configuration. +// +// Locally modify the fields in the origin request policy configuration that +// you want to update. +// +// Call UpdateOriginRequestPolicy by providing the entire origin request policy +// configuration, including the fields that you modified and those that you +// didn’t. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CloudFront's +// API operation UpdateOriginRequestPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeIllegalUpdate "IllegalUpdate" +// The update contains modifications that are not allowed. +// +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition given in one or more of the request header fields evaluated +// to false. +// +// * ErrCodeOriginRequestPolicyAlreadyExists "OriginRequestPolicyAlreadyExists" +// An origin request policy with this name already exists. You must provide +// a unique name. To modify an existing origin request policy, use UpdateOriginRequestPolicy. +// +// * ErrCodeTooManyHeadersInOriginRequestPolicy "TooManyHeadersInOriginRequestPolicy" +// The number of headers in the origin request policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyCookiesInOriginRequestPolicy "TooManyCookiesInOriginRequestPolicy" +// The number of cookies in the origin request policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyQueryStringsInOriginRequestPolicy "TooManyQueryStringsInOriginRequestPolicy" +// The number of query strings in the origin request policy exceeds the maximum. +// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginRequestPolicy +func (c *CloudFront) UpdateOriginRequestPolicy(input *UpdateOriginRequestPolicyInput) (*UpdateOriginRequestPolicyOutput, error) { + req, out := c.UpdateOriginRequestPolicyRequest(input) + return out, req.Send() +} + +// UpdateOriginRequestPolicyWithContext is the same as UpdateOriginRequestPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateOriginRequestPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) UpdateOriginRequestPolicyWithContext(ctx aws.Context, input *UpdateOriginRequestPolicyInput, opts ...request.Option) (*UpdateOriginRequestPolicyOutput, error) { + req, out := c.UpdateOriginRequestPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePublicKey = "UpdatePublicKey2020_05_31" // UpdatePublicKeyRequest generates a "aws/request.Request" representing the // client's request for the UpdatePublicKey operation. The "output" return @@ -4689,12 +6214,12 @@ const opUpdatePublicKey = "UpdatePublicKey2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdatePublicKey +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdatePublicKey func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *request.Request, output *UpdatePublicKeyOutput) { op := &request.Operation{ Name: opUpdatePublicKey, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/public-key/{Id}/config", + HTTPPath: "/2020-05-31/public-key/{Id}/config", } if input == nil { @@ -4729,10 +6254,10 @@ func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *r // An argument is invalid. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeNoSuchPublicKey "NoSuchPublicKey" // The specified public key doesn't exist. @@ -4741,7 +6266,7 @@ func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *r // The precondition given in one or more of the request header fields evaluated // to false. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdatePublicKey +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdatePublicKey func (c *CloudFront) UpdatePublicKey(input *UpdatePublicKeyInput) (*UpdatePublicKeyOutput, error) { req, out := c.UpdatePublicKeyRequest(input) return out, req.Send() @@ -4763,7 +6288,7 @@ func (c *CloudFront) UpdatePublicKeyWithContext(ctx aws.Context, input *UpdatePu return out, req.Send() } -const opUpdateStreamingDistribution = "UpdateStreamingDistribution2019_03_26" +const opUpdateStreamingDistribution = "UpdateStreamingDistribution2020_05_31" // UpdateStreamingDistributionRequest generates a "aws/request.Request" representing the // client's request for the UpdateStreamingDistribution operation. The "output" return @@ -4788,12 +6313,12 @@ const opUpdateStreamingDistribution = "UpdateStreamingDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateStreamingDistribution func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDistributionInput) (req *request.Request, output *UpdateStreamingDistributionOutput) { op := &request.Operation{ Name: opUpdateStreamingDistribution, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/streaming-distribution/{Id}/config", + HTTPPath: "/2020-05-31/streaming-distribution/{Id}/config", } if input == nil { @@ -4824,10 +6349,10 @@ func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDi // The CNAME specified is already defined for CloudFront. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeMissingBody "MissingBody" // This operation requires a body. Ensure that the body is present and the Content-Type @@ -4858,7 +6383,7 @@ func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDi // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateStreamingDistribution func (c *CloudFront) UpdateStreamingDistribution(input *UpdateStreamingDistributionInput) (*UpdateStreamingDistributionOutput, error) { req, out := c.UpdateStreamingDistributionRequest(input) return out, req.Send() @@ -5190,12 +6715,24 @@ type CacheBehavior struct { // to delete objects from your origin. AllowedMethods *AllowedMethods `type:"structure"` + // The unique identifier of the cache policy that is attached to this cache + // behavior. For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + CachePolicyId *string `type:"string"` + // Whether you want CloudFront to automatically compress certain files for this // cache behavior. If so, specify true; if not, specify false. For more information, // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) // in the Amazon CloudFront Developer Guide. Compress *bool `type:"boolean"` + // This field is deprecated. We recommend that you use the DefaultTTL field + // in a cache policy instead of this field. For more information, see Creating + // cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // // The default amount of time that you want objects to stay in CloudFront caches // before CloudFront forwards another request to your origin to determine whether // the object has been updated. The value that you specify applies only when @@ -5203,22 +6740,46 @@ type CacheBehavior struct { // s-maxage, and Expires to objects. For more information, see Managing How // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) // in the Amazon CloudFront Developer Guide. - DefaultTTL *int64 `type:"long"` + // + // Deprecated: DefaultTTL has been deprecated + DefaultTTL *int64 `deprecated:"true" type:"long"` // The value of ID for the field-level encryption configuration that you want // CloudFront to use for encrypting specific fields of data for this cache behavior. FieldLevelEncryptionId *string `type:"string"` + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. For more information, see Working + // with policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // If you want to include values in the cache key, use a cache policy. For more + // information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send values to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) + // in the Amazon CloudFront Developer Guide. + // // A complex type that specifies how CloudFront handles query strings, cookies, // and HTTP headers. // - // ForwardedValues is a required field - ForwardedValues *ForwardedValues `type:"structure" required:"true"` + // Deprecated: ForwardedValues has been deprecated + ForwardedValues *ForwardedValues `deprecated:"true" type:"structure"` // A complex type that contains zero or more Lambda function associations for // a cache behavior. LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` + // This field is deprecated. We recommend that you use the MaxTTL field in a + // cache policy instead of this field. For more information, see Creating cache + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // // The maximum amount of time that you want objects to stay in CloudFront caches // before CloudFront forwards another request to your origin to determine whether // the object has been updated. The value that you specify applies only when @@ -5226,8 +6787,16 @@ type CacheBehavior struct { // s-maxage, and Expires to objects. For more information, see Managing How // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) // in the Amazon CloudFront Developer Guide. - MaxTTL *int64 `type:"long"` + // + // Deprecated: MaxTTL has been deprecated + MaxTTL *int64 `deprecated:"true" type:"long"` + // This field is deprecated. We recommend that you use the MinTTL field in a + // cache policy instead of this field. For more information, see Creating cache + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // // The minimum amount of time that you want objects to stay in CloudFront caches // before CloudFront forwards another request to your origin to determine whether // the object has been updated. For more information, see Managing How Long @@ -5238,8 +6807,15 @@ type CacheBehavior struct { // headers to your origin (under Headers, if you specify 1 for Quantity and // * for Name). // - // MinTTL is a required field - MinTTL *int64 `type:"long" required:"true"` + // Deprecated: MinTTL has been deprecated + MinTTL *int64 `deprecated:"true" type:"long"` + + // The unique identifier of the origin request policy that is attached to this + // cache behavior. For more information, see Creating origin request policies + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) + // in the Amazon CloudFront Developer Guide. + OriginRequestPolicyId *string `type:"string"` // The pattern (for example, images/*.jpg) that specifies which requests to // apply the behavior to. When CloudFront receives a viewer request, the requested @@ -5336,12 +6912,6 @@ func (s CacheBehavior) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CacheBehavior) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CacheBehavior"} - if s.ForwardedValues == nil { - invalidParams.Add(request.NewErrParamRequired("ForwardedValues")) - } - if s.MinTTL == nil { - invalidParams.Add(request.NewErrParamRequired("MinTTL")) - } if s.PathPattern == nil { invalidParams.Add(request.NewErrParamRequired("PathPattern")) } @@ -5387,6 +6957,12 @@ func (s *CacheBehavior) SetAllowedMethods(v *AllowedMethods) *CacheBehavior { return s } +// SetCachePolicyId sets the CachePolicyId field's value. +func (s *CacheBehavior) SetCachePolicyId(v string) *CacheBehavior { + s.CachePolicyId = &v + return s +} + // SetCompress sets the Compress field's value. func (s *CacheBehavior) SetCompress(v bool) *CacheBehavior { s.Compress = &v @@ -5429,6 +7005,12 @@ func (s *CacheBehavior) SetMinTTL(v int64) *CacheBehavior { return s } +// SetOriginRequestPolicyId sets the OriginRequestPolicyId field's value. +func (s *CacheBehavior) SetOriginRequestPolicyId(v string) *CacheBehavior { + s.OriginRequestPolicyId = &v + return s +} + // SetPathPattern sets the PathPattern field's value. func (s *CacheBehavior) SetPathPattern(v string) *CacheBehavior { s.PathPattern = &v @@ -5518,107 +7100,162 @@ func (s *CacheBehaviors) SetQuantity(v int64) *CacheBehaviors { return s } -// A complex type that controls whether CloudFront caches the response to requests -// using the specified HTTP methods. There are two choices: +// A cache policy. // -// * CloudFront caches responses to GET and HEAD requests. +// When it’s attached to a cache behavior, the cache policy determines the +// following: // -// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. +// * The values that CloudFront includes in the cache key. These values can +// include HTTP headers, cookies, and URL query strings. CloudFront uses +// the cache key to find an object in its cache that it can return to the +// viewer. // -// If you pick the second choice for your Amazon S3 Origin, you may need to -// forward Access-Control-Request-Method, Access-Control-Request-Headers, and -// Origin headers for the responses to be cached correctly. -type CachedMethods struct { +// * The default, minimum, and maximum time to live (TTL) values that you +// want objects to stay in the CloudFront cache. +// +// The headers, cookies, and query strings that are included in the cache key +// are automatically included in requests that CloudFront sends to the origin. +// CloudFront sends a request when it can’t find a valid object in its cache +// that matches the request’s cache key. If you want to send values to the +// origin but not include them in the cache key, use OriginRequestPolicy. +type CachePolicy struct { _ struct{} `type:"structure"` - // A complex type that contains the HTTP methods that you want CloudFront to - // cache responses to. + // The cache policy configuration. // - // Items is a required field - Items []*string `locationNameList:"Method" type:"list" required:"true"` + // CachePolicyConfig is a required field + CachePolicyConfig *CachePolicyConfig `type:"structure" required:"true"` - // The number of HTTP methods for which you want CloudFront to cache responses. - // Valid values are 2 (for caching responses to GET and HEAD requests) and 3 - // (for caching responses to GET, HEAD, and OPTIONS requests). + // The unique identifier for the cache policy. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // Id is a required field + Id *string `type:"string" required:"true"` + + // The date and time when the cache policy was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` } // String returns the string representation -func (s CachedMethods) String() string { +func (s CachePolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CachedMethods) GoString() string { +func (s CachePolicy) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CachedMethods) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CachedMethods"} - if s.Items == nil { - invalidParams.Add(request.NewErrParamRequired("Items")) - } - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } +// SetCachePolicyConfig sets the CachePolicyConfig field's value. +func (s *CachePolicy) SetCachePolicyConfig(v *CachePolicyConfig) *CachePolicy { + s.CachePolicyConfig = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetItems sets the Items field's value. -func (s *CachedMethods) SetItems(v []*string) *CachedMethods { - s.Items = v +// SetId sets the Id field's value. +func (s *CachePolicy) SetId(v string) *CachePolicy { + s.Id = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *CachedMethods) SetQuantity(v int64) *CachedMethods { - s.Quantity = &v +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *CachePolicy) SetLastModifiedTime(v time.Time) *CachePolicy { + s.LastModifiedTime = &v return s } -// A field-level encryption content type profile. -type ContentTypeProfile struct { +// A cache policy configuration. +// +// This configuration determines the following: +// +// * The values that CloudFront includes in the cache key. These values can +// include HTTP headers, cookies, and URL query strings. CloudFront uses +// the cache key to find an object in its cache that it can return to the +// viewer. +// +// * The default, minimum, and maximum time to live (TTL) values that you +// want objects to stay in the CloudFront cache. +// +// The headers, cookies, and query strings that are included in the cache key +// are automatically included in requests that CloudFront sends to the origin. +// CloudFront sends a request when it can’t find a valid object in its cache +// that matches the request’s cache key. If you want to send values to the +// origin but not include them in the cache key, use OriginRequestPolicy. +type CachePolicyConfig struct { _ struct{} `type:"structure"` - // The content type for a field-level encryption content type-profile mapping. + // A comment to describe the cache policy. + Comment *string `type:"string"` + + // The default amount of time, in seconds, that you want objects to stay in + // the CloudFront cache before CloudFront sends another request to the origin + // to see if the object has been updated. CloudFront uses this value as the + // object’s time to live (TTL) only when the origin does not send Cache-Control + // or Expires headers with the object. For more information, see Managing How + // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. // - // ContentType is a required field - ContentType *string `type:"string" required:"true"` + // The default value for this field is 86400 seconds (one day). If the value + // of MinTTL is more than 86400 seconds, then the default value for this field + // is the same as the value of MinTTL. + DefaultTTL *int64 `type:"long"` - // The format for a field-level encryption content type-profile mapping. + // The maximum amount of time, in seconds, that objects stay in the CloudFront + // cache before CloudFront sends another request to the origin to see if the + // object has been updated. CloudFront uses this value only when the origin + // sends Cache-Control or Expires headers with the object. For more information, + // see Managing How Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. // - // Format is a required field - Format *string `type:"string" required:"true" enum:"Format"` + // The default value for this field is 31536000 seconds (one year). If the value + // of MinTTL or DefaultTTL is more than 31536000 seconds, then the default value + // for this field is the same as the value of DefaultTTL. + MaxTTL *int64 `type:"long"` - // The profile ID for a field-level encryption content type-profile mapping. - ProfileId *string `type:"string"` + // The minimum amount of time, in seconds, that you want objects to stay in + // the CloudFront cache before CloudFront sends another request to the origin + // to see if the object has been updated. For more information, see Managing + // How Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // MinTTL is a required field + MinTTL *int64 `type:"long" required:"true"` + + // A unique name to identify the cache policy. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The HTTP headers, cookies, and URL query strings to include in the cache + // key. The values included in the cache key are automatically included in requests + // that CloudFront sends to the origin. + ParametersInCacheKeyAndForwardedToOrigin *ParametersInCacheKeyAndForwardedToOrigin `type:"structure"` } // String returns the string representation -func (s ContentTypeProfile) String() string { +func (s CachePolicyConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ContentTypeProfile) GoString() string { +func (s CachePolicyConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ContentTypeProfile) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfile"} - if s.ContentType == nil { - invalidParams.Add(request.NewErrParamRequired("ContentType")) +func (s *CachePolicyConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachePolicyConfig"} + if s.MinTTL == nil { + invalidParams.Add(request.NewErrParamRequired("MinTTL")) } - if s.Format == nil { - invalidParams.Add(request.NewErrParamRequired("Format")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ParametersInCacheKeyAndForwardedToOrigin != nil { + if err := s.ParametersInCacheKeyAndForwardedToOrigin.Validate(); err != nil { + invalidParams.AddNested("ParametersInCacheKeyAndForwardedToOrigin", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -5627,60 +7264,95 @@ func (s *ContentTypeProfile) Validate() error { return nil } -// SetContentType sets the ContentType field's value. -func (s *ContentTypeProfile) SetContentType(v string) *ContentTypeProfile { - s.ContentType = &v +// SetComment sets the Comment field's value. +func (s *CachePolicyConfig) SetComment(v string) *CachePolicyConfig { + s.Comment = &v return s } -// SetFormat sets the Format field's value. -func (s *ContentTypeProfile) SetFormat(v string) *ContentTypeProfile { - s.Format = &v +// SetDefaultTTL sets the DefaultTTL field's value. +func (s *CachePolicyConfig) SetDefaultTTL(v int64) *CachePolicyConfig { + s.DefaultTTL = &v return s } -// SetProfileId sets the ProfileId field's value. -func (s *ContentTypeProfile) SetProfileId(v string) *ContentTypeProfile { - s.ProfileId = &v +// SetMaxTTL sets the MaxTTL field's value. +func (s *CachePolicyConfig) SetMaxTTL(v int64) *CachePolicyConfig { + s.MaxTTL = &v return s } -// The configuration for a field-level encryption content type-profile mapping. -type ContentTypeProfileConfig struct { - _ struct{} `type:"structure"` +// SetMinTTL sets the MinTTL field's value. +func (s *CachePolicyConfig) SetMinTTL(v int64) *CachePolicyConfig { + s.MinTTL = &v + return s +} - // The configuration for a field-level encryption content type-profile. - ContentTypeProfiles *ContentTypeProfiles `type:"structure"` +// SetName sets the Name field's value. +func (s *CachePolicyConfig) SetName(v string) *CachePolicyConfig { + s.Name = &v + return s +} - // The setting in a field-level encryption content type-profile mapping that - // specifies what to do when an unknown content type is provided for the profile. - // If true, content is forwarded without being encrypted when the content type - // is unknown. If false (the default), an error is returned when the content - // type is unknown. +// SetParametersInCacheKeyAndForwardedToOrigin sets the ParametersInCacheKeyAndForwardedToOrigin field's value. +func (s *CachePolicyConfig) SetParametersInCacheKeyAndForwardedToOrigin(v *ParametersInCacheKeyAndForwardedToOrigin) *CachePolicyConfig { + s.ParametersInCacheKeyAndForwardedToOrigin = v + return s +} + +// An object that determines whether any cookies in viewer requests (and if +// so, which cookies) are included in the cache key and automatically included +// in requests that CloudFront sends to the origin. +type CachePolicyCookiesConfig struct { + _ struct{} `type:"structure"` + + // Determines whether any cookies in viewer requests are included in the cache + // key and automatically included in requests that CloudFront sends to the origin. + // Valid values are: // - // ForwardWhenContentTypeIsUnknown is a required field - ForwardWhenContentTypeIsUnknown *bool `type:"boolean" required:"true"` + // * none – Cookies in viewer requests are not included in the cache key + // and are not automatically included in requests that CloudFront sends to + // the origin. Even when this field is set to none, any cookies that are + // listed in an OriginRequestPolicy are included in origin requests. + // + // * whitelist – The cookies in viewer requests that are listed in the + // CookieNames type are included in the cache key and automatically included + // in requests that CloudFront sends to the origin. + // + // * allExcept – All cookies in viewer requests that are not listed in + // the CookieNames type are included in the cache key and automatically included + // in requests that CloudFront sends to the origin. + // + // * all – All cookies in viewer requests are included in the cache key + // and are automatically included in requests that CloudFront sends to the + // origin. + // + // CookieBehavior is a required field + CookieBehavior *string `type:"string" required:"true" enum:"CachePolicyCookieBehavior"` + + // Contains a list of cookie names. + Cookies *CookieNames `type:"structure"` } // String returns the string representation -func (s ContentTypeProfileConfig) String() string { +func (s CachePolicyCookiesConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ContentTypeProfileConfig) GoString() string { +func (s CachePolicyCookiesConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ContentTypeProfileConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfileConfig"} - if s.ForwardWhenContentTypeIsUnknown == nil { - invalidParams.Add(request.NewErrParamRequired("ForwardWhenContentTypeIsUnknown")) +func (s *CachePolicyCookiesConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachePolicyCookiesConfig"} + if s.CookieBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("CookieBehavior")) } - if s.ContentTypeProfiles != nil { - if err := s.ContentTypeProfiles.Validate(); err != nil { - invalidParams.AddNested("ContentTypeProfiles", err.(request.ErrInvalidParams)) + if s.Cookies != nil { + if err := s.Cookies.Validate(); err != nil { + invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) } } @@ -5690,55 +7362,62 @@ func (s *ContentTypeProfileConfig) Validate() error { return nil } -// SetContentTypeProfiles sets the ContentTypeProfiles field's value. -func (s *ContentTypeProfileConfig) SetContentTypeProfiles(v *ContentTypeProfiles) *ContentTypeProfileConfig { - s.ContentTypeProfiles = v +// SetCookieBehavior sets the CookieBehavior field's value. +func (s *CachePolicyCookiesConfig) SetCookieBehavior(v string) *CachePolicyCookiesConfig { + s.CookieBehavior = &v return s } -// SetForwardWhenContentTypeIsUnknown sets the ForwardWhenContentTypeIsUnknown field's value. -func (s *ContentTypeProfileConfig) SetForwardWhenContentTypeIsUnknown(v bool) *ContentTypeProfileConfig { - s.ForwardWhenContentTypeIsUnknown = &v +// SetCookies sets the Cookies field's value. +func (s *CachePolicyCookiesConfig) SetCookies(v *CookieNames) *CachePolicyCookiesConfig { + s.Cookies = v return s } -// Field-level encryption content type-profile. -type ContentTypeProfiles struct { +// An object that determines whether any HTTP headers (and if so, which headers) +// are included in the cache key and automatically included in requests that +// CloudFront sends to the origin. +type CachePolicyHeadersConfig struct { _ struct{} `type:"structure"` - // Items in a field-level encryption content type-profile mapping. - Items []*ContentTypeProfile `locationNameList:"ContentTypeProfile" type:"list"` - - // The number of field-level encryption content type-profile mappings. + // Determines whether any HTTP headers are included in the cache key and automatically + // included in requests that CloudFront sends to the origin. Valid values are: // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // * none – HTTP headers are not included in the cache key and are not + // automatically included in requests that CloudFront sends to the origin. + // Even when this field is set to none, any headers that are listed in an + // OriginRequestPolicy are included in origin requests. + // + // * whitelist – The HTTP headers that are listed in the Headers type are + // included in the cache key and are automatically included in requests that + // CloudFront sends to the origin. + // + // HeaderBehavior is a required field + HeaderBehavior *string `type:"string" required:"true" enum:"CachePolicyHeaderBehavior"` + + // Contains a list of HTTP header names. + Headers *Headers `type:"structure"` } // String returns the string representation -func (s ContentTypeProfiles) String() string { +func (s CachePolicyHeadersConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ContentTypeProfiles) GoString() string { +func (s CachePolicyHeadersConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ContentTypeProfiles) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfiles"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) +func (s *CachePolicyHeadersConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachePolicyHeadersConfig"} + if s.HeaderBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderBehavior")) } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } + if s.Headers != nil { + if err := s.Headers.Validate(); err != nil { + invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) } } @@ -5748,131 +7427,134 @@ func (s *ContentTypeProfiles) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *ContentTypeProfiles) SetItems(v []*ContentTypeProfile) *ContentTypeProfiles { - s.Items = v +// SetHeaderBehavior sets the HeaderBehavior field's value. +func (s *CachePolicyHeadersConfig) SetHeaderBehavior(v string) *CachePolicyHeadersConfig { + s.HeaderBehavior = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *ContentTypeProfiles) SetQuantity(v int64) *ContentTypeProfiles { - s.Quantity = &v +// SetHeaders sets the Headers field's value. +func (s *CachePolicyHeadersConfig) SetHeaders(v *Headers) *CachePolicyHeadersConfig { + s.Headers = v return s } -// A complex type that specifies whether you want CloudFront to forward cookies -// to the origin and, if so, which ones. For more information about forwarding -// cookies to the origin, see Caching Content Based on Request Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) -// in the Amazon CloudFront Developer Guide. -type CookieNames struct { +// A list of cache policies. +type CachePolicyList struct { _ struct{} `type:"structure"` - // A complex type that contains one Name element for each cookie that you want - // CloudFront to forward to the origin for this cache behavior. It must contain - // the same number of items that is specified in the Quantity field. - // - // When you set Forward = whitelist (in the CookiePreferences object), this - // field must contain at least one item. - Items []*string `locationNameList:"Name" type:"list"` + // Contains the cache policies in the list. + Items []*CachePolicySummary `locationNameList:"CachePolicySummary" type:"list"` - // The number of different cookies that you want CloudFront to forward to the - // origin for this cache behavior. The value must equal the number of items - // that are in the Items field. + // The maximum number of cache policies requested. // - // When you set Forward = whitelist (in the CookiePreferences object), this - // value must be 1 or higher. + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If there are more items in the list than are in this response, this element + // is present. It contains the value that you should use in the Marker field + // of a subsequent request to continue listing cache policies where you left + // off. + NextMarker *string `type:"string"` + + // The total number of cache policies returned in the response. // // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s CookieNames) String() string { +func (s CachePolicyList) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CookieNames) GoString() string { +func (s CachePolicyList) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CookieNames) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CookieNames"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } +// SetItems sets the Items field's value. +func (s *CachePolicyList) SetItems(v []*CachePolicySummary) *CachePolicyList { + s.Items = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMaxItems sets the MaxItems field's value. +func (s *CachePolicyList) SetMaxItems(v int64) *CachePolicyList { + s.MaxItems = &v + return s } -// SetItems sets the Items field's value. -func (s *CookieNames) SetItems(v []*string) *CookieNames { - s.Items = v +// SetNextMarker sets the NextMarker field's value. +func (s *CachePolicyList) SetNextMarker(v string) *CachePolicyList { + s.NextMarker = &v return s } // SetQuantity sets the Quantity field's value. -func (s *CookieNames) SetQuantity(v int64) *CookieNames { +func (s *CachePolicyList) SetQuantity(v int64) *CachePolicyList { s.Quantity = &v return s } -// A complex type that specifies whether you want CloudFront to forward cookies -// to the origin and, if so, which ones. For more information about forwarding -// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) -// in the Amazon CloudFront Developer Guide. -type CookiePreference struct { +// An object that determines whether any URL query strings in viewer requests +// (and if so, which query strings) are included in the cache key and automatically +// included in requests that CloudFront sends to the origin. +type CachePolicyQueryStringsConfig struct { _ struct{} `type:"structure"` - // Specifies which cookies to forward to the origin for this cache behavior: - // all, none, or the list of cookies specified in the WhitelistedNames complex - // type. + // Determines whether any URL query strings in viewer requests are included + // in the cache key and automatically included in requests that CloudFront sends + // to the origin. Valid values are: // - // Amazon S3 doesn't process cookies. When the cache behavior is forwarding - // requests to an Amazon S3 origin, specify none for the Forward element. + // * none – Query strings in viewer requests are not included in the cache + // key and are not automatically included in requests that CloudFront sends + // to the origin. Even when this field is set to none, any query strings + // that are listed in an OriginRequestPolicy are included in origin requests. // - // Forward is a required field - Forward *string `type:"string" required:"true" enum:"ItemSelection"` - - // Required if you specify whitelist for the value of Forward. A complex type - // that specifies how many different cookies you want CloudFront to forward - // to the origin for this cache behavior and, if you want to forward selected - // cookies, the names of those cookies. + // * whitelist – The query strings in viewer requests that are listed in + // the QueryStringNames type are included in the cache key and automatically + // included in requests that CloudFront sends to the origin. // - // If you specify all or none for the value of Forward, omit WhitelistedNames. - // If you change the value of Forward from whitelist to all or none and you - // don't delete the WhitelistedNames element and its child elements, CloudFront - // deletes them automatically. + // * allExcept – All query strings in viewer requests that are not listed + // in the QueryStringNames type are included in the cache key and automatically + // included in requests that CloudFront sends to the origin. // - // For the current limit on the number of cookie names that you can whitelist - // for each cache behavior, see CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) - // in the AWS General Reference. - WhitelistedNames *CookieNames `type:"structure"` + // * all – All query strings in viewer requests are included in the cache + // key and are automatically included in requests that CloudFront sends to + // the origin. + // + // QueryStringBehavior is a required field + QueryStringBehavior *string `type:"string" required:"true" enum:"CachePolicyQueryStringBehavior"` + + // Contains the specific query strings in viewer requests that either are or + // are not included in the cache key and automatically included in requests + // that CloudFront sends to the origin. The behavior depends on whether the + // QueryStringBehavior field in the CachePolicyQueryStringsConfig type is set + // to whitelist (the listed query strings are included) or allExcept (the listed + // query strings are not included, but all other query strings are). + QueryStrings *QueryStringNames `type:"structure"` } // String returns the string representation -func (s CookiePreference) String() string { +func (s CachePolicyQueryStringsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CookiePreference) GoString() string { +func (s CachePolicyQueryStringsConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CookiePreference) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CookiePreference"} - if s.Forward == nil { - invalidParams.Add(request.NewErrParamRequired("Forward")) - } - if s.WhitelistedNames != nil { - if err := s.WhitelistedNames.Validate(); err != nil { - invalidParams.AddNested("WhitelistedNames", err.(request.ErrInvalidParams)) +func (s *CachePolicyQueryStringsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachePolicyQueryStringsConfig"} + if s.QueryStringBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStringBehavior")) + } + if s.QueryStrings != nil { + if err := s.QueryStrings.Validate(); err != nil { + invalidParams.AddNested("QueryStrings", err.(request.ErrInvalidParams)) } } @@ -5882,140 +7564,157 @@ func (s *CookiePreference) Validate() error { return nil } -// SetForward sets the Forward field's value. -func (s *CookiePreference) SetForward(v string) *CookiePreference { - s.Forward = &v +// SetQueryStringBehavior sets the QueryStringBehavior field's value. +func (s *CachePolicyQueryStringsConfig) SetQueryStringBehavior(v string) *CachePolicyQueryStringsConfig { + s.QueryStringBehavior = &v return s } -// SetWhitelistedNames sets the WhitelistedNames field's value. -func (s *CookiePreference) SetWhitelistedNames(v *CookieNames) *CookiePreference { - s.WhitelistedNames = v +// SetQueryStrings sets the QueryStrings field's value. +func (s *CachePolicyQueryStringsConfig) SetQueryStrings(v *QueryStringNames) *CachePolicyQueryStringsConfig { + s.QueryStrings = v return s } -// The request to create a new origin access identity (OAI). An origin access -// identity is a special CloudFront user that you can associate with Amazon -// S3 origins, so that you can secure all or just some of your Amazon S3 content. -// For more information, see Restricting Access to Amazon S3 Content by Using -// an Origin Access Identity (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) -// in the Amazon CloudFront Developer Guide. -type CreateCloudFrontOriginAccessIdentityInput struct { - _ struct{} `locationName:"CreateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` +// Contains a cache policy. +type CachePolicySummary struct { + _ struct{} `type:"structure"` - // The current configuration information for the identity. + // The cache policy. // - // CloudFrontOriginAccessIdentityConfig is a required field - CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // CachePolicy is a required field + CachePolicy *CachePolicy `type:"structure" required:"true"` + + // The type of cache policy, either managed (created by AWS) or custom (created + // in this AWS account). + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"CachePolicyType"` } // String returns the string representation -func (s CreateCloudFrontOriginAccessIdentityInput) String() string { +func (s CachePolicySummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCloudFrontOriginAccessIdentityInput) GoString() string { +func (s CachePolicySummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateCloudFrontOriginAccessIdentityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateCloudFrontOriginAccessIdentityInput"} - if s.CloudFrontOriginAccessIdentityConfig == nil { - invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig")) - } - if s.CloudFrontOriginAccessIdentityConfig != nil { - if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil { - invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCachePolicy sets the CachePolicy field's value. +func (s *CachePolicySummary) SetCachePolicy(v *CachePolicy) *CachePolicySummary { + s.CachePolicy = v + return s } -// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. -func (s *CreateCloudFrontOriginAccessIdentityInput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *CreateCloudFrontOriginAccessIdentityInput { - s.CloudFrontOriginAccessIdentityConfig = v +// SetType sets the Type field's value. +func (s *CachePolicySummary) SetType(v string) *CachePolicySummary { + s.Type = &v return s } -// The returned result of the corresponding request. -type CreateCloudFrontOriginAccessIdentityOutput struct { - _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` - - // The origin access identity's information. - CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` +// A complex type that controls whether CloudFront caches the response to requests +// using the specified HTTP methods. There are two choices: +// +// * CloudFront caches responses to GET and HEAD requests. +// +// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. +// +// If you pick the second choice for your Amazon S3 Origin, you may need to +// forward Access-Control-Request-Method, Access-Control-Request-Headers, and +// Origin headers for the responses to be cached correctly. +type CachedMethods struct { + _ struct{} `type:"structure"` - // The current version of the origin access identity created. - ETag *string `location:"header" locationName:"ETag" type:"string"` + // A complex type that contains the HTTP methods that you want CloudFront to + // cache responses to. + // + // Items is a required field + Items []*string `locationNameList:"Method" type:"list" required:"true"` - // The fully qualified URI of the new origin access identity just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A. - Location *string `location:"header" locationName:"Location" type:"string"` + // The number of HTTP methods for which you want CloudFront to cache responses. + // Valid values are 2 (for caching responses to GET and HEAD requests) and 3 + // (for caching responses to GET, HEAD, and OPTIONS requests). + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s CreateCloudFrontOriginAccessIdentityOutput) String() string { +func (s CachedMethods) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCloudFrontOriginAccessIdentityOutput) GoString() string { +func (s CachedMethods) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. -func (s *CreateCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *CreateCloudFrontOriginAccessIdentityOutput { - s.CloudFrontOriginAccessIdentity = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CachedMethods) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachedMethods"} + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetETag sets the ETag field's value. -func (s *CreateCloudFrontOriginAccessIdentityOutput) SetETag(v string) *CreateCloudFrontOriginAccessIdentityOutput { - s.ETag = &v +// SetItems sets the Items field's value. +func (s *CachedMethods) SetItems(v []*string) *CachedMethods { + s.Items = v return s } -// SetLocation sets the Location field's value. -func (s *CreateCloudFrontOriginAccessIdentityOutput) SetLocation(v string) *CreateCloudFrontOriginAccessIdentityOutput { - s.Location = &v +// SetQuantity sets the Quantity field's value. +func (s *CachedMethods) SetQuantity(v int64) *CachedMethods { + s.Quantity = &v return s } -// The request to create a new distribution. -type CreateDistributionInput struct { - _ struct{} `locationName:"CreateDistributionRequest" type:"structure" payload:"DistributionConfig"` +// A field-level encryption content type profile. +type ContentTypeProfile struct { + _ struct{} `type:"structure"` - // The distribution's configuration information. + // The content type for a field-level encryption content type-profile mapping. // - // DistributionConfig is a required field - DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // ContentType is a required field + ContentType *string `type:"string" required:"true"` + + // The format for a field-level encryption content type-profile mapping. + // + // Format is a required field + Format *string `type:"string" required:"true" enum:"Format"` + + // The profile ID for a field-level encryption content type-profile mapping. + ProfileId *string `type:"string"` } // String returns the string representation -func (s CreateDistributionInput) String() string { +func (s ContentTypeProfile) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDistributionInput) GoString() string { +func (s ContentTypeProfile) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"} - if s.DistributionConfig == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) +func (s *ContentTypeProfile) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfile"} + if s.ContentType == nil { + invalidParams.Add(request.NewErrParamRequired("ContentType")) } - if s.DistributionConfig != nil { - if err := s.DistributionConfig.Validate(); err != nil { - invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) - } + if s.Format == nil { + invalidParams.Add(request.NewErrParamRequired("Format")) } if invalidParams.Len() > 0 { @@ -6024,84 +7723,118 @@ func (s *CreateDistributionInput) Validate() error { return nil } -// SetDistributionConfig sets the DistributionConfig field's value. -func (s *CreateDistributionInput) SetDistributionConfig(v *DistributionConfig) *CreateDistributionInput { - s.DistributionConfig = v +// SetContentType sets the ContentType field's value. +func (s *ContentTypeProfile) SetContentType(v string) *ContentTypeProfile { + s.ContentType = &v return s } -// The returned result of the corresponding request. -type CreateDistributionOutput struct { - _ struct{} `type:"structure" payload:"Distribution"` +// SetFormat sets the Format field's value. +func (s *ContentTypeProfile) SetFormat(v string) *ContentTypeProfile { + s.Format = &v + return s +} - // The distribution's information. - Distribution *Distribution `type:"structure"` +// SetProfileId sets the ProfileId field's value. +func (s *ContentTypeProfile) SetProfileId(v string) *ContentTypeProfile { + s.ProfileId = &v + return s +} - // The current version of the distribution created. - ETag *string `location:"header" locationName:"ETag" type:"string"` +// The configuration for a field-level encryption content type-profile mapping. +type ContentTypeProfileConfig struct { + _ struct{} `type:"structure"` - // The fully qualified URI of the new distribution resource just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5. - Location *string `location:"header" locationName:"Location" type:"string"` + // The configuration for a field-level encryption content type-profile. + ContentTypeProfiles *ContentTypeProfiles `type:"structure"` + + // The setting in a field-level encryption content type-profile mapping that + // specifies what to do when an unknown content type is provided for the profile. + // If true, content is forwarded without being encrypted when the content type + // is unknown. If false (the default), an error is returned when the content + // type is unknown. + // + // ForwardWhenContentTypeIsUnknown is a required field + ForwardWhenContentTypeIsUnknown *bool `type:"boolean" required:"true"` } // String returns the string representation -func (s CreateDistributionOutput) String() string { +func (s ContentTypeProfileConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDistributionOutput) GoString() string { +func (s ContentTypeProfileConfig) GoString() string { return s.String() } -// SetDistribution sets the Distribution field's value. -func (s *CreateDistributionOutput) SetDistribution(v *Distribution) *CreateDistributionOutput { - s.Distribution = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContentTypeProfileConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfileConfig"} + if s.ForwardWhenContentTypeIsUnknown == nil { + invalidParams.Add(request.NewErrParamRequired("ForwardWhenContentTypeIsUnknown")) + } + if s.ContentTypeProfiles != nil { + if err := s.ContentTypeProfiles.Validate(); err != nil { + invalidParams.AddNested("ContentTypeProfiles", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetETag sets the ETag field's value. -func (s *CreateDistributionOutput) SetETag(v string) *CreateDistributionOutput { - s.ETag = &v +// SetContentTypeProfiles sets the ContentTypeProfiles field's value. +func (s *ContentTypeProfileConfig) SetContentTypeProfiles(v *ContentTypeProfiles) *ContentTypeProfileConfig { + s.ContentTypeProfiles = v return s } -// SetLocation sets the Location field's value. -func (s *CreateDistributionOutput) SetLocation(v string) *CreateDistributionOutput { - s.Location = &v +// SetForwardWhenContentTypeIsUnknown sets the ForwardWhenContentTypeIsUnknown field's value. +func (s *ContentTypeProfileConfig) SetForwardWhenContentTypeIsUnknown(v bool) *ContentTypeProfileConfig { + s.ForwardWhenContentTypeIsUnknown = &v return s } -// The request to create a new distribution with tags. -type CreateDistributionWithTagsInput struct { - _ struct{} `locationName:"CreateDistributionWithTagsRequest" type:"structure" payload:"DistributionConfigWithTags"` +// Field-level encryption content type-profile. +type ContentTypeProfiles struct { + _ struct{} `type:"structure"` - // The distribution's configuration information. + // Items in a field-level encryption content type-profile mapping. + Items []*ContentTypeProfile `locationNameList:"ContentTypeProfile" type:"list"` + + // The number of field-level encryption content type-profile mappings. // - // DistributionConfigWithTags is a required field - DistributionConfigWithTags *DistributionConfigWithTags `locationName:"DistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s CreateDistributionWithTagsInput) String() string { +func (s ContentTypeProfiles) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDistributionWithTagsInput) GoString() string { +func (s ContentTypeProfiles) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDistributionWithTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDistributionWithTagsInput"} - if s.DistributionConfigWithTags == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionConfigWithTags")) +func (s *ContentTypeProfiles) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfiles"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } - if s.DistributionConfigWithTags != nil { - if err := s.DistributionConfigWithTags.Validate(); err != nil { - invalidParams.AddNested("DistributionConfigWithTags", err.(request.ErrInvalidParams)) + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } } } @@ -6111,83 +7844,151 @@ func (s *CreateDistributionWithTagsInput) Validate() error { return nil } -// SetDistributionConfigWithTags sets the DistributionConfigWithTags field's value. -func (s *CreateDistributionWithTagsInput) SetDistributionConfigWithTags(v *DistributionConfigWithTags) *CreateDistributionWithTagsInput { - s.DistributionConfigWithTags = v +// SetItems sets the Items field's value. +func (s *ContentTypeProfiles) SetItems(v []*ContentTypeProfile) *ContentTypeProfiles { + s.Items = v return s } -// The returned result of the corresponding request. -type CreateDistributionWithTagsOutput struct { - _ struct{} `type:"structure" payload:"Distribution"` +// SetQuantity sets the Quantity field's value. +func (s *ContentTypeProfiles) SetQuantity(v int64) *ContentTypeProfiles { + s.Quantity = &v + return s +} - // The distribution's information. - Distribution *Distribution `type:"structure"` +// Contains a list of cookie names. +type CookieNames struct { + _ struct{} `type:"structure"` - // The current version of the distribution created. - ETag *string `location:"header" locationName:"ETag" type:"string"` + // A list of cookie names. + Items []*string `locationNameList:"Name" type:"list"` - // The fully qualified URI of the new distribution resource just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5. - Location *string `location:"header" locationName:"Location" type:"string"` + // The number of cookie names in the Items list. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s CreateDistributionWithTagsOutput) String() string { +func (s CookieNames) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDistributionWithTagsOutput) GoString() string { +func (s CookieNames) GoString() string { return s.String() } -// SetDistribution sets the Distribution field's value. -func (s *CreateDistributionWithTagsOutput) SetDistribution(v *Distribution) *CreateDistributionWithTagsOutput { - s.Distribution = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CookieNames) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CookieNames"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetETag sets the ETag field's value. -func (s *CreateDistributionWithTagsOutput) SetETag(v string) *CreateDistributionWithTagsOutput { - s.ETag = &v +// SetItems sets the Items field's value. +func (s *CookieNames) SetItems(v []*string) *CookieNames { + s.Items = v return s } -// SetLocation sets the Location field's value. -func (s *CreateDistributionWithTagsOutput) SetLocation(v string) *CreateDistributionWithTagsOutput { - s.Location = &v +// SetQuantity sets the Quantity field's value. +func (s *CookieNames) SetQuantity(v int64) *CookieNames { + s.Quantity = &v return s } -type CreateFieldLevelEncryptionConfigInput struct { - _ struct{} `locationName:"CreateFieldLevelEncryptionConfigRequest" type:"structure" payload:"FieldLevelEncryptionConfig"` +// This field is deprecated. We recommend that you use a cache policy or an +// origin request policy instead of this field. +// +// If you want to include cookies in the cache key, use CookiesConfig in a cache +// policy. See CreateCachePolicy. +// +// If you want to send cookies to the origin but not include them in the cache +// key, use CookiesConfig in an origin request policy. See CreateOriginRequestPolicy. +// +// A complex type that specifies whether you want CloudFront to forward cookies +// to the origin and, if so, which ones. For more information about forwarding +// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) +// in the Amazon CloudFront Developer Guide. +type CookiePreference struct { + _ struct{} `type:"structure"` - // The request to create a new field-level encryption configuration. + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. // - // FieldLevelEncryptionConfig is a required field - FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // If you want to include cookies in the cache key, use a cache policy. For + // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send cookies to the origin but not include them in the cache + // key, use origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. + // + // Specifies which cookies to forward to the origin for this cache behavior: + // all, none, or the list of cookies specified in the WhitelistedNames complex + // type. + // + // Amazon S3 doesn't process cookies. When the cache behavior is forwarding + // requests to an Amazon S3 origin, specify none for the Forward element. + // + // Forward is a required field + Forward *string `type:"string" required:"true" enum:"ItemSelection"` + + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. + // + // If you want to include cookies in the cache key, use a cache policy. For + // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send cookies to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. + // + // Required if you specify whitelist for the value of Forward. A complex type + // that specifies how many different cookies you want CloudFront to forward + // to the origin for this cache behavior and, if you want to forward selected + // cookies, the names of those cookies. + // + // If you specify all or none for the value of Forward, omit WhitelistedNames. + // If you change the value of Forward from whitelist to all or none and you + // don't delete the WhitelistedNames element and its child elements, CloudFront + // deletes them automatically. + // + // For the current limit on the number of cookie names that you can whitelist + // for each cache behavior, see CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) + // in the AWS General Reference. + WhitelistedNames *CookieNames `type:"structure"` } // String returns the string representation -func (s CreateFieldLevelEncryptionConfigInput) String() string { +func (s CookiePreference) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateFieldLevelEncryptionConfigInput) GoString() string { +func (s CookiePreference) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFieldLevelEncryptionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionConfigInput"} - if s.FieldLevelEncryptionConfig == nil { - invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionConfig")) +func (s *CookiePreference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CookiePreference"} + if s.Forward == nil { + invalidParams.Add(request.NewErrParamRequired("Forward")) } - if s.FieldLevelEncryptionConfig != nil { - if err := s.FieldLevelEncryptionConfig.Validate(); err != nil { - invalidParams.AddNested("FieldLevelEncryptionConfig", err.(request.ErrInvalidParams)) + if s.WhitelistedNames != nil { + if err := s.WhitelistedNames.Validate(); err != nil { + invalidParams.AddNested("WhitelistedNames", err.(request.ErrInvalidParams)) } } @@ -6197,83 +7998,46 @@ func (s *CreateFieldLevelEncryptionConfigInput) Validate() error { return nil } -// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. -func (s *CreateFieldLevelEncryptionConfigInput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *CreateFieldLevelEncryptionConfigInput { - s.FieldLevelEncryptionConfig = v - return s -} - -type CreateFieldLevelEncryptionConfigOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryption"` - - // The current version of the field level encryption configuration. For example: - // E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` - - // Returned when you create a new field-level encryption configuration. - FieldLevelEncryption *FieldLevelEncryption `type:"structure"` - - // The fully qualified URI of the new configuration resource just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5. - Location *string `location:"header" locationName:"Location" type:"string"` -} - -// String returns the string representation -func (s CreateFieldLevelEncryptionConfigOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateFieldLevelEncryptionConfigOutput) GoString() string { - return s.String() -} - -// SetETag sets the ETag field's value. -func (s *CreateFieldLevelEncryptionConfigOutput) SetETag(v string) *CreateFieldLevelEncryptionConfigOutput { - s.ETag = &v - return s -} - -// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. -func (s *CreateFieldLevelEncryptionConfigOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *CreateFieldLevelEncryptionConfigOutput { - s.FieldLevelEncryption = v +// SetForward sets the Forward field's value. +func (s *CookiePreference) SetForward(v string) *CookiePreference { + s.Forward = &v return s } -// SetLocation sets the Location field's value. -func (s *CreateFieldLevelEncryptionConfigOutput) SetLocation(v string) *CreateFieldLevelEncryptionConfigOutput { - s.Location = &v +// SetWhitelistedNames sets the WhitelistedNames field's value. +func (s *CookiePreference) SetWhitelistedNames(v *CookieNames) *CookiePreference { + s.WhitelistedNames = v return s } -type CreateFieldLevelEncryptionProfileInput struct { - _ struct{} `locationName:"CreateFieldLevelEncryptionProfileRequest" type:"structure" payload:"FieldLevelEncryptionProfileConfig"` +type CreateCachePolicyInput struct { + _ struct{} `locationName:"CreateCachePolicyRequest" type:"structure" payload:"CachePolicyConfig"` - // The request to create a field-level encryption profile. + // A cache policy configuration. // - // FieldLevelEncryptionProfileConfig is a required field - FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // CachePolicyConfig is a required field + CachePolicyConfig *CachePolicyConfig `locationName:"CachePolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreateFieldLevelEncryptionProfileInput) String() string { +func (s CreateCachePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateFieldLevelEncryptionProfileInput) GoString() string { +func (s CreateCachePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFieldLevelEncryptionProfileInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionProfileInput"} - if s.FieldLevelEncryptionProfileConfig == nil { - invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionProfileConfig")) - } - if s.FieldLevelEncryptionProfileConfig != nil { - if err := s.FieldLevelEncryptionProfileConfig.Validate(); err != nil { - invalidParams.AddNested("FieldLevelEncryptionProfileConfig", err.(request.ErrInvalidParams)) +func (s *CreateCachePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCachePolicyInput"} + if s.CachePolicyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CachePolicyConfig")) + } + if s.CachePolicyConfig != nil { + if err := s.CachePolicyConfig.Validate(); err != nil { + invalidParams.AddNested("CachePolicyConfig", err.(request.ErrInvalidParams)) } } @@ -6283,94 +8047,87 @@ func (s *CreateFieldLevelEncryptionProfileInput) Validate() error { return nil } -// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. -func (s *CreateFieldLevelEncryptionProfileInput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *CreateFieldLevelEncryptionProfileInput { - s.FieldLevelEncryptionProfileConfig = v +// SetCachePolicyConfig sets the CachePolicyConfig field's value. +func (s *CreateCachePolicyInput) SetCachePolicyConfig(v *CachePolicyConfig) *CreateCachePolicyInput { + s.CachePolicyConfig = v return s } -type CreateFieldLevelEncryptionProfileOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` +type CreateCachePolicyOutput struct { + _ struct{} `type:"structure" payload:"CachePolicy"` - // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` + // A cache policy. + CachePolicy *CachePolicy `type:"structure"` - // Returned when you create a new field-level encryption profile. - FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` + // The current version of the cache policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` - // The fully qualified URI of the new profile resource just created. For example: - // https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5. + // The fully qualified URI of the cache policy just created. Location *string `location:"header" locationName:"Location" type:"string"` } // String returns the string representation -func (s CreateFieldLevelEncryptionProfileOutput) String() string { +func (s CreateCachePolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateFieldLevelEncryptionProfileOutput) GoString() string { +func (s CreateCachePolicyOutput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *CreateFieldLevelEncryptionProfileOutput) SetETag(v string) *CreateFieldLevelEncryptionProfileOutput { - s.ETag = &v +// SetCachePolicy sets the CachePolicy field's value. +func (s *CreateCachePolicyOutput) SetCachePolicy(v *CachePolicy) *CreateCachePolicyOutput { + s.CachePolicy = v return s } -// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. -func (s *CreateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *CreateFieldLevelEncryptionProfileOutput { - s.FieldLevelEncryptionProfile = v +// SetETag sets the ETag field's value. +func (s *CreateCachePolicyOutput) SetETag(v string) *CreateCachePolicyOutput { + s.ETag = &v return s } // SetLocation sets the Location field's value. -func (s *CreateFieldLevelEncryptionProfileOutput) SetLocation(v string) *CreateFieldLevelEncryptionProfileOutput { +func (s *CreateCachePolicyOutput) SetLocation(v string) *CreateCachePolicyOutput { s.Location = &v return s } -// The request to create an invalidation. -type CreateInvalidationInput struct { - _ struct{} `locationName:"CreateInvalidationRequest" type:"structure" payload:"InvalidationBatch"` - - // The distribution's id. - // - // DistributionId is a required field - DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` +// The request to create a new origin access identity (OAI). An origin access +// identity is a special CloudFront user that you can associate with Amazon +// S3 origins, so that you can secure all or just some of your Amazon S3 content. +// For more information, see Restricting Access to Amazon S3 Content by Using +// an Origin Access Identity (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) +// in the Amazon CloudFront Developer Guide. +type CreateCloudFrontOriginAccessIdentityInput struct { + _ struct{} `locationName:"CreateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` - // The batch information for the invalidation. + // The current configuration information for the identity. // - // InvalidationBatch is a required field - InvalidationBatch *InvalidationBatch `locationName:"InvalidationBatch" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // CloudFrontOriginAccessIdentityConfig is a required field + CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreateInvalidationInput) String() string { +func (s CreateCloudFrontOriginAccessIdentityInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInvalidationInput) GoString() string { +func (s CreateCloudFrontOriginAccessIdentityInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInvalidationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInvalidationInput"} - if s.DistributionId == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionId")) - } - if s.DistributionId != nil && len(*s.DistributionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) - } - if s.InvalidationBatch == nil { - invalidParams.Add(request.NewErrParamRequired("InvalidationBatch")) +func (s *CreateCloudFrontOriginAccessIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCloudFrontOriginAccessIdentityInput"} + if s.CloudFrontOriginAccessIdentityConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig")) } - if s.InvalidationBatch != nil { - if err := s.InvalidationBatch.Validate(); err != nil { - invalidParams.AddNested("InvalidationBatch", err.(request.ErrInvalidParams)) + if s.CloudFrontOriginAccessIdentityConfig != nil { + if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil { + invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams)) } } @@ -6380,80 +8137,83 @@ func (s *CreateInvalidationInput) Validate() error { return nil } -// SetDistributionId sets the DistributionId field's value. -func (s *CreateInvalidationInput) SetDistributionId(v string) *CreateInvalidationInput { - s.DistributionId = &v - return s -} - -// SetInvalidationBatch sets the InvalidationBatch field's value. -func (s *CreateInvalidationInput) SetInvalidationBatch(v *InvalidationBatch) *CreateInvalidationInput { - s.InvalidationBatch = v +// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. +func (s *CreateCloudFrontOriginAccessIdentityInput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *CreateCloudFrontOriginAccessIdentityInput { + s.CloudFrontOriginAccessIdentityConfig = v return s } // The returned result of the corresponding request. -type CreateInvalidationOutput struct { - _ struct{} `type:"structure" payload:"Invalidation"` +type CreateCloudFrontOriginAccessIdentityOutput struct { + _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` - // The invalidation's information. - Invalidation *Invalidation `type:"structure"` + // The origin access identity's information. + CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` - // The fully qualified URI of the distribution and invalidation batch request, - // including the Invalidation ID. + // The current version of the origin access identity created. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The fully qualified URI of the new origin access identity just created. Location *string `location:"header" locationName:"Location" type:"string"` } // String returns the string representation -func (s CreateInvalidationOutput) String() string { +func (s CreateCloudFrontOriginAccessIdentityOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInvalidationOutput) GoString() string { +func (s CreateCloudFrontOriginAccessIdentityOutput) GoString() string { return s.String() } -// SetInvalidation sets the Invalidation field's value. -func (s *CreateInvalidationOutput) SetInvalidation(v *Invalidation) *CreateInvalidationOutput { - s.Invalidation = v +// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. +func (s *CreateCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *CreateCloudFrontOriginAccessIdentityOutput { + s.CloudFrontOriginAccessIdentity = v + return s +} + +// SetETag sets the ETag field's value. +func (s *CreateCloudFrontOriginAccessIdentityOutput) SetETag(v string) *CreateCloudFrontOriginAccessIdentityOutput { + s.ETag = &v return s } // SetLocation sets the Location field's value. -func (s *CreateInvalidationOutput) SetLocation(v string) *CreateInvalidationOutput { +func (s *CreateCloudFrontOriginAccessIdentityOutput) SetLocation(v string) *CreateCloudFrontOriginAccessIdentityOutput { s.Location = &v return s } -type CreatePublicKeyInput struct { - _ struct{} `locationName:"CreatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` +// The request to create a new distribution. +type CreateDistributionInput struct { + _ struct{} `locationName:"CreateDistributionRequest" type:"structure" payload:"DistributionConfig"` - // The request to add a public key to CloudFront. + // The distribution's configuration information. // - // PublicKeyConfig is a required field - PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // DistributionConfig is a required field + DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreatePublicKeyInput) String() string { +func (s CreateDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePublicKeyInput) GoString() string { +func (s CreateDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePublicKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePublicKeyInput"} - if s.PublicKeyConfig == nil { - invalidParams.Add(request.NewErrParamRequired("PublicKeyConfig")) +func (s *CreateDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"} + if s.DistributionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) } - if s.PublicKeyConfig != nil { - if err := s.PublicKeyConfig.Validate(); err != nil { - invalidParams.AddNested("PublicKeyConfig", err.(request.ErrInvalidParams)) + if s.DistributionConfig != nil { + if err := s.DistributionConfig.Validate(); err != nil { + invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) } } @@ -6463,83 +8223,83 @@ func (s *CreatePublicKeyInput) Validate() error { return nil } -// SetPublicKeyConfig sets the PublicKeyConfig field's value. -func (s *CreatePublicKeyInput) SetPublicKeyConfig(v *PublicKeyConfig) *CreatePublicKeyInput { - s.PublicKeyConfig = v +// SetDistributionConfig sets the DistributionConfig field's value. +func (s *CreateDistributionInput) SetDistributionConfig(v *DistributionConfig) *CreateDistributionInput { + s.DistributionConfig = v return s } -type CreatePublicKeyOutput struct { - _ struct{} `type:"structure" payload:"PublicKey"` +// The returned result of the corresponding request. +type CreateDistributionOutput struct { + _ struct{} `type:"structure" payload:"Distribution"` - // The current version of the public key. For example: E2QWRUHAPOMQZL. + // The distribution's information. + Distribution *Distribution `type:"structure"` + + // The current version of the distribution created. ETag *string `location:"header" locationName:"ETag" type:"string"` - // The fully qualified URI of the new public key resource just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5. + // The fully qualified URI of the new distribution resource just created. Location *string `location:"header" locationName:"Location" type:"string"` - - // Returned when you add a public key. - PublicKey *PublicKey `type:"structure"` } // String returns the string representation -func (s CreatePublicKeyOutput) String() string { +func (s CreateDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePublicKeyOutput) GoString() string { +func (s CreateDistributionOutput) GoString() string { return s.String() } +// SetDistribution sets the Distribution field's value. +func (s *CreateDistributionOutput) SetDistribution(v *Distribution) *CreateDistributionOutput { + s.Distribution = v + return s +} + // SetETag sets the ETag field's value. -func (s *CreatePublicKeyOutput) SetETag(v string) *CreatePublicKeyOutput { +func (s *CreateDistributionOutput) SetETag(v string) *CreateDistributionOutput { s.ETag = &v return s } // SetLocation sets the Location field's value. -func (s *CreatePublicKeyOutput) SetLocation(v string) *CreatePublicKeyOutput { +func (s *CreateDistributionOutput) SetLocation(v string) *CreateDistributionOutput { s.Location = &v return s } -// SetPublicKey sets the PublicKey field's value. -func (s *CreatePublicKeyOutput) SetPublicKey(v *PublicKey) *CreatePublicKeyOutput { - s.PublicKey = v - return s -} - -// The request to create a new streaming distribution. -type CreateStreamingDistributionInput struct { - _ struct{} `locationName:"CreateStreamingDistributionRequest" type:"structure" payload:"StreamingDistributionConfig"` +// The request to create a new distribution with tags. +type CreateDistributionWithTagsInput struct { + _ struct{} `locationName:"CreateDistributionWithTagsRequest" type:"structure" payload:"DistributionConfigWithTags"` - // The streaming distribution's configuration information. + // The distribution's configuration information. // - // StreamingDistributionConfig is a required field - StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // DistributionConfigWithTags is a required field + DistributionConfigWithTags *DistributionConfigWithTags `locationName:"DistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreateStreamingDistributionInput) String() string { +func (s CreateDistributionWithTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateStreamingDistributionInput) GoString() string { +func (s CreateDistributionWithTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateStreamingDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionInput"} - if s.StreamingDistributionConfig == nil { - invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) +func (s *CreateDistributionWithTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDistributionWithTagsInput"} + if s.DistributionConfigWithTags == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfigWithTags")) } - if s.StreamingDistributionConfig != nil { - if err := s.StreamingDistributionConfig.Validate(); err != nil { - invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) + if s.DistributionConfigWithTags != nil { + if err := s.DistributionConfigWithTags.Validate(); err != nil { + invalidParams.AddNested("DistributionConfigWithTags", err.(request.ErrInvalidParams)) } } @@ -6549,84 +8309,82 @@ func (s *CreateStreamingDistributionInput) Validate() error { return nil } -// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. -func (s *CreateStreamingDistributionInput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *CreateStreamingDistributionInput { - s.StreamingDistributionConfig = v +// SetDistributionConfigWithTags sets the DistributionConfigWithTags field's value. +func (s *CreateDistributionWithTagsInput) SetDistributionConfigWithTags(v *DistributionConfigWithTags) *CreateDistributionWithTagsInput { + s.DistributionConfigWithTags = v return s } // The returned result of the corresponding request. -type CreateStreamingDistributionOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistribution"` +type CreateDistributionWithTagsOutput struct { + _ struct{} `type:"structure" payload:"Distribution"` - // The current version of the streaming distribution created. + // The distribution's information. + Distribution *Distribution `type:"structure"` + + // The current version of the distribution created. ETag *string `location:"header" locationName:"ETag" type:"string"` - // The fully qualified URI of the new streaming distribution resource just created. - // For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8. + // The fully qualified URI of the new distribution resource just created. Location *string `location:"header" locationName:"Location" type:"string"` - - // The streaming distribution's information. - StreamingDistribution *StreamingDistribution `type:"structure"` } // String returns the string representation -func (s CreateStreamingDistributionOutput) String() string { +func (s CreateDistributionWithTagsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateStreamingDistributionOutput) GoString() string { +func (s CreateDistributionWithTagsOutput) GoString() string { return s.String() } +// SetDistribution sets the Distribution field's value. +func (s *CreateDistributionWithTagsOutput) SetDistribution(v *Distribution) *CreateDistributionWithTagsOutput { + s.Distribution = v + return s +} + // SetETag sets the ETag field's value. -func (s *CreateStreamingDistributionOutput) SetETag(v string) *CreateStreamingDistributionOutput { +func (s *CreateDistributionWithTagsOutput) SetETag(v string) *CreateDistributionWithTagsOutput { s.ETag = &v return s } // SetLocation sets the Location field's value. -func (s *CreateStreamingDistributionOutput) SetLocation(v string) *CreateStreamingDistributionOutput { +func (s *CreateDistributionWithTagsOutput) SetLocation(v string) *CreateDistributionWithTagsOutput { s.Location = &v return s } -// SetStreamingDistribution sets the StreamingDistribution field's value. -func (s *CreateStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionOutput { - s.StreamingDistribution = v - return s -} - -// The request to create a new streaming distribution with tags. -type CreateStreamingDistributionWithTagsInput struct { - _ struct{} `locationName:"CreateStreamingDistributionWithTagsRequest" type:"structure" payload:"StreamingDistributionConfigWithTags"` +type CreateFieldLevelEncryptionConfigInput struct { + _ struct{} `locationName:"CreateFieldLevelEncryptionConfigRequest" type:"structure" payload:"FieldLevelEncryptionConfig"` - // The streaming distribution's configuration information. + // The request to create a new field-level encryption configuration. // - // StreamingDistributionConfigWithTags is a required field - StreamingDistributionConfigWithTags *StreamingDistributionConfigWithTags `locationName:"StreamingDistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // FieldLevelEncryptionConfig is a required field + FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreateStreamingDistributionWithTagsInput) String() string { +func (s CreateFieldLevelEncryptionConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateStreamingDistributionWithTagsInput) GoString() string { +func (s CreateFieldLevelEncryptionConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateStreamingDistributionWithTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionWithTagsInput"} - if s.StreamingDistributionConfigWithTags == nil { - invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfigWithTags")) +func (s *CreateFieldLevelEncryptionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionConfigInput"} + if s.FieldLevelEncryptionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionConfig")) } - if s.StreamingDistributionConfigWithTags != nil { - if err := s.StreamingDistributionConfigWithTags.Validate(); err != nil { - invalidParams.AddNested("StreamingDistributionConfigWithTags", err.(request.ErrInvalidParams)) + if s.FieldLevelEncryptionConfig != nil { + if err := s.FieldLevelEncryptionConfig.Validate(); err != nil { + invalidParams.AddNested("FieldLevelEncryptionConfig", err.(request.ErrInvalidParams)) } } @@ -6636,144 +8394,83 @@ func (s *CreateStreamingDistributionWithTagsInput) Validate() error { return nil } -// SetStreamingDistributionConfigWithTags sets the StreamingDistributionConfigWithTags field's value. -func (s *CreateStreamingDistributionWithTagsInput) SetStreamingDistributionConfigWithTags(v *StreamingDistributionConfigWithTags) *CreateStreamingDistributionWithTagsInput { - s.StreamingDistributionConfigWithTags = v +// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. +func (s *CreateFieldLevelEncryptionConfigInput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *CreateFieldLevelEncryptionConfigInput { + s.FieldLevelEncryptionConfig = v return s } -// The returned result of the corresponding request. -type CreateStreamingDistributionWithTagsOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistribution"` +type CreateFieldLevelEncryptionConfigOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryption"` - // The current version of the distribution created. + // The current version of the field level encryption configuration. For example: + // E2QWRUHAPOMQZL. ETag *string `location:"header" locationName:"ETag" type:"string"` - // The fully qualified URI of the new streaming distribution resource just created. - // For example:https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8. - Location *string `location:"header" locationName:"Location" type:"string"` + // Returned when you create a new field-level encryption configuration. + FieldLevelEncryption *FieldLevelEncryption `type:"structure"` - // The streaming distribution's information. - StreamingDistribution *StreamingDistribution `type:"structure"` + // The fully qualified URI of the new configuration resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` } // String returns the string representation -func (s CreateStreamingDistributionWithTagsOutput) String() string { +func (s CreateFieldLevelEncryptionConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateStreamingDistributionWithTagsOutput) GoString() string { +func (s CreateFieldLevelEncryptionConfigOutput) GoString() string { return s.String() } // SetETag sets the ETag field's value. -func (s *CreateStreamingDistributionWithTagsOutput) SetETag(v string) *CreateStreamingDistributionWithTagsOutput { +func (s *CreateFieldLevelEncryptionConfigOutput) SetETag(v string) *CreateFieldLevelEncryptionConfigOutput { s.ETag = &v return s } -// SetLocation sets the Location field's value. -func (s *CreateStreamingDistributionWithTagsOutput) SetLocation(v string) *CreateStreamingDistributionWithTagsOutput { - s.Location = &v +// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. +func (s *CreateFieldLevelEncryptionConfigOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *CreateFieldLevelEncryptionConfigOutput { + s.FieldLevelEncryption = v return s } -// SetStreamingDistribution sets the StreamingDistribution field's value. -func (s *CreateStreamingDistributionWithTagsOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionWithTagsOutput { - s.StreamingDistribution = v +// SetLocation sets the Location field's value. +func (s *CreateFieldLevelEncryptionConfigOutput) SetLocation(v string) *CreateFieldLevelEncryptionConfigOutput { + s.Location = &v return s } -// A complex type that controls: -// -// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range -// with custom error messages before returning the response to the viewer. -// -// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. -// -// For more information about custom error pages, see Customizing Error Responses -// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) -// in the Amazon CloudFront Developer Guide. -type CustomErrorResponse struct { - _ struct{} `type:"structure"` +type CreateFieldLevelEncryptionProfileInput struct { + _ struct{} `locationName:"CreateFieldLevelEncryptionProfileRequest" type:"structure" payload:"FieldLevelEncryptionProfileConfig"` - // The minimum amount of time, in seconds, that you want CloudFront to cache - // the HTTP status code specified in ErrorCode. When this time period has elapsed, - // CloudFront queries your origin to see whether the problem that caused the - // error has been resolved and the requested object is now available. + // The request to create a field-level encryption profile. // - // For more information, see Customizing Error Responses (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) - // in the Amazon CloudFront Developer Guide. - ErrorCachingMinTTL *int64 `type:"long"` + // FieldLevelEncryptionProfileConfig is a required field + FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` +} - // The HTTP status code for which you want to specify a custom error page and/or - // a caching duration. - // - // ErrorCode is a required field - ErrorCode *int64 `type:"integer" required:"true"` - - // The HTTP status code that you want CloudFront to return to the viewer along - // with the custom error page. There are a variety of reasons that you might - // want CloudFront to return a status code different from the status code that - // your origin returned to CloudFront, for example: - // - // * Some Internet devices (some firewalls and corporate proxies, for example) - // intercept HTTP 4xx and 5xx and prevent the response from being returned - // to the viewer. If you substitute 200, the response typically won't be - // intercepted. - // - // * If you don't care about distinguishing among different client errors - // or server errors, you can specify 400 or 500 as the ResponseCode for all - // 4xx or 5xx errors. - // - // * You might want to return a 200 status code (OK) and static website so - // your customers don't know that your website is down. - // - // If you specify a value for ResponseCode, you must also specify a value for - // ResponsePagePath. - ResponseCode *string `type:"string"` - - // The path to the custom error page that you want CloudFront to return to a - // viewer when your origin returns the HTTP status code specified by ErrorCode, - // for example, /4xx-errors/403-forbidden.html. If you want to store your objects - // and your custom error pages in different locations, your distribution must - // include a cache behavior for which the following is true: - // - // * The value of PathPattern matches the path to your custom error messages. - // For example, suppose you saved custom error pages for 4xx errors in an - // Amazon S3 bucket in a directory named /4xx-errors. Your distribution must - // include a cache behavior for which the path pattern routes requests for - // your custom error pages to that location, for example, /4xx-errors/*. - // - // * The value of TargetOriginId specifies the value of the ID element for - // the origin that contains your custom error pages. - // - // If you specify a value for ResponsePagePath, you must also specify a value - // for ResponseCode. - // - // We recommend that you store custom error pages in an Amazon S3 bucket. If - // you store custom error pages on an HTTP server and the server starts to return - // 5xx errors, CloudFront can't get the files that you want to return to viewers - // because the origin server is unavailable. - ResponsePagePath *string `type:"string"` -} - -// String returns the string representation -func (s CustomErrorResponse) String() string { - return awsutil.Prettify(s) -} +// String returns the string representation +func (s CreateFieldLevelEncryptionProfileInput) String() string { + return awsutil.Prettify(s) +} // GoString returns the string representation -func (s CustomErrorResponse) GoString() string { +func (s CreateFieldLevelEncryptionProfileInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomErrorResponse) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponse"} - if s.ErrorCode == nil { - invalidParams.Add(request.NewErrParamRequired("ErrorCode")) +func (s *CreateFieldLevelEncryptionProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionProfileInput"} + if s.FieldLevelEncryptionProfileConfig == nil { + invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionProfileConfig")) + } + if s.FieldLevelEncryptionProfileConfig != nil { + if err := s.FieldLevelEncryptionProfileConfig.Validate(); err != nil { + invalidParams.AddNested("FieldLevelEncryptionProfileConfig", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6782,79 +8479,93 @@ func (s *CustomErrorResponse) Validate() error { return nil } -// SetErrorCachingMinTTL sets the ErrorCachingMinTTL field's value. -func (s *CustomErrorResponse) SetErrorCachingMinTTL(v int64) *CustomErrorResponse { - s.ErrorCachingMinTTL = &v +// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. +func (s *CreateFieldLevelEncryptionProfileInput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *CreateFieldLevelEncryptionProfileInput { + s.FieldLevelEncryptionProfileConfig = v return s } -// SetErrorCode sets the ErrorCode field's value. -func (s *CustomErrorResponse) SetErrorCode(v int64) *CustomErrorResponse { - s.ErrorCode = &v +type CreateFieldLevelEncryptionProfileOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` + + // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Returned when you create a new field-level encryption profile. + FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` + + // The fully qualified URI of the new profile resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` +} + +// String returns the string representation +func (s CreateFieldLevelEncryptionProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFieldLevelEncryptionProfileOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *CreateFieldLevelEncryptionProfileOutput) SetETag(v string) *CreateFieldLevelEncryptionProfileOutput { + s.ETag = &v return s } -// SetResponseCode sets the ResponseCode field's value. -func (s *CustomErrorResponse) SetResponseCode(v string) *CustomErrorResponse { - s.ResponseCode = &v +// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. +func (s *CreateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *CreateFieldLevelEncryptionProfileOutput { + s.FieldLevelEncryptionProfile = v return s } -// SetResponsePagePath sets the ResponsePagePath field's value. -func (s *CustomErrorResponse) SetResponsePagePath(v string) *CustomErrorResponse { - s.ResponsePagePath = &v +// SetLocation sets the Location field's value. +func (s *CreateFieldLevelEncryptionProfileOutput) SetLocation(v string) *CreateFieldLevelEncryptionProfileOutput { + s.Location = &v return s } -// A complex type that controls: -// -// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range -// with custom error messages before returning the response to the viewer. -// -// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. -// -// For more information about custom error pages, see Customizing Error Responses -// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) -// in the Amazon CloudFront Developer Guide. -type CustomErrorResponses struct { - _ struct{} `type:"structure"` +// The request to create an invalidation. +type CreateInvalidationInput struct { + _ struct{} `locationName:"CreateInvalidationRequest" type:"structure" payload:"InvalidationBatch"` - // A complex type that contains a CustomErrorResponse element for each HTTP - // status code for which you want to specify a custom error page and/or a caching - // duration. - Items []*CustomErrorResponse `locationNameList:"CustomErrorResponse" type:"list"` + // The distribution's id. + // + // DistributionId is a required field + DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` - // The number of HTTP status codes for which you want to specify a custom error - // page and/or a caching duration. If Quantity is 0, you can omit Items. + // The batch information for the invalidation. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // InvalidationBatch is a required field + InvalidationBatch *InvalidationBatch `locationName:"InvalidationBatch" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CustomErrorResponses) String() string { +func (s CreateInvalidationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomErrorResponses) GoString() string { +func (s CreateInvalidationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomErrorResponses) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponses"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) +func (s *CreateInvalidationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInvalidationInput"} + if s.DistributionId == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionId")) } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } + if s.DistributionId != nil && len(*s.DistributionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) + } + if s.InvalidationBatch == nil { + invalidParams.Add(request.NewErrParamRequired("InvalidationBatch")) + } + if s.InvalidationBatch != nil { + if err := s.InvalidationBatch.Validate(); err != nil { + invalidParams.AddNested("InvalidationBatch", err.(request.ErrInvalidParams)) } } @@ -6864,57 +8575,80 @@ func (s *CustomErrorResponses) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *CustomErrorResponses) SetItems(v []*CustomErrorResponse) *CustomErrorResponses { - s.Items = v +// SetDistributionId sets the DistributionId field's value. +func (s *CreateInvalidationInput) SetDistributionId(v string) *CreateInvalidationInput { + s.DistributionId = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *CustomErrorResponses) SetQuantity(v int64) *CustomErrorResponses { - s.Quantity = &v +// SetInvalidationBatch sets the InvalidationBatch field's value. +func (s *CreateInvalidationInput) SetInvalidationBatch(v *InvalidationBatch) *CreateInvalidationInput { + s.InvalidationBatch = v return s } -// A complex type that contains the list of Custom Headers for each origin. -type CustomHeaders struct { - _ struct{} `type:"structure"` +// The returned result of the corresponding request. +type CreateInvalidationOutput struct { + _ struct{} `type:"structure" payload:"Invalidation"` - // Optional: A list that contains one OriginCustomHeader element for each custom - // header that you want CloudFront to forward to the origin. If Quantity is - // 0, omit Items. - Items []*OriginCustomHeader `locationNameList:"OriginCustomHeader" type:"list"` + // The invalidation's information. + Invalidation *Invalidation `type:"structure"` - // The number of custom headers, if any, for this distribution. + // The fully qualified URI of the distribution and invalidation batch request, + // including the Invalidation ID. + Location *string `location:"header" locationName:"Location" type:"string"` +} + +// String returns the string representation +func (s CreateInvalidationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInvalidationOutput) GoString() string { + return s.String() +} + +// SetInvalidation sets the Invalidation field's value. +func (s *CreateInvalidationOutput) SetInvalidation(v *Invalidation) *CreateInvalidationOutput { + s.Invalidation = v + return s +} + +// SetLocation sets the Location field's value. +func (s *CreateInvalidationOutput) SetLocation(v string) *CreateInvalidationOutput { + s.Location = &v + return s +} + +type CreateOriginRequestPolicyInput struct { + _ struct{} `locationName:"CreateOriginRequestPolicyRequest" type:"structure" payload:"OriginRequestPolicyConfig"` + + // An origin request policy configuration. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // OriginRequestPolicyConfig is a required field + OriginRequestPolicyConfig *OriginRequestPolicyConfig `locationName:"OriginRequestPolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CustomHeaders) String() string { +func (s CreateOriginRequestPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomHeaders) GoString() string { +func (s CreateOriginRequestPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomHeaders) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomHeaders"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } +func (s *CreateOriginRequestPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOriginRequestPolicyInput"} + if s.OriginRequestPolicyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OriginRequestPolicyConfig")) + } + if s.OriginRequestPolicyConfig != nil { + if err := s.OriginRequestPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("OriginRequestPolicyConfig", err.(request.ErrInvalidParams)) } } @@ -6924,101 +8658,81 @@ func (s *CustomHeaders) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *CustomHeaders) SetItems(v []*OriginCustomHeader) *CustomHeaders { - s.Items = v +// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. +func (s *CreateOriginRequestPolicyInput) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *CreateOriginRequestPolicyInput { + s.OriginRequestPolicyConfig = v return s } -// SetQuantity sets the Quantity field's value. -func (s *CustomHeaders) SetQuantity(v int64) *CustomHeaders { - s.Quantity = &v - return s -} +type CreateOriginRequestPolicyOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicy"` -// A custom origin. A custom origin is any origin that is not an Amazon S3 bucket, -// with one exception. An Amazon S3 bucket that is configured with static website -// hosting (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) -// is a custom origin. -type CustomOriginConfig struct { - _ struct{} `type:"structure"` + // The current version of the origin request policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` - // The HTTP port that CloudFront uses to connect to the origin. Specify the - // HTTP port that the origin listens on. - // - // HTTPPort is a required field - HTTPPort *int64 `type:"integer" required:"true"` + // The fully qualified URI of the origin request policy just created. + Location *string `location:"header" locationName:"Location" type:"string"` - // The HTTPS port that CloudFront uses to connect to the origin. Specify the - // HTTPS port that the origin listens on. - // - // HTTPSPort is a required field - HTTPSPort *int64 `type:"integer" required:"true"` + // An origin request policy. + OriginRequestPolicy *OriginRequestPolicy `type:"structure"` +} - // Specifies how long, in seconds, CloudFront persists its connection to the - // origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the - // default (if you don’t specify otherwise) is 5 seconds. - // - // For more information, see Origin Keep-alive Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) - // in the Amazon CloudFront Developer Guide. - OriginKeepaliveTimeout *int64 `type:"integer"` +// String returns the string representation +func (s CreateOriginRequestPolicyOutput) String() string { + return awsutil.Prettify(s) +} - // Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to - // the origin. Valid values are: - // - // * http-only – CloudFront always uses HTTP to connect to the origin. - // - // * match-viewer – CloudFront connects to the origin using the same protocol - // that the viewer used to connect to CloudFront. - // - // * https-only – CloudFront always uses HTTPS to connect to the origin. - // - // OriginProtocolPolicy is a required field - OriginProtocolPolicy *string `type:"string" required:"true" enum:"OriginProtocolPolicy"` +// GoString returns the string representation +func (s CreateOriginRequestPolicyOutput) GoString() string { + return s.String() +} - // Specifies how long, in seconds, CloudFront waits for a response from the - // origin. This is also known as the origin response timeout. The minimum timeout - // is 1 second, the maximum is 60 seconds, and the default (if you don’t specify - // otherwise) is 30 seconds. - // - // For more information, see Origin Response Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) - // in the Amazon CloudFront Developer Guide. - OriginReadTimeout *int64 `type:"integer"` +// SetETag sets the ETag field's value. +func (s *CreateOriginRequestPolicyOutput) SetETag(v string) *CreateOriginRequestPolicyOutput { + s.ETag = &v + return s +} - // Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting - // to your origin over HTTPS. Valid values include SSLv3, TLSv1, TLSv1.1, and - // TLSv1.2. +// SetLocation sets the Location field's value. +func (s *CreateOriginRequestPolicyOutput) SetLocation(v string) *CreateOriginRequestPolicyOutput { + s.Location = &v + return s +} + +// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. +func (s *CreateOriginRequestPolicyOutput) SetOriginRequestPolicy(v *OriginRequestPolicy) *CreateOriginRequestPolicyOutput { + s.OriginRequestPolicy = v + return s +} + +type CreatePublicKeyInput struct { + _ struct{} `locationName:"CreatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` + + // The request to add a public key to CloudFront. // - // For more information, see Minimum Origin SSL Protocol (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) - // in the Amazon CloudFront Developer Guide. - OriginSslProtocols *OriginSslProtocols `type:"structure"` + // PublicKeyConfig is a required field + PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CustomOriginConfig) String() string { +func (s CreatePublicKeyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomOriginConfig) GoString() string { +func (s CreatePublicKeyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomOriginConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomOriginConfig"} - if s.HTTPPort == nil { - invalidParams.Add(request.NewErrParamRequired("HTTPPort")) - } - if s.HTTPSPort == nil { - invalidParams.Add(request.NewErrParamRequired("HTTPSPort")) - } - if s.OriginProtocolPolicy == nil { - invalidParams.Add(request.NewErrParamRequired("OriginProtocolPolicy")) +func (s *CreatePublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePublicKeyInput"} + if s.PublicKeyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("PublicKeyConfig")) } - if s.OriginSslProtocols != nil { - if err := s.OriginSslProtocols.Validate(); err != nil { - invalidParams.AddNested("OriginSslProtocols", err.(request.ErrInvalidParams)) + if s.PublicKeyConfig != nil { + if err := s.PublicKeyConfig.Validate(); err != nil { + invalidParams.AddNested("PublicKeyConfig", err.(request.ErrInvalidParams)) } } @@ -7028,340 +8742,169 @@ func (s *CustomOriginConfig) Validate() error { return nil } -// SetHTTPPort sets the HTTPPort field's value. -func (s *CustomOriginConfig) SetHTTPPort(v int64) *CustomOriginConfig { - s.HTTPPort = &v +// SetPublicKeyConfig sets the PublicKeyConfig field's value. +func (s *CreatePublicKeyInput) SetPublicKeyConfig(v *PublicKeyConfig) *CreatePublicKeyInput { + s.PublicKeyConfig = v return s } -// SetHTTPSPort sets the HTTPSPort field's value. -func (s *CustomOriginConfig) SetHTTPSPort(v int64) *CustomOriginConfig { - s.HTTPSPort = &v - return s +type CreatePublicKeyOutput struct { + _ struct{} `type:"structure" payload:"PublicKey"` + + // The current version of the public key. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The fully qualified URI of the new public key resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` + + // Returned when you add a public key. + PublicKey *PublicKey `type:"structure"` } -// SetOriginKeepaliveTimeout sets the OriginKeepaliveTimeout field's value. -func (s *CustomOriginConfig) SetOriginKeepaliveTimeout(v int64) *CustomOriginConfig { - s.OriginKeepaliveTimeout = &v - return s +// String returns the string representation +func (s CreatePublicKeyOutput) String() string { + return awsutil.Prettify(s) } -// SetOriginProtocolPolicy sets the OriginProtocolPolicy field's value. -func (s *CustomOriginConfig) SetOriginProtocolPolicy(v string) *CustomOriginConfig { - s.OriginProtocolPolicy = &v +// GoString returns the string representation +func (s CreatePublicKeyOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *CreatePublicKeyOutput) SetETag(v string) *CreatePublicKeyOutput { + s.ETag = &v return s } -// SetOriginReadTimeout sets the OriginReadTimeout field's value. -func (s *CustomOriginConfig) SetOriginReadTimeout(v int64) *CustomOriginConfig { - s.OriginReadTimeout = &v +// SetLocation sets the Location field's value. +func (s *CreatePublicKeyOutput) SetLocation(v string) *CreatePublicKeyOutput { + s.Location = &v return s } -// SetOriginSslProtocols sets the OriginSslProtocols field's value. -func (s *CustomOriginConfig) SetOriginSslProtocols(v *OriginSslProtocols) *CustomOriginConfig { - s.OriginSslProtocols = v +// SetPublicKey sets the PublicKey field's value. +func (s *CreatePublicKeyOutput) SetPublicKey(v *PublicKey) *CreatePublicKeyOutput { + s.PublicKey = v return s } -// A complex type that describes the default cache behavior if you don’t specify -// a CacheBehavior element or if request URLs don’t match any of the values -// of PathPattern in CacheBehavior elements. You must create exactly one default -// cache behavior. -type DefaultCacheBehavior struct { - _ struct{} `type:"structure"` +// The request to create a new streaming distribution. +type CreateStreamingDistributionInput struct { + _ struct{} `locationName:"CreateStreamingDistributionRequest" type:"structure" payload:"StreamingDistributionConfig"` - // A complex type that controls which HTTP methods CloudFront processes and - // forwards to your Amazon S3 bucket or your custom origin. There are three - // choices: - // - // * CloudFront forwards only GET and HEAD requests. - // - // * CloudFront forwards only GET, HEAD, and OPTIONS requests. - // - // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE - // requests. + // The streaming distribution's configuration information. // - // If you pick the third choice, you may need to restrict access to your Amazon - // S3 bucket or to your custom origin so users can't perform operations that - // you don't want them to. For example, you might not want users to have permissions - // to delete objects from your origin. - AllowedMethods *AllowedMethods `type:"structure"` + // StreamingDistributionConfig is a required field + StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` +} - // Whether you want CloudFront to automatically compress certain files for this - // cache behavior. If so, specify true; if not, specify false. For more information, - // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) - // in the Amazon CloudFront Developer Guide. - Compress *bool `type:"boolean"` +// String returns the string representation +func (s CreateStreamingDistributionInput) String() string { + return awsutil.Prettify(s) +} - // The default amount of time that you want objects to stay in CloudFront caches - // before CloudFront forwards another request to your origin to determine whether - // the object has been updated. The value that you specify applies only when - // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control - // s-maxage, and Expires to objects. For more information, see Managing How - // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) - // in the Amazon CloudFront Developer Guide. - DefaultTTL *int64 `type:"long"` +// GoString returns the string representation +func (s CreateStreamingDistributionInput) GoString() string { + return s.String() +} - // The value of ID for the field-level encryption configuration that you want - // CloudFront to use for encrypting specific fields of data for the default - // cache behavior. - FieldLevelEncryptionId *string `type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStreamingDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionInput"} + if s.StreamingDistributionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) + } + if s.StreamingDistributionConfig != nil { + if err := s.StreamingDistributionConfig.Validate(); err != nil { + invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) + } + } - // A complex type that specifies how CloudFront handles query strings, cookies, - // and HTTP headers. - // - // ForwardedValues is a required field - ForwardedValues *ForwardedValues `type:"structure" required:"true"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // A complex type that contains zero or more Lambda function associations for - // a cache behavior. - LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` +// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. +func (s *CreateStreamingDistributionInput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *CreateStreamingDistributionInput { + s.StreamingDistributionConfig = v + return s +} - // The maximum amount of time that you want objects to stay in CloudFront caches - // before CloudFront forwards another request to your origin to determine whether - // the object has been updated. The value that you specify applies only when - // your origin adds HTTP headers such as Cache-Control max-age, Cache-Control - // s-maxage, and Expires to objects. For more information, see Managing How - // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) - // in the Amazon CloudFront Developer Guide. - MaxTTL *int64 `type:"long"` +// The returned result of the corresponding request. +type CreateStreamingDistributionOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistribution"` - // The minimum amount of time that you want objects to stay in CloudFront caches - // before CloudFront forwards another request to your origin to determine whether - // the object has been updated. For more information, see Managing How Long - // Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) - // in the Amazon CloudFront Developer Guide. - // - // You must specify 0 for MinTTL if you configure CloudFront to forward all - // headers to your origin (under Headers, if you specify 1 for Quantity and - // * for Name). - // - // MinTTL is a required field - MinTTL *int64 `type:"long" required:"true"` + // The current version of the streaming distribution created. + ETag *string `location:"header" locationName:"ETag" type:"string"` - // Indicates whether you want to distribute media files in the Microsoft Smooth - // Streaming format using the origin that is associated with this cache behavior. - // If so, specify true; if not, specify false. If you specify true for SmoothStreaming, - // you can still distribute other content using this cache behavior if the content - // matches the value of PathPattern. - SmoothStreaming *bool `type:"boolean"` + // The fully qualified URI of the new streaming distribution resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` - // The value of ID for the origin that you want CloudFront to route requests - // to when they use the default cache behavior. - // - // TargetOriginId is a required field - TargetOriginId *string `type:"string" required:"true"` - - // A complex type that specifies the AWS accounts, if any, that you want to - // allow to create signed URLs for private content. - // - // If you want to require signed URLs in requests for objects in the target - // origin that match the PathPattern for this cache behavior, specify true for - // Enabled, and specify the applicable values for Quantity and Items. For more - // information, see Serving Private Content with Signed URLs and Signed Cookies - // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) - // in the Amazon CloudFront Developer Guide. - // - // If you don’t want to require signed URLs in requests for objects that match - // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. - // - // To add, change, or remove one or more trusted signers, change Enabled to - // true (if it’s currently false), change Quantity as applicable, and specify - // all of the trusted signers that you want to include in the updated distribution. - // - // TrustedSigners is a required field - TrustedSigners *TrustedSigners `type:"structure" required:"true"` - - // The protocol that viewers can use to access the files in the origin specified - // by TargetOriginId when a request matches the path pattern in PathPattern. - // You can specify the following options: - // - // * allow-all: Viewers can use HTTP or HTTPS. - // - // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns - // an HTTP status code of 301 (Moved Permanently) to the viewer along with - // the HTTPS URL. The viewer then resubmits the request using the new URL. - // - // * https-only: If a viewer sends an HTTP request, CloudFront returns an - // HTTP status code of 403 (Forbidden). - // - // For more information about requiring the HTTPS protocol, see Requiring HTTPS - // Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) - // in the Amazon CloudFront Developer Guide. - // - // The only way to guarantee that viewers retrieve an object that was fetched - // from the origin using HTTPS is never to use any other protocol to fetch the - // object. If you have recently changed from HTTP to HTTPS, we recommend that - // you clear your objects’ cache because cached objects are protocol agnostic. - // That means that an edge location will return an object from the cache regardless - // of whether the current request protocol matches the protocol used previously. - // For more information, see Managing Cache Expiration (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) - // in the Amazon CloudFront Developer Guide. - // - // ViewerProtocolPolicy is a required field - ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` -} + // The streaming distribution's information. + StreamingDistribution *StreamingDistribution `type:"structure"` +} // String returns the string representation -func (s DefaultCacheBehavior) String() string { +func (s CreateStreamingDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DefaultCacheBehavior) GoString() string { +func (s CreateStreamingDistributionOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DefaultCacheBehavior) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DefaultCacheBehavior"} - if s.ForwardedValues == nil { - invalidParams.Add(request.NewErrParamRequired("ForwardedValues")) - } - if s.MinTTL == nil { - invalidParams.Add(request.NewErrParamRequired("MinTTL")) - } - if s.TargetOriginId == nil { - invalidParams.Add(request.NewErrParamRequired("TargetOriginId")) - } - if s.TrustedSigners == nil { - invalidParams.Add(request.NewErrParamRequired("TrustedSigners")) - } - if s.ViewerProtocolPolicy == nil { - invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy")) - } - if s.AllowedMethods != nil { - if err := s.AllowedMethods.Validate(); err != nil { - invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams)) - } - } - if s.ForwardedValues != nil { - if err := s.ForwardedValues.Validate(); err != nil { - invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) - } - } - if s.LambdaFunctionAssociations != nil { - if err := s.LambdaFunctionAssociations.Validate(); err != nil { - invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) - } - } - if s.TrustedSigners != nil { - if err := s.TrustedSigners.Validate(); err != nil { - invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAllowedMethods sets the AllowedMethods field's value. -func (s *DefaultCacheBehavior) SetAllowedMethods(v *AllowedMethods) *DefaultCacheBehavior { - s.AllowedMethods = v - return s -} - -// SetCompress sets the Compress field's value. -func (s *DefaultCacheBehavior) SetCompress(v bool) *DefaultCacheBehavior { - s.Compress = &v - return s -} - -// SetDefaultTTL sets the DefaultTTL field's value. -func (s *DefaultCacheBehavior) SetDefaultTTL(v int64) *DefaultCacheBehavior { - s.DefaultTTL = &v - return s -} - -// SetFieldLevelEncryptionId sets the FieldLevelEncryptionId field's value. -func (s *DefaultCacheBehavior) SetFieldLevelEncryptionId(v string) *DefaultCacheBehavior { - s.FieldLevelEncryptionId = &v - return s -} - -// SetForwardedValues sets the ForwardedValues field's value. -func (s *DefaultCacheBehavior) SetForwardedValues(v *ForwardedValues) *DefaultCacheBehavior { - s.ForwardedValues = v - return s -} - -// SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. -func (s *DefaultCacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *DefaultCacheBehavior { - s.LambdaFunctionAssociations = v - return s -} - -// SetMaxTTL sets the MaxTTL field's value. -func (s *DefaultCacheBehavior) SetMaxTTL(v int64) *DefaultCacheBehavior { - s.MaxTTL = &v - return s -} - -// SetMinTTL sets the MinTTL field's value. -func (s *DefaultCacheBehavior) SetMinTTL(v int64) *DefaultCacheBehavior { - s.MinTTL = &v - return s -} - -// SetSmoothStreaming sets the SmoothStreaming field's value. -func (s *DefaultCacheBehavior) SetSmoothStreaming(v bool) *DefaultCacheBehavior { - s.SmoothStreaming = &v - return s -} - -// SetTargetOriginId sets the TargetOriginId field's value. -func (s *DefaultCacheBehavior) SetTargetOriginId(v string) *DefaultCacheBehavior { - s.TargetOriginId = &v +// SetETag sets the ETag field's value. +func (s *CreateStreamingDistributionOutput) SetETag(v string) *CreateStreamingDistributionOutput { + s.ETag = &v return s } -// SetTrustedSigners sets the TrustedSigners field's value. -func (s *DefaultCacheBehavior) SetTrustedSigners(v *TrustedSigners) *DefaultCacheBehavior { - s.TrustedSigners = v +// SetLocation sets the Location field's value. +func (s *CreateStreamingDistributionOutput) SetLocation(v string) *CreateStreamingDistributionOutput { + s.Location = &v return s } -// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value. -func (s *DefaultCacheBehavior) SetViewerProtocolPolicy(v string) *DefaultCacheBehavior { - s.ViewerProtocolPolicy = &v +// SetStreamingDistribution sets the StreamingDistribution field's value. +func (s *CreateStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionOutput { + s.StreamingDistribution = v return s } -// Deletes a origin access identity. -type DeleteCloudFrontOriginAccessIdentityInput struct { - _ struct{} `locationName:"DeleteCloudFrontOriginAccessIdentityRequest" type:"structure"` +// The request to create a new streaming distribution with tags. +type CreateStreamingDistributionWithTagsInput struct { + _ struct{} `locationName:"CreateStreamingDistributionWithTagsRequest" type:"structure" payload:"StreamingDistributionConfigWithTags"` - // The origin access identity's ID. + // The streaming distribution's configuration information. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` - - // The value of the ETag header you received from a previous GET or PUT request. - // For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // StreamingDistributionConfigWithTags is a required field + StreamingDistributionConfigWithTags *StreamingDistributionConfigWithTags `locationName:"StreamingDistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s DeleteCloudFrontOriginAccessIdentityInput) String() string { +func (s CreateStreamingDistributionWithTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteCloudFrontOriginAccessIdentityInput) GoString() string { +func (s CreateStreamingDistributionWithTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteCloudFrontOriginAccessIdentityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteCloudFrontOriginAccessIdentityInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *CreateStreamingDistributionWithTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionWithTagsInput"} + if s.StreamingDistributionConfigWithTags == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfigWithTags")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.StreamingDistributionConfigWithTags != nil { + if err := s.StreamingDistributionConfigWithTags.Validate(); err != nil { + invalidParams.AddNested("StreamingDistributionConfigWithTags", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -7370,98 +8913,143 @@ func (s *DeleteCloudFrontOriginAccessIdentityInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeleteCloudFrontOriginAccessIdentityInput) SetId(v string) *DeleteCloudFrontOriginAccessIdentityInput { - s.Id = &v +// SetStreamingDistributionConfigWithTags sets the StreamingDistributionConfigWithTags field's value. +func (s *CreateStreamingDistributionWithTagsInput) SetStreamingDistributionConfigWithTags(v *StreamingDistributionConfigWithTags) *CreateStreamingDistributionWithTagsInput { + s.StreamingDistributionConfigWithTags = v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteCloudFrontOriginAccessIdentityInput) SetIfMatch(v string) *DeleteCloudFrontOriginAccessIdentityInput { - s.IfMatch = &v - return s -} +// The returned result of the corresponding request. +type CreateStreamingDistributionWithTagsOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistribution"` -type DeleteCloudFrontOriginAccessIdentityOutput struct { - _ struct{} `type:"structure"` + // The current version of the distribution created. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The fully qualified URI of the new streaming distribution resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` + + // The streaming distribution's information. + StreamingDistribution *StreamingDistribution `type:"structure"` } // String returns the string representation -func (s DeleteCloudFrontOriginAccessIdentityOutput) String() string { +func (s CreateStreamingDistributionWithTagsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteCloudFrontOriginAccessIdentityOutput) GoString() string { +func (s CreateStreamingDistributionWithTagsOutput) GoString() string { return s.String() } -// This action deletes a web distribution. To delete a web distribution using -// the CloudFront API, perform the following steps. -// -// To delete a web distribution using the CloudFront API: -// -// Disable the web distribution +// SetETag sets the ETag field's value. +func (s *CreateStreamingDistributionWithTagsOutput) SetETag(v string) *CreateStreamingDistributionWithTagsOutput { + s.ETag = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *CreateStreamingDistributionWithTagsOutput) SetLocation(v string) *CreateStreamingDistributionWithTagsOutput { + s.Location = &v + return s +} + +// SetStreamingDistribution sets the StreamingDistribution field's value. +func (s *CreateStreamingDistributionWithTagsOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionWithTagsOutput { + s.StreamingDistribution = v + return s +} + +// A complex type that controls: // -// Submit a GET Distribution Config request to get the current configuration -// and the Etag header for the distribution. +// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range +// with custom error messages before returning the response to the viewer. // -// Update the XML document that was returned in the response to your GET Distribution -// Config request to change the value of Enabled to false. +// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. // -// Submit a PUT Distribution Config request to update the configuration for -// your distribution. In the request body, include the XML document that you -// updated in Step 3. Set the value of the HTTP If-Match header to the value -// of the ETag header that CloudFront returned when you submitted the GET Distribution -// Config request in Step 2. -// -// Review the response to the PUT Distribution Config request to confirm that -// the distribution was successfully disabled. -// -// Submit a GET Distribution request to confirm that your changes have propagated. -// When propagation is complete, the value of Status is Deployed. -// -// Submit a DELETE Distribution request. Set the value of the HTTP If-Match -// header to the value of the ETag header that CloudFront returned when you -// submitted the GET Distribution Config request in Step 6. -// -// Review the response to your DELETE Distribution request to confirm that the -// distribution was successfully deleted. -// -// For information about deleting a distribution using the CloudFront console, -// see Deleting a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html) +// For more information about custom error pages, see Customizing Error Responses +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) // in the Amazon CloudFront Developer Guide. -type DeleteDistributionInput struct { - _ struct{} `locationName:"DeleteDistributionRequest" type:"structure"` +type CustomErrorResponse struct { + _ struct{} `type:"structure"` - // The distribution ID. + // The minimum amount of time, in seconds, that you want CloudFront to cache + // the HTTP status code specified in ErrorCode. When this time period has elapsed, + // CloudFront queries your origin to see whether the problem that caused the + // error has been resolved and the requested object is now available. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // For more information, see Customizing Error Responses (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) + // in the Amazon CloudFront Developer Guide. + ErrorCachingMinTTL *int64 `type:"long"` - // The value of the ETag header that you received when you disabled the distribution. - // For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // The HTTP status code for which you want to specify a custom error page and/or + // a caching duration. + // + // ErrorCode is a required field + ErrorCode *int64 `type:"integer" required:"true"` + + // The HTTP status code that you want CloudFront to return to the viewer along + // with the custom error page. There are a variety of reasons that you might + // want CloudFront to return a status code different from the status code that + // your origin returned to CloudFront, for example: + // + // * Some Internet devices (some firewalls and corporate proxies, for example) + // intercept HTTP 4xx and 5xx and prevent the response from being returned + // to the viewer. If you substitute 200, the response typically won't be + // intercepted. + // + // * If you don't care about distinguishing among different client errors + // or server errors, you can specify 400 or 500 as the ResponseCode for all + // 4xx or 5xx errors. + // + // * You might want to return a 200 status code (OK) and static website so + // your customers don't know that your website is down. + // + // If you specify a value for ResponseCode, you must also specify a value for + // ResponsePagePath. + ResponseCode *string `type:"string"` + + // The path to the custom error page that you want CloudFront to return to a + // viewer when your origin returns the HTTP status code specified by ErrorCode, + // for example, /4xx-errors/403-forbidden.html. If you want to store your objects + // and your custom error pages in different locations, your distribution must + // include a cache behavior for which the following is true: + // + // * The value of PathPattern matches the path to your custom error messages. + // For example, suppose you saved custom error pages for 4xx errors in an + // Amazon S3 bucket in a directory named /4xx-errors. Your distribution must + // include a cache behavior for which the path pattern routes requests for + // your custom error pages to that location, for example, /4xx-errors/*. + // + // * The value of TargetOriginId specifies the value of the ID element for + // the origin that contains your custom error pages. + // + // If you specify a value for ResponsePagePath, you must also specify a value + // for ResponseCode. + // + // We recommend that you store custom error pages in an Amazon S3 bucket. If + // you store custom error pages on an HTTP server and the server starts to return + // 5xx errors, CloudFront can't get the files that you want to return to viewers + // because the origin server is unavailable. + ResponsePagePath *string `type:"string"` } // String returns the string representation -func (s DeleteDistributionInput) String() string { +func (s CustomErrorResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDistributionInput) GoString() string { +func (s CustomErrorResponse) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) +func (s *CustomErrorResponse) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponse"} + if s.ErrorCode == nil { + invalidParams.Add(request.NewErrParamRequired("ErrorCode")) } if invalidParams.Len() > 0 { @@ -7470,63 +9058,80 @@ func (s *DeleteDistributionInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeleteDistributionInput) SetId(v string) *DeleteDistributionInput { - s.Id = &v +// SetErrorCachingMinTTL sets the ErrorCachingMinTTL field's value. +func (s *CustomErrorResponse) SetErrorCachingMinTTL(v int64) *CustomErrorResponse { + s.ErrorCachingMinTTL = &v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteDistributionInput) SetIfMatch(v string) *DeleteDistributionInput { - s.IfMatch = &v +// SetErrorCode sets the ErrorCode field's value. +func (s *CustomErrorResponse) SetErrorCode(v int64) *CustomErrorResponse { + s.ErrorCode = &v return s } -type DeleteDistributionOutput struct { - _ struct{} `type:"structure"` +// SetResponseCode sets the ResponseCode field's value. +func (s *CustomErrorResponse) SetResponseCode(v string) *CustomErrorResponse { + s.ResponseCode = &v + return s } -// String returns the string representation -func (s DeleteDistributionOutput) String() string { - return awsutil.Prettify(s) +// SetResponsePagePath sets the ResponsePagePath field's value. +func (s *CustomErrorResponse) SetResponsePagePath(v string) *CustomErrorResponse { + s.ResponsePagePath = &v + return s } -// GoString returns the string representation -func (s DeleteDistributionOutput) GoString() string { - return s.String() -} +// A complex type that controls: +// +// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range +// with custom error messages before returning the response to the viewer. +// +// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. +// +// For more information about custom error pages, see Customizing Error Responses +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) +// in the Amazon CloudFront Developer Guide. +type CustomErrorResponses struct { + _ struct{} `type:"structure"` -type DeleteFieldLevelEncryptionConfigInput struct { - _ struct{} `locationName:"DeleteFieldLevelEncryptionConfigRequest" type:"structure"` + // A complex type that contains a CustomErrorResponse element for each HTTP + // status code for which you want to specify a custom error page and/or a caching + // duration. + Items []*CustomErrorResponse `locationNameList:"CustomErrorResponse" type:"list"` - // The ID of the configuration you want to delete from CloudFront. + // The number of HTTP status codes for which you want to specify a custom error + // page and/or a caching duration. If Quantity is 0, you can omit Items. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` - - // The value of the ETag header that you received when retrieving the configuration - // identity to delete. For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s DeleteFieldLevelEncryptionConfigInput) String() string { +func (s CustomErrorResponses) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteFieldLevelEncryptionConfigInput) GoString() string { +func (s CustomErrorResponses) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFieldLevelEncryptionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *CustomErrorResponses) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponses"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -7535,63 +9140,58 @@ func (s *DeleteFieldLevelEncryptionConfigInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeleteFieldLevelEncryptionConfigInput) SetId(v string) *DeleteFieldLevelEncryptionConfigInput { - s.Id = &v +// SetItems sets the Items field's value. +func (s *CustomErrorResponses) SetItems(v []*CustomErrorResponse) *CustomErrorResponses { + s.Items = v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteFieldLevelEncryptionConfigInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionConfigInput { - s.IfMatch = &v +// SetQuantity sets the Quantity field's value. +func (s *CustomErrorResponses) SetQuantity(v int64) *CustomErrorResponses { + s.Quantity = &v return s } -type DeleteFieldLevelEncryptionConfigOutput struct { +// A complex type that contains the list of Custom Headers for each origin. +type CustomHeaders struct { _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteFieldLevelEncryptionConfigOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteFieldLevelEncryptionConfigOutput) GoString() string { - return s.String() -} -type DeleteFieldLevelEncryptionProfileInput struct { - _ struct{} `locationName:"DeleteFieldLevelEncryptionProfileRequest" type:"structure"` + // Optional: A list that contains one OriginCustomHeader element for each custom + // header that you want CloudFront to forward to the origin. If Quantity is + // 0, omit Items. + Items []*OriginCustomHeader `locationNameList:"OriginCustomHeader" type:"list"` - // Request the ID of the profile you want to delete from CloudFront. + // The number of custom headers, if any, for this distribution. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` - - // The value of the ETag header that you received when retrieving the profile - // to delete. For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s DeleteFieldLevelEncryptionProfileInput) String() string { +func (s CustomHeaders) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteFieldLevelEncryptionProfileInput) GoString() string { +func (s CustomHeaders) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFieldLevelEncryptionProfileInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionProfileInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *CustomHeaders) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomHeaders"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -7600,63 +9200,102 @@ func (s *DeleteFieldLevelEncryptionProfileInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeleteFieldLevelEncryptionProfileInput) SetId(v string) *DeleteFieldLevelEncryptionProfileInput { - s.Id = &v +// SetItems sets the Items field's value. +func (s *CustomHeaders) SetItems(v []*OriginCustomHeader) *CustomHeaders { + s.Items = v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteFieldLevelEncryptionProfileInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionProfileInput { - s.IfMatch = &v +// SetQuantity sets the Quantity field's value. +func (s *CustomHeaders) SetQuantity(v int64) *CustomHeaders { + s.Quantity = &v return s } -type DeleteFieldLevelEncryptionProfileOutput struct { +// A custom origin. A custom origin is any origin that is not an Amazon S3 bucket, +// with one exception. An Amazon S3 bucket that is configured with static website +// hosting (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) +// is a custom origin. +type CustomOriginConfig struct { _ struct{} `type:"structure"` -} -// String returns the string representation -func (s DeleteFieldLevelEncryptionProfileOutput) String() string { - return awsutil.Prettify(s) -} + // The HTTP port that CloudFront uses to connect to the origin. Specify the + // HTTP port that the origin listens on. + // + // HTTPPort is a required field + HTTPPort *int64 `type:"integer" required:"true"` -// GoString returns the string representation -func (s DeleteFieldLevelEncryptionProfileOutput) GoString() string { - return s.String() -} + // The HTTPS port that CloudFront uses to connect to the origin. Specify the + // HTTPS port that the origin listens on. + // + // HTTPSPort is a required field + HTTPSPort *int64 `type:"integer" required:"true"` -type DeletePublicKeyInput struct { - _ struct{} `locationName:"DeletePublicKeyRequest" type:"structure"` + // Specifies how long, in seconds, CloudFront persists its connection to the + // origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the + // default (if you don’t specify otherwise) is 5 seconds. + // + // For more information, see Origin Keep-alive Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) + // in the Amazon CloudFront Developer Guide. + OriginKeepaliveTimeout *int64 `type:"integer"` - // The ID of the public key you want to remove from CloudFront. + // Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to + // the origin. Valid values are: // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // * http-only – CloudFront always uses HTTP to connect to the origin. + // + // * match-viewer – CloudFront connects to the origin using the same protocol + // that the viewer used to connect to CloudFront. + // + // * https-only – CloudFront always uses HTTPS to connect to the origin. + // + // OriginProtocolPolicy is a required field + OriginProtocolPolicy *string `type:"string" required:"true" enum:"OriginProtocolPolicy"` - // The value of the ETag header that you received when retrieving the public - // key identity to delete. For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // Specifies how long, in seconds, CloudFront waits for a response from the + // origin. This is also known as the origin response timeout. The minimum timeout + // is 1 second, the maximum is 60 seconds, and the default (if you don’t specify + // otherwise) is 30 seconds. + // + // For more information, see Origin Response Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) + // in the Amazon CloudFront Developer Guide. + OriginReadTimeout *int64 `type:"integer"` + + // Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting + // to your origin over HTTPS. Valid values include SSLv3, TLSv1, TLSv1.1, and + // TLSv1.2. + // + // For more information, see Minimum Origin SSL Protocol (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) + // in the Amazon CloudFront Developer Guide. + OriginSslProtocols *OriginSslProtocols `type:"structure"` } // String returns the string representation -func (s DeletePublicKeyInput) String() string { +func (s CustomOriginConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeletePublicKeyInput) GoString() string { +func (s CustomOriginConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeletePublicKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeletePublicKeyInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *CustomOriginConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomOriginConfig"} + if s.HTTPPort == nil { + invalidParams.Add(request.NewErrParamRequired("HTTPPort")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.HTTPSPort == nil { + invalidParams.Add(request.NewErrParamRequired("HTTPSPort")) + } + if s.OriginProtocolPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("OriginProtocolPolicy")) + } + if s.OriginSslProtocols != nil { + if err := s.OriginSslProtocols.Validate(); err != nil { + invalidParams.AddNested("OriginSslProtocols", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -7665,483 +9304,2329 @@ func (s *DeletePublicKeyInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeletePublicKeyInput) SetId(v string) *DeletePublicKeyInput { - s.Id = &v +// SetHTTPPort sets the HTTPPort field's value. +func (s *CustomOriginConfig) SetHTTPPort(v int64) *CustomOriginConfig { + s.HTTPPort = &v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeletePublicKeyInput) SetIfMatch(v string) *DeletePublicKeyInput { - s.IfMatch = &v +// SetHTTPSPort sets the HTTPSPort field's value. +func (s *CustomOriginConfig) SetHTTPSPort(v int64) *CustomOriginConfig { + s.HTTPSPort = &v return s } -type DeletePublicKeyOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeletePublicKeyOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeletePublicKeyOutput) GoString() string { - return s.String() -} - -// The request to delete a streaming distribution. -type DeleteStreamingDistributionInput struct { - _ struct{} `locationName:"DeleteStreamingDistributionRequest" type:"structure"` - - // The distribution ID. - // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` - - // The value of the ETag header that you received when you disabled the streaming - // distribution. For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` -} - -// String returns the string representation -func (s DeleteStreamingDistributionInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteStreamingDistributionInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteStreamingDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteStreamingDistributionInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetId sets the Id field's value. -func (s *DeleteStreamingDistributionInput) SetId(v string) *DeleteStreamingDistributionInput { - s.Id = &v +// SetOriginKeepaliveTimeout sets the OriginKeepaliveTimeout field's value. +func (s *CustomOriginConfig) SetOriginKeepaliveTimeout(v int64) *CustomOriginConfig { + s.OriginKeepaliveTimeout = &v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteStreamingDistributionInput) SetIfMatch(v string) *DeleteStreamingDistributionInput { - s.IfMatch = &v +// SetOriginProtocolPolicy sets the OriginProtocolPolicy field's value. +func (s *CustomOriginConfig) SetOriginProtocolPolicy(v string) *CustomOriginConfig { + s.OriginProtocolPolicy = &v return s } -type DeleteStreamingDistributionOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteStreamingDistributionOutput) String() string { - return awsutil.Prettify(s) +// SetOriginReadTimeout sets the OriginReadTimeout field's value. +func (s *CustomOriginConfig) SetOriginReadTimeout(v int64) *CustomOriginConfig { + s.OriginReadTimeout = &v + return s } -// GoString returns the string representation -func (s DeleteStreamingDistributionOutput) GoString() string { - return s.String() +// SetOriginSslProtocols sets the OriginSslProtocols field's value. +func (s *CustomOriginConfig) SetOriginSslProtocols(v *OriginSslProtocols) *CustomOriginConfig { + s.OriginSslProtocols = v + return s } -// A distribution tells CloudFront where you want content to be delivered from, -// and the details about how to track and manage content delivery. -type Distribution struct { +// A complex type that describes the default cache behavior if you don’t specify +// a CacheBehavior element or if request URLs don’t match any of the values +// of PathPattern in CacheBehavior elements. You must create exactly one default +// cache behavior. +type DefaultCacheBehavior struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, - // where 123456789012 is your AWS account ID. + // A complex type that controls which HTTP methods CloudFront processes and + // forwards to your Amazon S3 bucket or your custom origin. There are three + // choices: // - // ARN is a required field - ARN *string `type:"string" required:"true"` - - // CloudFront automatically adds this element to the response only if you've - // set up the distribution to serve private content with signed URLs. The element - // lists the key pair IDs that CloudFront is aware of for each trusted signer. - // The Signer child element lists the AWS account number of the trusted signer - // (or an empty Self element if the signer is you). The Signer element also - // includes the IDs of any active key pairs associated with the trusted signer's - // AWS account. If no KeyPairId element appears for a Signer, that signer can't - // create working signed URLs. + // * CloudFront forwards only GET and HEAD requests. // - // ActiveTrustedSigners is a required field - ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"` - - // AWS services in China customers must file for an Internet Content Provider - // (ICP) recordal if they want to serve content publicly on an alternate domain - // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal - // provides the ICP recordal status for CNAMEs associated with distributions. + // * CloudFront forwards only GET, HEAD, and OPTIONS requests. // - // For more information about ICP recordals, see Signup, Accounts, and Credentials - // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) - // in Getting Started with AWS services in China. - AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` - - // The current configuration information for the distribution. Send a GET request - // to the /CloudFront API version/distribution ID/config resource. + // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE + // requests. // - // DistributionConfig is a required field - DistributionConfig *DistributionConfig `type:"structure" required:"true"` + // If you pick the third choice, you may need to restrict access to your Amazon + // S3 bucket or to your custom origin so users can't perform operations that + // you don't want them to. For example, you might not want users to have permissions + // to delete objects from your origin. + AllowedMethods *AllowedMethods `type:"structure"` - // The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net. - // - // DomainName is a required field - DomainName *string `type:"string" required:"true"` + // The unique identifier of the cache policy that is attached to the default + // cache behavior. For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + CachePolicyId *string `type:"string"` - // The identifier for the distribution. For example: EDFDVBD632BHDS5. - // - // Id is a required field - Id *string `type:"string" required:"true"` + // Whether you want CloudFront to automatically compress certain files for this + // cache behavior. If so, specify true; if not, specify false. For more information, + // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) + // in the Amazon CloudFront Developer Guide. + Compress *bool `type:"boolean"` - // The number of invalidation batches currently in progress. + // This field is deprecated. We recommend that you use the DefaultTTL field + // in a cache policy instead of this field. For more information, see Creating + // cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. // - // InProgressInvalidationBatches is a required field - InProgressInvalidationBatches *int64 `type:"integer" required:"true"` + // The default amount of time that you want objects to stay in CloudFront caches + // before CloudFront forwards another request to your origin to determine whether + // the object has been updated. The value that you specify applies only when + // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control + // s-maxage, and Expires to objects. For more information, see Managing How + // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // Deprecated: DefaultTTL has been deprecated + DefaultTTL *int64 `deprecated:"true" type:"long"` - // The date and time the distribution was last modified. + // The value of ID for the field-level encryption configuration that you want + // CloudFront to use for encrypting specific fields of data for the default + // cache behavior. + FieldLevelEncryptionId *string `type:"string"` + + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. For more information, see Working + // with policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) + // in the Amazon CloudFront Developer Guide. // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` + // If you want to include values in the cache key, use a cache policy. For more + // information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send values to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // A complex type that specifies how CloudFront handles query strings, cookies, + // and HTTP headers. + // + // Deprecated: ForwardedValues has been deprecated + ForwardedValues *ForwardedValues `deprecated:"true" type:"structure"` - // This response element indicates the current status of the distribution. When - // the status is Deployed, the distribution's information is fully propagated - // to all CloudFront edge locations. + // A complex type that contains zero or more Lambda function associations for + // a cache behavior. + LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` + + // This field is deprecated. We recommend that you use the MaxTTL field in a + // cache policy instead of this field. For more information, see Creating cache + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. // - // Status is a required field - Status *string `type:"string" required:"true"` + // The maximum amount of time that you want objects to stay in CloudFront caches + // before CloudFront forwards another request to your origin to determine whether + // the object has been updated. The value that you specify applies only when + // your origin adds HTTP headers such as Cache-Control max-age, Cache-Control + // s-maxage, and Expires to objects. For more information, see Managing How + // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // Deprecated: MaxTTL has been deprecated + MaxTTL *int64 `deprecated:"true" type:"long"` + + // This field is deprecated. We recommend that you use the MinTTL field in a + // cache policy instead of this field. For more information, see Creating cache + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // The minimum amount of time that you want objects to stay in CloudFront caches + // before CloudFront forwards another request to your origin to determine whether + // the object has been updated. For more information, see Managing How Long + // Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // You must specify 0 for MinTTL if you configure CloudFront to forward all + // headers to your origin (under Headers, if you specify 1 for Quantity and + // * for Name). + // + // Deprecated: MinTTL has been deprecated + MinTTL *int64 `deprecated:"true" type:"long"` + + // The unique identifier of the origin request policy that is attached to the + // default cache behavior. For more information, see Creating origin request + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) + // in the Amazon CloudFront Developer Guide. + OriginRequestPolicyId *string `type:"string"` + + // Indicates whether you want to distribute media files in the Microsoft Smooth + // Streaming format using the origin that is associated with this cache behavior. + // If so, specify true; if not, specify false. If you specify true for SmoothStreaming, + // you can still distribute other content using this cache behavior if the content + // matches the value of PathPattern. + SmoothStreaming *bool `type:"boolean"` + + // The value of ID for the origin that you want CloudFront to route requests + // to when they use the default cache behavior. + // + // TargetOriginId is a required field + TargetOriginId *string `type:"string" required:"true"` + + // A complex type that specifies the AWS accounts, if any, that you want to + // allow to create signed URLs for private content. + // + // If you want to require signed URLs in requests for objects in the target + // origin that match the PathPattern for this cache behavior, specify true for + // Enabled, and specify the applicable values for Quantity and Items. For more + // information, see Serving Private Content with Signed URLs and Signed Cookies + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) + // in the Amazon CloudFront Developer Guide. + // + // If you don’t want to require signed URLs in requests for objects that match + // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. + // + // To add, change, or remove one or more trusted signers, change Enabled to + // true (if it’s currently false), change Quantity as applicable, and specify + // all of the trusted signers that you want to include in the updated distribution. + // + // TrustedSigners is a required field + TrustedSigners *TrustedSigners `type:"structure" required:"true"` + + // The protocol that viewers can use to access the files in the origin specified + // by TargetOriginId when a request matches the path pattern in PathPattern. + // You can specify the following options: + // + // * allow-all: Viewers can use HTTP or HTTPS. + // + // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns + // an HTTP status code of 301 (Moved Permanently) to the viewer along with + // the HTTPS URL. The viewer then resubmits the request using the new URL. + // + // * https-only: If a viewer sends an HTTP request, CloudFront returns an + // HTTP status code of 403 (Forbidden). + // + // For more information about requiring the HTTPS protocol, see Requiring HTTPS + // Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) + // in the Amazon CloudFront Developer Guide. + // + // The only way to guarantee that viewers retrieve an object that was fetched + // from the origin using HTTPS is never to use any other protocol to fetch the + // object. If you have recently changed from HTTP to HTTPS, we recommend that + // you clear your objects’ cache because cached objects are protocol agnostic. + // That means that an edge location will return an object from the cache regardless + // of whether the current request protocol matches the protocol used previously. + // For more information, see Managing Cache Expiration (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // ViewerProtocolPolicy is a required field + ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` } // String returns the string representation -func (s Distribution) String() string { +func (s DefaultCacheBehavior) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Distribution) GoString() string { +func (s DefaultCacheBehavior) GoString() string { return s.String() } -// SetARN sets the ARN field's value. -func (s *Distribution) SetARN(v string) *Distribution { - s.ARN = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DefaultCacheBehavior) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DefaultCacheBehavior"} + if s.TargetOriginId == nil { + invalidParams.Add(request.NewErrParamRequired("TargetOriginId")) + } + if s.TrustedSigners == nil { + invalidParams.Add(request.NewErrParamRequired("TrustedSigners")) + } + if s.ViewerProtocolPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy")) + } + if s.AllowedMethods != nil { + if err := s.AllowedMethods.Validate(); err != nil { + invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams)) + } + } + if s.ForwardedValues != nil { + if err := s.ForwardedValues.Validate(); err != nil { + invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) + } + } + if s.LambdaFunctionAssociations != nil { + if err := s.LambdaFunctionAssociations.Validate(); err != nil { + invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) + } + } + if s.TrustedSigners != nil { + if err := s.TrustedSigners.Validate(); err != nil { + invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedMethods sets the AllowedMethods field's value. +func (s *DefaultCacheBehavior) SetAllowedMethods(v *AllowedMethods) *DefaultCacheBehavior { + s.AllowedMethods = v return s } -// SetActiveTrustedSigners sets the ActiveTrustedSigners field's value. -func (s *Distribution) SetActiveTrustedSigners(v *ActiveTrustedSigners) *Distribution { - s.ActiveTrustedSigners = v +// SetCachePolicyId sets the CachePolicyId field's value. +func (s *DefaultCacheBehavior) SetCachePolicyId(v string) *DefaultCacheBehavior { + s.CachePolicyId = &v return s } -// SetAliasICPRecordals sets the AliasICPRecordals field's value. -func (s *Distribution) SetAliasICPRecordals(v []*AliasICPRecordal) *Distribution { - s.AliasICPRecordals = v +// SetCompress sets the Compress field's value. +func (s *DefaultCacheBehavior) SetCompress(v bool) *DefaultCacheBehavior { + s.Compress = &v return s } -// SetDistributionConfig sets the DistributionConfig field's value. -func (s *Distribution) SetDistributionConfig(v *DistributionConfig) *Distribution { - s.DistributionConfig = v +// SetDefaultTTL sets the DefaultTTL field's value. +func (s *DefaultCacheBehavior) SetDefaultTTL(v int64) *DefaultCacheBehavior { + s.DefaultTTL = &v return s } -// SetDomainName sets the DomainName field's value. -func (s *Distribution) SetDomainName(v string) *Distribution { - s.DomainName = &v +// SetFieldLevelEncryptionId sets the FieldLevelEncryptionId field's value. +func (s *DefaultCacheBehavior) SetFieldLevelEncryptionId(v string) *DefaultCacheBehavior { + s.FieldLevelEncryptionId = &v return s } -// SetId sets the Id field's value. -func (s *Distribution) SetId(v string) *Distribution { - s.Id = &v +// SetForwardedValues sets the ForwardedValues field's value. +func (s *DefaultCacheBehavior) SetForwardedValues(v *ForwardedValues) *DefaultCacheBehavior { + s.ForwardedValues = v return s } -// SetInProgressInvalidationBatches sets the InProgressInvalidationBatches field's value. -func (s *Distribution) SetInProgressInvalidationBatches(v int64) *Distribution { - s.InProgressInvalidationBatches = &v +// SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. +func (s *DefaultCacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *DefaultCacheBehavior { + s.LambdaFunctionAssociations = v return s } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *Distribution) SetLastModifiedTime(v time.Time) *Distribution { - s.LastModifiedTime = &v +// SetMaxTTL sets the MaxTTL field's value. +func (s *DefaultCacheBehavior) SetMaxTTL(v int64) *DefaultCacheBehavior { + s.MaxTTL = &v return s } -// SetStatus sets the Status field's value. -func (s *Distribution) SetStatus(v string) *Distribution { - s.Status = &v +// SetMinTTL sets the MinTTL field's value. +func (s *DefaultCacheBehavior) SetMinTTL(v int64) *DefaultCacheBehavior { + s.MinTTL = &v return s } -// A distribution configuration. -type DistributionConfig struct { - _ struct{} `type:"structure"` +// SetOriginRequestPolicyId sets the OriginRequestPolicyId field's value. +func (s *DefaultCacheBehavior) SetOriginRequestPolicyId(v string) *DefaultCacheBehavior { + s.OriginRequestPolicyId = &v + return s +} - // A complex type that contains information about CNAMEs (alternate domain names), - // if any, for this distribution. - Aliases *Aliases `type:"structure"` +// SetSmoothStreaming sets the SmoothStreaming field's value. +func (s *DefaultCacheBehavior) SetSmoothStreaming(v bool) *DefaultCacheBehavior { + s.SmoothStreaming = &v + return s +} - // A complex type that contains zero or more CacheBehavior elements. - CacheBehaviors *CacheBehaviors `type:"structure"` +// SetTargetOriginId sets the TargetOriginId field's value. +func (s *DefaultCacheBehavior) SetTargetOriginId(v string) *DefaultCacheBehavior { + s.TargetOriginId = &v + return s +} - // A unique value (for example, a date-time stamp) that ensures that the request - // can't be replayed. - // - // If the value of CallerReference is new (regardless of the content of the - // DistributionConfig object), CloudFront creates a new distribution. - // - // If CallerReference is a value that you already sent in a previous request - // to create a distribution, CloudFront returns a DistributionAlreadyExists - // error. - // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` +// SetTrustedSigners sets the TrustedSigners field's value. +func (s *DefaultCacheBehavior) SetTrustedSigners(v *TrustedSigners) *DefaultCacheBehavior { + s.TrustedSigners = v + return s +} - // Any comments you want to include about the distribution. - // - // If you don't want to specify a comment, include an empty Comment element. +// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value. +func (s *DefaultCacheBehavior) SetViewerProtocolPolicy(v string) *DefaultCacheBehavior { + s.ViewerProtocolPolicy = &v + return s +} + +type DeleteCachePolicyInput struct { + _ struct{} `locationName:"DeleteCachePolicyRequest" type:"structure"` + + // The unique identifier for the cache policy that you are deleting. To get + // the identifier, you can use ListCachePolicies. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The version of the cache policy that you are deleting. The version is the + // cache policy’s ETag value, which you can get using ListCachePolicies, GetCachePolicy, + // or GetCachePolicyConfig. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteCachePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCachePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCachePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCachePolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteCachePolicyInput) SetId(v string) *DeleteCachePolicyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteCachePolicyInput) SetIfMatch(v string) *DeleteCachePolicyInput { + s.IfMatch = &v + return s +} + +type DeleteCachePolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCachePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCachePolicyOutput) GoString() string { + return s.String() +} + +// Deletes a origin access identity. +type DeleteCloudFrontOriginAccessIdentityInput struct { + _ struct{} `locationName:"DeleteCloudFrontOriginAccessIdentityRequest" type:"structure"` + + // The origin access identity's ID. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header you received from a previous GET or PUT request. + // For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteCloudFrontOriginAccessIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCloudFrontOriginAccessIdentityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCloudFrontOriginAccessIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCloudFrontOriginAccessIdentityInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteCloudFrontOriginAccessIdentityInput) SetId(v string) *DeleteCloudFrontOriginAccessIdentityInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteCloudFrontOriginAccessIdentityInput) SetIfMatch(v string) *DeleteCloudFrontOriginAccessIdentityInput { + s.IfMatch = &v + return s +} + +type DeleteCloudFrontOriginAccessIdentityOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCloudFrontOriginAccessIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCloudFrontOriginAccessIdentityOutput) GoString() string { + return s.String() +} + +// This action deletes a web distribution. To delete a web distribution using +// the CloudFront API, perform the following steps. +// +// To delete a web distribution using the CloudFront API: +// +// Disable the web distribution +// +// Submit a GET Distribution Config request to get the current configuration +// and the Etag header for the distribution. +// +// Update the XML document that was returned in the response to your GET Distribution +// Config request to change the value of Enabled to false. +// +// Submit a PUT Distribution Config request to update the configuration for +// your distribution. In the request body, include the XML document that you +// updated in Step 3. Set the value of the HTTP If-Match header to the value +// of the ETag header that CloudFront returned when you submitted the GET Distribution +// Config request in Step 2. +// +// Review the response to the PUT Distribution Config request to confirm that +// the distribution was successfully disabled. +// +// Submit a GET Distribution request to confirm that your changes have propagated. +// When propagation is complete, the value of Status is Deployed. +// +// Submit a DELETE Distribution request. Set the value of the HTTP If-Match +// header to the value of the ETag header that CloudFront returned when you +// submitted the GET Distribution Config request in Step 6. +// +// Review the response to your DELETE Distribution request to confirm that the +// distribution was successfully deleted. +// +// For information about deleting a distribution using the CloudFront console, +// see Deleting a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html) +// in the Amazon CloudFront Developer Guide. +type DeleteDistributionInput struct { + _ struct{} `locationName:"DeleteDistributionRequest" type:"structure"` + + // The distribution ID. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when you disabled the distribution. + // For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteDistributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDistributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteDistributionInput) SetId(v string) *DeleteDistributionInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteDistributionInput) SetIfMatch(v string) *DeleteDistributionInput { + s.IfMatch = &v + return s +} + +type DeleteDistributionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDistributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDistributionOutput) GoString() string { + return s.String() +} + +type DeleteFieldLevelEncryptionConfigInput struct { + _ struct{} `locationName:"DeleteFieldLevelEncryptionConfigRequest" type:"structure"` + + // The ID of the configuration you want to delete from CloudFront. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when retrieving the configuration + // identity to delete. For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteFieldLevelEncryptionConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFieldLevelEncryptionConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFieldLevelEncryptionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteFieldLevelEncryptionConfigInput) SetId(v string) *DeleteFieldLevelEncryptionConfigInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteFieldLevelEncryptionConfigInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionConfigInput { + s.IfMatch = &v + return s +} + +type DeleteFieldLevelEncryptionConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFieldLevelEncryptionConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFieldLevelEncryptionConfigOutput) GoString() string { + return s.String() +} + +type DeleteFieldLevelEncryptionProfileInput struct { + _ struct{} `locationName:"DeleteFieldLevelEncryptionProfileRequest" type:"structure"` + + // Request the ID of the profile you want to delete from CloudFront. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when retrieving the profile + // to delete. For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteFieldLevelEncryptionProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFieldLevelEncryptionProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFieldLevelEncryptionProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionProfileInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteFieldLevelEncryptionProfileInput) SetId(v string) *DeleteFieldLevelEncryptionProfileInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteFieldLevelEncryptionProfileInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionProfileInput { + s.IfMatch = &v + return s +} + +type DeleteFieldLevelEncryptionProfileOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFieldLevelEncryptionProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFieldLevelEncryptionProfileOutput) GoString() string { + return s.String() +} + +type DeleteOriginRequestPolicyInput struct { + _ struct{} `locationName:"DeleteOriginRequestPolicyRequest" type:"structure"` + + // The unique identifier for the origin request policy that you are deleting. + // To get the identifier, you can use ListOriginRequestPolicies. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The version of the origin request policy that you are deleting. The version + // is the origin request policy’s ETag value, which you can get using ListOriginRequestPolicies, + // GetOriginRequestPolicy, or GetOriginRequestPolicyConfig. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteOriginRequestPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteOriginRequestPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteOriginRequestPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteOriginRequestPolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteOriginRequestPolicyInput) SetId(v string) *DeleteOriginRequestPolicyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteOriginRequestPolicyInput) SetIfMatch(v string) *DeleteOriginRequestPolicyInput { + s.IfMatch = &v + return s +} + +type DeleteOriginRequestPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteOriginRequestPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteOriginRequestPolicyOutput) GoString() string { + return s.String() +} + +type DeletePublicKeyInput struct { + _ struct{} `locationName:"DeletePublicKeyRequest" type:"structure"` + + // The ID of the public key you want to remove from CloudFront. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when retrieving the public + // key identity to delete. For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeletePublicKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePublicKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePublicKeyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeletePublicKeyInput) SetId(v string) *DeletePublicKeyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeletePublicKeyInput) SetIfMatch(v string) *DeletePublicKeyInput { + s.IfMatch = &v + return s +} + +type DeletePublicKeyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePublicKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePublicKeyOutput) GoString() string { + return s.String() +} + +// The request to delete a streaming distribution. +type DeleteStreamingDistributionInput struct { + _ struct{} `locationName:"DeleteStreamingDistributionRequest" type:"structure"` + + // The distribution ID. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when you disabled the streaming + // distribution. For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteStreamingDistributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStreamingDistributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStreamingDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStreamingDistributionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteStreamingDistributionInput) SetId(v string) *DeleteStreamingDistributionInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteStreamingDistributionInput) SetIfMatch(v string) *DeleteStreamingDistributionInput { + s.IfMatch = &v + return s +} + +type DeleteStreamingDistributionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteStreamingDistributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStreamingDistributionOutput) GoString() string { + return s.String() +} + +// A distribution tells CloudFront where you want content to be delivered from, +// and the details about how to track and manage content delivery. +type Distribution struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, + // where 123456789012 is your AWS account ID. + // + // ARN is a required field + ARN *string `type:"string" required:"true"` + + // CloudFront automatically adds this element to the response only if you've + // set up the distribution to serve private content with signed URLs. The element + // lists the key pair IDs that CloudFront is aware of for each trusted signer. + // The Signer child element lists the AWS account number of the trusted signer + // (or an empty Self element if the signer is you). The Signer element also + // includes the IDs of any active key pairs associated with the trusted signer's + // AWS account. If no KeyPairId element appears for a Signer, that signer can't + // create working signed URLs. + // + // ActiveTrustedSigners is a required field + ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"` + + // AWS services in China customers must file for an Internet Content Provider + // (ICP) recordal if they want to serve content publicly on an alternate domain + // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal + // provides the ICP recordal status for CNAMEs associated with distributions. + // + // For more information about ICP recordals, see Signup, Accounts, and Credentials + // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) + // in Getting Started with AWS services in China. + AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` + + // The current configuration information for the distribution. Send a GET request + // to the /CloudFront API version/distribution ID/config resource. + // + // DistributionConfig is a required field + DistributionConfig *DistributionConfig `type:"structure" required:"true"` + + // The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // The identifier for the distribution. For example: EDFDVBD632BHDS5. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The number of invalidation batches currently in progress. + // + // InProgressInvalidationBatches is a required field + InProgressInvalidationBatches *int64 `type:"integer" required:"true"` + + // The date and time the distribution was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // This response element indicates the current status of the distribution. When + // the status is Deployed, the distribution's information is fully propagated + // to all CloudFront edge locations. + // + // Status is a required field + Status *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Distribution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Distribution) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *Distribution) SetARN(v string) *Distribution { + s.ARN = &v + return s +} + +// SetActiveTrustedSigners sets the ActiveTrustedSigners field's value. +func (s *Distribution) SetActiveTrustedSigners(v *ActiveTrustedSigners) *Distribution { + s.ActiveTrustedSigners = v + return s +} + +// SetAliasICPRecordals sets the AliasICPRecordals field's value. +func (s *Distribution) SetAliasICPRecordals(v []*AliasICPRecordal) *Distribution { + s.AliasICPRecordals = v + return s +} + +// SetDistributionConfig sets the DistributionConfig field's value. +func (s *Distribution) SetDistributionConfig(v *DistributionConfig) *Distribution { + s.DistributionConfig = v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *Distribution) SetDomainName(v string) *Distribution { + s.DomainName = &v + return s +} + +// SetId sets the Id field's value. +func (s *Distribution) SetId(v string) *Distribution { + s.Id = &v + return s +} + +// SetInProgressInvalidationBatches sets the InProgressInvalidationBatches field's value. +func (s *Distribution) SetInProgressInvalidationBatches(v int64) *Distribution { + s.InProgressInvalidationBatches = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Distribution) SetLastModifiedTime(v time.Time) *Distribution { + s.LastModifiedTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Distribution) SetStatus(v string) *Distribution { + s.Status = &v + return s +} + +// A distribution configuration. +type DistributionConfig struct { + _ struct{} `type:"structure"` + + // A complex type that contains information about CNAMEs (alternate domain names), + // if any, for this distribution. + Aliases *Aliases `type:"structure"` + + // A complex type that contains zero or more CacheBehavior elements. + CacheBehaviors *CacheBehaviors `type:"structure"` + + // A unique value (for example, a date-time stamp) that ensures that the request + // can't be replayed. + // + // If the value of CallerReference is new (regardless of the content of the + // DistributionConfig object), CloudFront creates a new distribution. + // + // If CallerReference is a value that you already sent in a previous request + // to create a distribution, CloudFront returns a DistributionAlreadyExists + // error. + // + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` + + // Any comments you want to include about the distribution. + // + // If you don't want to specify a comment, include an empty Comment element. + // + // To delete an existing comment, update the distribution configuration and + // include an empty Comment element. + // + // To add or change a comment, update the distribution configuration and specify + // the new comment. + // + // Comment is a required field + Comment *string `type:"string" required:"true" sensitive:"true"` + + // A complex type that controls the following: + // + // * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range + // with custom error messages before returning the response to the viewer. + // + // * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. + // + // For more information about custom error pages, see Customizing Error Responses + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) + // in the Amazon CloudFront Developer Guide. + CustomErrorResponses *CustomErrorResponses `type:"structure"` + + // A complex type that describes the default cache behavior if you don't specify + // a CacheBehavior element or if files don't match any of the values of PathPattern + // in CacheBehavior elements. You must create exactly one default cache behavior. + // + // DefaultCacheBehavior is a required field + DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` + + // The object that you want CloudFront to request from your origin (for example, + // index.html) when a viewer requests the root URL for your distribution (http://www.example.com) + // instead of an object in your distribution (http://www.example.com/product-description.html). + // Specifying a default root object avoids exposing the contents of your distribution. + // + // Specify only the object name, for example, index.html. Don't add a / before + // the object name. + // + // If you don't want to specify a default root object when you create a distribution, + // include an empty DefaultRootObject element. + // + // To delete the default root object from an existing distribution, update the + // distribution configuration and include an empty DefaultRootObject element. + // + // To replace the default root object, update the distribution configuration + // and specify the new object. + // + // For more information about the default root object, see Creating a Default + // Root Object (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) + // in the Amazon CloudFront Developer Guide. + DefaultRootObject *string `type:"string"` + + // From this field, you can enable or disable the selected distribution. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // (Optional) Specify the maximum HTTP version that you want viewers to use + // to communicate with CloudFront. The default value for new web distributions + // is http2. Viewers that don't support HTTP/2 automatically use an earlier + // HTTP version. + // + // For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or + // later, and must support Server Name Identification (SNI). + // + // In general, configuring CloudFront to communicate with viewers using HTTP/2 + // reduces latency. You can improve performance by optimizing for HTTP/2. For + // more information, do an Internet search for "http/2 optimization." + HttpVersion *string `type:"string" enum:"HttpVersion"` + + // If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address + // for your distribution, specify true. If you specify false, CloudFront responds + // to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. + // This allows viewers to submit a second request, for an IPv4 address for your + // distribution. + // + // In general, you should enable IPv6 if you have users on IPv6 networks who + // want to access your content. However, if you're using signed URLs or signed + // cookies to restrict access to your content, and if you're using a custom + // policy that includes the IpAddress parameter to restrict the IP addresses + // that can access your content, don't enable IPv6. If you want to restrict + // access to some content by IP address and not restrict access to other content + // (or restrict access but not by IP address), you can create two distributions. + // For more information, see Creating a Signed URL Using a Custom Policy (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html) + // in the Amazon CloudFront Developer Guide. + // + // If you're using an Amazon Route 53 alias resource record set to route traffic + // to your CloudFront distribution, you need to create a second alias resource + // record set when both of the following are true: + // + // * You enable IPv6 for the distribution + // + // * You're using alternate domain names in the URLs for your objects + // + // For more information, see Routing Traffic to an Amazon CloudFront Web Distribution + // by Using Your Domain Name (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) + // in the Amazon Route 53 Developer Guide. + // + // If you created a CNAME resource record set, either with Amazon Route 53 or + // with another DNS service, you don't need to make any changes. A CNAME record + // will route traffic to your distribution regardless of the IP address format + // of the viewer request. + IsIPV6Enabled *bool `type:"boolean"` + + // A complex type that controls whether access logs are written for the distribution. + // + // For more information about logging, see Access Logs (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) + // in the Amazon CloudFront Developer Guide. + Logging *LoggingConfig `type:"structure"` + + // A complex type that contains information about origin groups for this distribution. + OriginGroups *OriginGroups `type:"structure"` + + // A complex type that contains information about origins for this distribution. + // + // Origins is a required field + Origins *Origins `type:"structure" required:"true"` + + // The price class that corresponds with the maximum price that you want to + // pay for CloudFront service. If you specify PriceClass_All, CloudFront responds + // to requests for your objects from all CloudFront edge locations. + // + // If you specify a price class other than PriceClass_All, CloudFront serves + // your objects from the CloudFront edge location that has the lowest latency + // among the edge locations in your price class. Viewers who are in or near + // regions that are excluded from your specified price class may encounter slower + // performance. + // + // For more information about price classes, see Choosing the Price Class for + // a CloudFront Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) + // in the Amazon CloudFront Developer Guide. For information about CloudFront + // pricing, including how price classes (such as Price Class 100) map to CloudFront + // regions, see Amazon CloudFront Pricing (http://aws.amazon.com/cloudfront/pricing/). + // For price class information, scroll down to see the table at the bottom of + // the page. + PriceClass *string `type:"string" enum:"PriceClass"` + + // A complex type that identifies ways in which you want to restrict distribution + // of your content. + Restrictions *Restrictions `type:"structure"` + + // A complex type that determines the distribution’s SSL/TLS configuration + // for communicating with viewers. + ViewerCertificate *ViewerCertificate `type:"structure"` + + // A unique identifier that specifies the AWS WAF web ACL, if any, to associate + // with this distribution. To specify a web ACL created using the latest version + // of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. + // To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example + // 473e64fd-f30b-4765-81a0-62ad96dd167a. + // + // AWS WAF is a web application firewall that lets you monitor the HTTP and + // HTTPS requests that are forwarded to CloudFront, and lets you control access + // to your content. Based on conditions that you specify, such as the IP addresses + // that requests originate from or the values of query strings, CloudFront responds + // to requests either with the requested content or with an HTTP 403 status + // code (Forbidden). You can also configure CloudFront to return a custom error + // page when a request is blocked. For more information about AWS WAF, see the + // AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html). + WebACLId *string `type:"string"` +} + +// String returns the string representation +func (s DistributionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DistributionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DistributionConfig"} + if s.CallerReference == nil { + invalidParams.Add(request.NewErrParamRequired("CallerReference")) + } + if s.Comment == nil { + invalidParams.Add(request.NewErrParamRequired("Comment")) + } + if s.DefaultCacheBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior")) + } + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.Origins == nil { + invalidParams.Add(request.NewErrParamRequired("Origins")) + } + if s.Aliases != nil { + if err := s.Aliases.Validate(); err != nil { + invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams)) + } + } + if s.CacheBehaviors != nil { + if err := s.CacheBehaviors.Validate(); err != nil { + invalidParams.AddNested("CacheBehaviors", err.(request.ErrInvalidParams)) + } + } + if s.CustomErrorResponses != nil { + if err := s.CustomErrorResponses.Validate(); err != nil { + invalidParams.AddNested("CustomErrorResponses", err.(request.ErrInvalidParams)) + } + } + if s.DefaultCacheBehavior != nil { + if err := s.DefaultCacheBehavior.Validate(); err != nil { + invalidParams.AddNested("DefaultCacheBehavior", err.(request.ErrInvalidParams)) + } + } + if s.Logging != nil { + if err := s.Logging.Validate(); err != nil { + invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) + } + } + if s.OriginGroups != nil { + if err := s.OriginGroups.Validate(); err != nil { + invalidParams.AddNested("OriginGroups", err.(request.ErrInvalidParams)) + } + } + if s.Origins != nil { + if err := s.Origins.Validate(); err != nil { + invalidParams.AddNested("Origins", err.(request.ErrInvalidParams)) + } + } + if s.Restrictions != nil { + if err := s.Restrictions.Validate(); err != nil { + invalidParams.AddNested("Restrictions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliases sets the Aliases field's value. +func (s *DistributionConfig) SetAliases(v *Aliases) *DistributionConfig { + s.Aliases = v + return s +} + +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *DistributionConfig) SetCacheBehaviors(v *CacheBehaviors) *DistributionConfig { + s.CacheBehaviors = v + return s +} + +// SetCallerReference sets the CallerReference field's value. +func (s *DistributionConfig) SetCallerReference(v string) *DistributionConfig { + s.CallerReference = &v + return s +} + +// SetComment sets the Comment field's value. +func (s *DistributionConfig) SetComment(v string) *DistributionConfig { + s.Comment = &v + return s +} + +// SetCustomErrorResponses sets the CustomErrorResponses field's value. +func (s *DistributionConfig) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionConfig { + s.CustomErrorResponses = v + return s +} + +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *DistributionConfig) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionConfig { + s.DefaultCacheBehavior = v + return s +} + +// SetDefaultRootObject sets the DefaultRootObject field's value. +func (s *DistributionConfig) SetDefaultRootObject(v string) *DistributionConfig { + s.DefaultRootObject = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *DistributionConfig) SetEnabled(v bool) *DistributionConfig { + s.Enabled = &v + return s +} + +// SetHttpVersion sets the HttpVersion field's value. +func (s *DistributionConfig) SetHttpVersion(v string) *DistributionConfig { + s.HttpVersion = &v + return s +} + +// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. +func (s *DistributionConfig) SetIsIPV6Enabled(v bool) *DistributionConfig { + s.IsIPV6Enabled = &v + return s +} + +// SetLogging sets the Logging field's value. +func (s *DistributionConfig) SetLogging(v *LoggingConfig) *DistributionConfig { + s.Logging = v + return s +} + +// SetOriginGroups sets the OriginGroups field's value. +func (s *DistributionConfig) SetOriginGroups(v *OriginGroups) *DistributionConfig { + s.OriginGroups = v + return s +} + +// SetOrigins sets the Origins field's value. +func (s *DistributionConfig) SetOrigins(v *Origins) *DistributionConfig { + s.Origins = v + return s +} + +// SetPriceClass sets the PriceClass field's value. +func (s *DistributionConfig) SetPriceClass(v string) *DistributionConfig { + s.PriceClass = &v + return s +} + +// SetRestrictions sets the Restrictions field's value. +func (s *DistributionConfig) SetRestrictions(v *Restrictions) *DistributionConfig { + s.Restrictions = v + return s +} + +// SetViewerCertificate sets the ViewerCertificate field's value. +func (s *DistributionConfig) SetViewerCertificate(v *ViewerCertificate) *DistributionConfig { + s.ViewerCertificate = v + return s +} + +// SetWebACLId sets the WebACLId field's value. +func (s *DistributionConfig) SetWebACLId(v string) *DistributionConfig { + s.WebACLId = &v + return s +} + +// A distribution Configuration and a list of tags to be associated with the +// distribution. +type DistributionConfigWithTags struct { + _ struct{} `type:"structure"` + + // A distribution configuration. + // + // DistributionConfig is a required field + DistributionConfig *DistributionConfig `type:"structure" required:"true"` + + // A complex type that contains zero or more Tag elements. + // + // Tags is a required field + Tags *Tags `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DistributionConfigWithTags) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionConfigWithTags) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DistributionConfigWithTags) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DistributionConfigWithTags"} + if s.DistributionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.DistributionConfig != nil { + if err := s.DistributionConfig.Validate(); err != nil { + invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + if err := s.Tags.Validate(); err != nil { + invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDistributionConfig sets the DistributionConfig field's value. +func (s *DistributionConfigWithTags) SetDistributionConfig(v *DistributionConfig) *DistributionConfigWithTags { + s.DistributionConfig = v + return s +} + +// SetTags sets the Tags field's value. +func (s *DistributionConfigWithTags) SetTags(v *Tags) *DistributionConfigWithTags { + s.Tags = v + return s +} + +// A list of distribution IDs. +type DistributionIdList struct { + _ struct{} `type:"structure"` + + // A flag that indicates whether more distribution IDs remain to be listed. + // If your results were truncated, you can make a subsequent request using the + // Marker request field to retrieve more distribution IDs in the list. + // + // IsTruncated is a required field + IsTruncated *bool `type:"boolean" required:"true"` + + // Contains the distribution IDs in the list. + Items []*string `locationNameList:"DistributionId" type:"list"` + + // The value provided in the Marker request field. + // + // Marker is a required field + Marker *string `type:"string" required:"true"` + + // The maximum number of distribution IDs requested. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // Contains the value that you should use in the Marker field of a subsequent + // request to continue listing distribution IDs where you left off. + NextMarker *string `type:"string"` + + // The total number of distribution IDs returned in the response. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s DistributionIdList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionIdList) GoString() string { + return s.String() +} + +// SetIsTruncated sets the IsTruncated field's value. +func (s *DistributionIdList) SetIsTruncated(v bool) *DistributionIdList { + s.IsTruncated = &v + return s +} + +// SetItems sets the Items field's value. +func (s *DistributionIdList) SetItems(v []*string) *DistributionIdList { + s.Items = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DistributionIdList) SetMarker(v string) *DistributionIdList { + s.Marker = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *DistributionIdList) SetMaxItems(v int64) *DistributionIdList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *DistributionIdList) SetNextMarker(v string) *DistributionIdList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *DistributionIdList) SetQuantity(v int64) *DistributionIdList { + s.Quantity = &v + return s +} + +// A distribution list. +type DistributionList struct { + _ struct{} `type:"structure"` + + // A flag that indicates whether more distributions remain to be listed. If + // your results were truncated, you can make a follow-up pagination request + // using the Marker request parameter to retrieve more distributions in the + // list. + // + // IsTruncated is a required field + IsTruncated *bool `type:"boolean" required:"true"` + + // A complex type that contains one DistributionSummary element for each distribution + // that was created by the current AWS account. + Items []*DistributionSummary `locationNameList:"DistributionSummary" type:"list"` + + // The value you provided for the Marker request parameter. + // + // Marker is a required field + Marker *string `type:"string" required:"true"` + + // The value you provided for the MaxItems request parameter. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If IsTruncated is true, this element is present and contains the value you + // can use for the Marker request parameter to continue listing your distributions + // where they left off. + NextMarker *string `type:"string"` + + // The number of distributions that were created by the current AWS account. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s DistributionList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionList) GoString() string { + return s.String() +} + +// SetIsTruncated sets the IsTruncated field's value. +func (s *DistributionList) SetIsTruncated(v bool) *DistributionList { + s.IsTruncated = &v + return s +} + +// SetItems sets the Items field's value. +func (s *DistributionList) SetItems(v []*DistributionSummary) *DistributionList { + s.Items = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DistributionList) SetMarker(v string) *DistributionList { + s.Marker = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *DistributionList) SetMaxItems(v int64) *DistributionList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *DistributionList) SetNextMarker(v string) *DistributionList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *DistributionList) SetQuantity(v int64) *DistributionList { + s.Quantity = &v + return s +} + +// A summary of the information about a CloudFront distribution. +type DistributionSummary struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, + // where 123456789012 is your AWS account ID. + // + // ARN is a required field + ARN *string `type:"string" required:"true"` + + // AWS services in China customers must file for an Internet Content Provider + // (ICP) recordal if they want to serve content publicly on an alternate domain + // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal + // provides the ICP recordal status for CNAMEs associated with distributions. + // + // For more information about ICP recordals, see Signup, Accounts, and Credentials + // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) + // in Getting Started with AWS services in China. + AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` + + // A complex type that contains information about CNAMEs (alternate domain names), + // if any, for this distribution. + // + // Aliases is a required field + Aliases *Aliases `type:"structure" required:"true"` + + // A complex type that contains zero or more CacheBehavior elements. + // + // CacheBehaviors is a required field + CacheBehaviors *CacheBehaviors `type:"structure" required:"true"` + + // The comment originally specified when this distribution was created. + // + // Comment is a required field + Comment *string `type:"string" required:"true"` + + // A complex type that contains zero or more CustomErrorResponses elements. + // + // CustomErrorResponses is a required field + CustomErrorResponses *CustomErrorResponses `type:"structure" required:"true"` + + // A complex type that describes the default cache behavior if you don't specify + // a CacheBehavior element or if files don't match any of the values of PathPattern + // in CacheBehavior elements. You must create exactly one default cache behavior. + // + // DefaultCacheBehavior is a required field + DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` + + // The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // Whether the distribution is enabled to accept user requests for content. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // Specify the maximum HTTP version that you want viewers to use to communicate + // with CloudFront. The default value for new web distributions is http2. Viewers + // that don't support HTTP/2 will automatically use an earlier version. + // + // HttpVersion is a required field + HttpVersion *string `type:"string" required:"true" enum:"HttpVersion"` + + // The identifier for the distribution. For example: EDFDVBD632BHDS5. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for + // your distribution. + // + // IsIPV6Enabled is a required field + IsIPV6Enabled *bool `type:"boolean" required:"true"` + + // The date and time the distribution was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // A complex type that contains information about origin groups for this distribution. + OriginGroups *OriginGroups `type:"structure"` + + // A complex type that contains information about origins for this distribution. + // + // Origins is a required field + Origins *Origins `type:"structure" required:"true"` + + // A complex type that contains information about price class for this streaming + // distribution. + // + // PriceClass is a required field + PriceClass *string `type:"string" required:"true" enum:"PriceClass"` + + // A complex type that identifies ways in which you want to restrict distribution + // of your content. + // + // Restrictions is a required field + Restrictions *Restrictions `type:"structure" required:"true"` + + // The current status of the distribution. When the status is Deployed, the + // distribution's information is propagated to all CloudFront edge locations. + // + // Status is a required field + Status *string `type:"string" required:"true"` + + // A complex type that determines the distribution’s SSL/TLS configuration + // for communicating with viewers. + // + // ViewerCertificate is a required field + ViewerCertificate *ViewerCertificate `type:"structure" required:"true"` + + // The Web ACL Id (if any) associated with the distribution. + // + // WebACLId is a required field + WebACLId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DistributionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionSummary) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *DistributionSummary) SetARN(v string) *DistributionSummary { + s.ARN = &v + return s +} + +// SetAliasICPRecordals sets the AliasICPRecordals field's value. +func (s *DistributionSummary) SetAliasICPRecordals(v []*AliasICPRecordal) *DistributionSummary { + s.AliasICPRecordals = v + return s +} + +// SetAliases sets the Aliases field's value. +func (s *DistributionSummary) SetAliases(v *Aliases) *DistributionSummary { + s.Aliases = v + return s +} + +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *DistributionSummary) SetCacheBehaviors(v *CacheBehaviors) *DistributionSummary { + s.CacheBehaviors = v + return s +} + +// SetComment sets the Comment field's value. +func (s *DistributionSummary) SetComment(v string) *DistributionSummary { + s.Comment = &v + return s +} + +// SetCustomErrorResponses sets the CustomErrorResponses field's value. +func (s *DistributionSummary) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionSummary { + s.CustomErrorResponses = v + return s +} + +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *DistributionSummary) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionSummary { + s.DefaultCacheBehavior = v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DistributionSummary) SetDomainName(v string) *DistributionSummary { + s.DomainName = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *DistributionSummary) SetEnabled(v bool) *DistributionSummary { + s.Enabled = &v + return s +} + +// SetHttpVersion sets the HttpVersion field's value. +func (s *DistributionSummary) SetHttpVersion(v string) *DistributionSummary { + s.HttpVersion = &v + return s +} + +// SetId sets the Id field's value. +func (s *DistributionSummary) SetId(v string) *DistributionSummary { + s.Id = &v + return s +} + +// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. +func (s *DistributionSummary) SetIsIPV6Enabled(v bool) *DistributionSummary { + s.IsIPV6Enabled = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DistributionSummary) SetLastModifiedTime(v time.Time) *DistributionSummary { + s.LastModifiedTime = &v + return s +} + +// SetOriginGroups sets the OriginGroups field's value. +func (s *DistributionSummary) SetOriginGroups(v *OriginGroups) *DistributionSummary { + s.OriginGroups = v + return s +} + +// SetOrigins sets the Origins field's value. +func (s *DistributionSummary) SetOrigins(v *Origins) *DistributionSummary { + s.Origins = v + return s +} + +// SetPriceClass sets the PriceClass field's value. +func (s *DistributionSummary) SetPriceClass(v string) *DistributionSummary { + s.PriceClass = &v + return s +} + +// SetRestrictions sets the Restrictions field's value. +func (s *DistributionSummary) SetRestrictions(v *Restrictions) *DistributionSummary { + s.Restrictions = v + return s +} + +// SetStatus sets the Status field's value. +func (s *DistributionSummary) SetStatus(v string) *DistributionSummary { + s.Status = &v + return s +} + +// SetViewerCertificate sets the ViewerCertificate field's value. +func (s *DistributionSummary) SetViewerCertificate(v *ViewerCertificate) *DistributionSummary { + s.ViewerCertificate = v + return s +} + +// SetWebACLId sets the WebACLId field's value. +func (s *DistributionSummary) SetWebACLId(v string) *DistributionSummary { + s.WebACLId = &v + return s +} + +// Complex data type for field-level encryption profiles that includes all of +// the encryption entities. +type EncryptionEntities struct { + _ struct{} `type:"structure"` + + // An array of field patterns in a field-level encryption content type-profile + // mapping. + Items []*EncryptionEntity `locationNameList:"EncryptionEntity" type:"list"` + + // Number of field pattern items in a field-level encryption content type-profile + // mapping. // - // To delete an existing comment, update the distribution configuration and - // include an empty Comment element. + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s EncryptionEntities) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionEntities) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionEntities) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionEntities"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItems sets the Items field's value. +func (s *EncryptionEntities) SetItems(v []*EncryptionEntity) *EncryptionEntities { + s.Items = v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *EncryptionEntities) SetQuantity(v int64) *EncryptionEntities { + s.Quantity = &v + return s +} + +// Complex data type for field-level encryption profiles that includes the encryption +// key and field pattern specifications. +type EncryptionEntity struct { + _ struct{} `type:"structure"` + + // Field patterns in a field-level encryption content type profile specify the + // fields that you want to be encrypted. You can provide the full field name, + // or any beginning characters followed by a wildcard (*). You can't overlap + // field patterns. For example, you can't have both ABC* and AB*. Note that + // field patterns are case-sensitive. // - // To add or change a comment, update the distribution configuration and specify - // the new comment. + // FieldPatterns is a required field + FieldPatterns *FieldPatterns `type:"structure" required:"true"` + + // The provider associated with the public key being used for encryption. This + // value must also be provided with the private key for applications to be able + // to decrypt data. // - // Comment is a required field - Comment *string `type:"string" required:"true" sensitive:"true"` + // ProviderId is a required field + ProviderId *string `type:"string" required:"true"` + + // The public key associated with a set of field-level encryption patterns, + // to be used when encrypting the fields that match the patterns. + // + // PublicKeyId is a required field + PublicKeyId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s EncryptionEntity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionEntity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionEntity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionEntity"} + if s.FieldPatterns == nil { + invalidParams.Add(request.NewErrParamRequired("FieldPatterns")) + } + if s.ProviderId == nil { + invalidParams.Add(request.NewErrParamRequired("ProviderId")) + } + if s.PublicKeyId == nil { + invalidParams.Add(request.NewErrParamRequired("PublicKeyId")) + } + if s.FieldPatterns != nil { + if err := s.FieldPatterns.Validate(); err != nil { + invalidParams.AddNested("FieldPatterns", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFieldPatterns sets the FieldPatterns field's value. +func (s *EncryptionEntity) SetFieldPatterns(v *FieldPatterns) *EncryptionEntity { + s.FieldPatterns = v + return s +} + +// SetProviderId sets the ProviderId field's value. +func (s *EncryptionEntity) SetProviderId(v string) *EncryptionEntity { + s.ProviderId = &v + return s +} - // A complex type that controls the following: - // - // * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range - // with custom error messages before returning the response to the viewer. - // - // * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. - // - // For more information about custom error pages, see Customizing Error Responses - // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) - // in the Amazon CloudFront Developer Guide. - CustomErrorResponses *CustomErrorResponses `type:"structure"` +// SetPublicKeyId sets the PublicKeyId field's value. +func (s *EncryptionEntity) SetPublicKeyId(v string) *EncryptionEntity { + s.PublicKeyId = &v + return s +} - // A complex type that describes the default cache behavior if you don't specify - // a CacheBehavior element or if files don't match any of the values of PathPattern - // in CacheBehavior elements. You must create exactly one default cache behavior. - // - // DefaultCacheBehavior is a required field - DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` +// A complex data type that includes the profile configurations and other options +// specified for field-level encryption. +type FieldLevelEncryption struct { + _ struct{} `type:"structure"` - // The object that you want CloudFront to request from your origin (for example, - // index.html) when a viewer requests the root URL for your distribution (http://www.example.com) - // instead of an object in your distribution (http://www.example.com/product-description.html). - // Specifying a default root object avoids exposing the contents of your distribution. - // - // Specify only the object name, for example, index.html. Don't add a / before - // the object name. - // - // If you don't want to specify a default root object when you create a distribution, - // include an empty DefaultRootObject element. - // - // To delete the default root object from an existing distribution, update the - // distribution configuration and include an empty DefaultRootObject element. - // - // To replace the default root object, update the distribution configuration - // and specify the new object. + // A complex data type that includes the profile configurations specified for + // field-level encryption. // - // For more information about the default root object, see Creating a Default - // Root Object (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) - // in the Amazon CloudFront Developer Guide. - DefaultRootObject *string `type:"string"` + // FieldLevelEncryptionConfig is a required field + FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure" required:"true"` - // From this field, you can enable or disable the selected distribution. + // The configuration ID for a field-level encryption configuration which includes + // a set of profiles that specify certain selected data fields to be encrypted + // by specific public keys. // - // Enabled is a required field - Enabled *bool `type:"boolean" required:"true"` + // Id is a required field + Id *string `type:"string" required:"true"` - // (Optional) Specify the maximum HTTP version that you want viewers to use - // to communicate with CloudFront. The default value for new web distributions - // is http2. Viewers that don't support HTTP/2 automatically use an earlier - // HTTP version. - // - // For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or - // later, and must support Server Name Identification (SNI). + // The last time the field-level encryption configuration was changed. // - // In general, configuring CloudFront to communicate with viewers using HTTP/2 - // reduces latency. You can improve performance by optimizing for HTTP/2. For - // more information, do an Internet search for "http/2 optimization." - HttpVersion *string `type:"string" enum:"HttpVersion"` + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` +} - // If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address - // for your distribution, specify true. If you specify false, CloudFront responds - // to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. - // This allows viewers to submit a second request, for an IPv4 address for your - // distribution. - // - // In general, you should enable IPv6 if you have users on IPv6 networks who - // want to access your content. However, if you're using signed URLs or signed - // cookies to restrict access to your content, and if you're using a custom - // policy that includes the IpAddress parameter to restrict the IP addresses - // that can access your content, don't enable IPv6. If you want to restrict - // access to some content by IP address and not restrict access to other content - // (or restrict access but not by IP address), you can create two distributions. - // For more information, see Creating a Signed URL Using a Custom Policy (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html) - // in the Amazon CloudFront Developer Guide. +// String returns the string representation +func (s FieldLevelEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryption) GoString() string { + return s.String() +} + +// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. +func (s *FieldLevelEncryption) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *FieldLevelEncryption { + s.FieldLevelEncryptionConfig = v + return s +} + +// SetId sets the Id field's value. +func (s *FieldLevelEncryption) SetId(v string) *FieldLevelEncryption { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *FieldLevelEncryption) SetLastModifiedTime(v time.Time) *FieldLevelEncryption { + s.LastModifiedTime = &v + return s +} + +// A complex data type that includes the profile configurations specified for +// field-level encryption. +type FieldLevelEncryptionConfig struct { + _ struct{} `type:"structure"` + + // A unique number that ensures the request can't be replayed. // - // If you're using an Amazon Route 53 alias resource record set to route traffic - // to your CloudFront distribution, you need to create a second alias resource - // record set when both of the following are true: + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` + + // An optional comment about the configuration. + Comment *string `type:"string"` + + // A complex data type that specifies when to forward content if a content type + // isn't recognized and profiles to use as by default in a request if a query + // argument doesn't specify a profile to use. + ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` + + // A complex data type that specifies when to forward content if a profile isn't + // found and the profile that can be provided as a query argument in a request. + QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` +} + +// String returns the string representation +func (s FieldLevelEncryptionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryptionConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldLevelEncryptionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionConfig"} + if s.CallerReference == nil { + invalidParams.Add(request.NewErrParamRequired("CallerReference")) + } + if s.ContentTypeProfileConfig != nil { + if err := s.ContentTypeProfileConfig.Validate(); err != nil { + invalidParams.AddNested("ContentTypeProfileConfig", err.(request.ErrInvalidParams)) + } + } + if s.QueryArgProfileConfig != nil { + if err := s.QueryArgProfileConfig.Validate(); err != nil { + invalidParams.AddNested("QueryArgProfileConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCallerReference sets the CallerReference field's value. +func (s *FieldLevelEncryptionConfig) SetCallerReference(v string) *FieldLevelEncryptionConfig { + s.CallerReference = &v + return s +} + +// SetComment sets the Comment field's value. +func (s *FieldLevelEncryptionConfig) SetComment(v string) *FieldLevelEncryptionConfig { + s.Comment = &v + return s +} + +// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. +func (s *FieldLevelEncryptionConfig) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionConfig { + s.ContentTypeProfileConfig = v + return s +} + +// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. +func (s *FieldLevelEncryptionConfig) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionConfig { + s.QueryArgProfileConfig = v + return s +} + +// List of field-level encrpytion configurations. +type FieldLevelEncryptionList struct { + _ struct{} `type:"structure"` + + // An array of field-level encryption items. + Items []*FieldLevelEncryptionSummary `locationNameList:"FieldLevelEncryptionSummary" type:"list"` + + // The maximum number of elements you want in the response body. // - // * You enable IPv6 for the distribution + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If there are more elements to be listed, this element is present and contains + // the value that you can use for the Marker request parameter to continue listing + // your configurations where you left off. + NextMarker *string `type:"string"` + + // The number of field-level encryption items. // - // * You're using alternate domain names in the URLs for your objects + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s FieldLevelEncryptionList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryptionList) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *FieldLevelEncryptionList) SetItems(v []*FieldLevelEncryptionSummary) *FieldLevelEncryptionList { + s.Items = v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *FieldLevelEncryptionList) SetMaxItems(v int64) *FieldLevelEncryptionList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *FieldLevelEncryptionList) SetNextMarker(v string) *FieldLevelEncryptionList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *FieldLevelEncryptionList) SetQuantity(v int64) *FieldLevelEncryptionList { + s.Quantity = &v + return s +} + +// A complex data type for field-level encryption profiles. +type FieldLevelEncryptionProfile struct { + _ struct{} `type:"structure"` + + // A complex data type that includes the profile name and the encryption entities + // for the field-level encryption profile. // - // For more information, see Routing Traffic to an Amazon CloudFront Web Distribution - // by Using Your Domain Name (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) - // in the Amazon Route 53 Developer Guide. + // FieldLevelEncryptionProfileConfig is a required field + FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure" required:"true"` + + // The ID for a field-level encryption profile configuration which includes + // a set of profiles that specify certain selected data fields to be encrypted + // by specific public keys. // - // If you created a CNAME resource record set, either with Amazon Route 53 or - // with another DNS service, you don't need to make any changes. A CNAME record - // will route traffic to your distribution regardless of the IP address format - // of the viewer request. - IsIPV6Enabled *bool `type:"boolean"` + // Id is a required field + Id *string `type:"string" required:"true"` - // A complex type that controls whether access logs are written for the distribution. + // The last time the field-level encryption profile was updated. // - // For more information about logging, see Access Logs (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) - // in the Amazon CloudFront Developer Guide. - Logging *LoggingConfig `type:"structure"` + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` +} - // A complex type that contains information about origin groups for this distribution. - OriginGroups *OriginGroups `type:"structure"` +// String returns the string representation +func (s FieldLevelEncryptionProfile) String() string { + return awsutil.Prettify(s) +} - // A complex type that contains information about origins for this distribution. - // - // Origins is a required field - Origins *Origins `type:"structure" required:"true"` +// GoString returns the string representation +func (s FieldLevelEncryptionProfile) GoString() string { + return s.String() +} - // The price class that corresponds with the maximum price that you want to - // pay for CloudFront service. If you specify PriceClass_All, CloudFront responds - // to requests for your objects from all CloudFront edge locations. - // - // If you specify a price class other than PriceClass_All, CloudFront serves - // your objects from the CloudFront edge location that has the lowest latency - // among the edge locations in your price class. Viewers who are in or near - // regions that are excluded from your specified price class may encounter slower - // performance. +// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. +func (s *FieldLevelEncryptionProfile) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *FieldLevelEncryptionProfile { + s.FieldLevelEncryptionProfileConfig = v + return s +} + +// SetId sets the Id field's value. +func (s *FieldLevelEncryptionProfile) SetId(v string) *FieldLevelEncryptionProfile { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *FieldLevelEncryptionProfile) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfile { + s.LastModifiedTime = &v + return s +} + +// A complex data type of profiles for the field-level encryption. +type FieldLevelEncryptionProfileConfig struct { + _ struct{} `type:"structure"` + + // A unique number that ensures that the request can't be replayed. // - // For more information about price classes, see Choosing the Price Class for - // a CloudFront Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) - // in the Amazon CloudFront Developer Guide. For information about CloudFront - // pricing, including how price classes (such as Price Class 100) map to CloudFront - // regions, see Amazon CloudFront Pricing (http://aws.amazon.com/cloudfront/pricing/). - // For price class information, scroll down to see the table at the bottom of - // the page. - PriceClass *string `type:"string" enum:"PriceClass"` + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` - // A complex type that identifies ways in which you want to restrict distribution - // of your content. - Restrictions *Restrictions `type:"structure"` + // An optional comment for the field-level encryption profile. + Comment *string `type:"string"` - // A complex type that determines the distribution’s SSL/TLS configuration - // for communicating with viewers. - ViewerCertificate *ViewerCertificate `type:"structure"` + // A complex data type of encryption entities for the field-level encryption + // profile that include the public key ID, provider, and field patterns for + // specifying which fields to encrypt with this key. + // + // EncryptionEntities is a required field + EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` - // A unique identifier that specifies the AWS WAF web ACL, if any, to associate - // with this distribution. To specify a web ACL created using the latest version - // of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. - // To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example - // 473e64fd-f30b-4765-81a0-62ad96dd167a. + // Profile name for the field-level encryption profile. // - // AWS WAF is a web application firewall that lets you monitor the HTTP and - // HTTPS requests that are forwarded to CloudFront, and lets you control access - // to your content. Based on conditions that you specify, such as the IP addresses - // that requests originate from or the values of query strings, CloudFront responds - // to requests either with the requested content or with an HTTP 403 status - // code (Forbidden). You can also configure CloudFront to return a custom error - // page when a request is blocked. For more information about AWS WAF, see the - // AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html). - WebACLId *string `type:"string"` + // Name is a required field + Name *string `type:"string" required:"true"` } // String returns the string representation -func (s DistributionConfig) String() string { +func (s FieldLevelEncryptionProfileConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DistributionConfig) GoString() string { +func (s FieldLevelEncryptionProfileConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DistributionConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DistributionConfig"} +func (s *FieldLevelEncryptionProfileConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionProfileConfig"} if s.CallerReference == nil { invalidParams.Add(request.NewErrParamRequired("CallerReference")) } - if s.Comment == nil { - invalidParams.Add(request.NewErrParamRequired("Comment")) - } - if s.DefaultCacheBehavior == nil { - invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior")) - } - if s.Enabled == nil { - invalidParams.Add(request.NewErrParamRequired("Enabled")) - } - if s.Origins == nil { - invalidParams.Add(request.NewErrParamRequired("Origins")) - } - if s.Aliases != nil { - if err := s.Aliases.Validate(); err != nil { - invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams)) - } - } - if s.CacheBehaviors != nil { - if err := s.CacheBehaviors.Validate(); err != nil { - invalidParams.AddNested("CacheBehaviors", err.(request.ErrInvalidParams)) - } - } - if s.CustomErrorResponses != nil { - if err := s.CustomErrorResponses.Validate(); err != nil { - invalidParams.AddNested("CustomErrorResponses", err.(request.ErrInvalidParams)) - } - } - if s.DefaultCacheBehavior != nil { - if err := s.DefaultCacheBehavior.Validate(); err != nil { - invalidParams.AddNested("DefaultCacheBehavior", err.(request.ErrInvalidParams)) - } - } - if s.Logging != nil { - if err := s.Logging.Validate(); err != nil { - invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) - } - } - if s.OriginGroups != nil { - if err := s.OriginGroups.Validate(); err != nil { - invalidParams.AddNested("OriginGroups", err.(request.ErrInvalidParams)) - } + if s.EncryptionEntities == nil { + invalidParams.Add(request.NewErrParamRequired("EncryptionEntities")) } - if s.Origins != nil { - if err := s.Origins.Validate(); err != nil { - invalidParams.AddNested("Origins", err.(request.ErrInvalidParams)) - } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.Restrictions != nil { - if err := s.Restrictions.Validate(); err != nil { - invalidParams.AddNested("Restrictions", err.(request.ErrInvalidParams)) + if s.EncryptionEntities != nil { + if err := s.EncryptionEntities.Validate(); err != nil { + invalidParams.AddNested("EncryptionEntities", err.(request.ErrInvalidParams)) } } @@ -8151,152 +11636,251 @@ func (s *DistributionConfig) Validate() error { return nil } -// SetAliases sets the Aliases field's value. -func (s *DistributionConfig) SetAliases(v *Aliases) *DistributionConfig { - s.Aliases = v +// SetCallerReference sets the CallerReference field's value. +func (s *FieldLevelEncryptionProfileConfig) SetCallerReference(v string) *FieldLevelEncryptionProfileConfig { + s.CallerReference = &v + return s +} + +// SetComment sets the Comment field's value. +func (s *FieldLevelEncryptionProfileConfig) SetComment(v string) *FieldLevelEncryptionProfileConfig { + s.Comment = &v + return s +} + +// SetEncryptionEntities sets the EncryptionEntities field's value. +func (s *FieldLevelEncryptionProfileConfig) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileConfig { + s.EncryptionEntities = v + return s +} + +// SetName sets the Name field's value. +func (s *FieldLevelEncryptionProfileConfig) SetName(v string) *FieldLevelEncryptionProfileConfig { + s.Name = &v + return s +} + +// List of field-level encryption profiles. +type FieldLevelEncryptionProfileList struct { + _ struct{} `type:"structure"` + + // The field-level encryption profile items. + Items []*FieldLevelEncryptionProfileSummary `locationNameList:"FieldLevelEncryptionProfileSummary" type:"list"` + + // The maximum number of field-level encryption profiles you want in the response + // body. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If there are more elements to be listed, this element is present and contains + // the value that you can use for the Marker request parameter to continue listing + // your profiles where you left off. + NextMarker *string `type:"string"` + + // The number of field-level encryption profiles. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s FieldLevelEncryptionProfileList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryptionProfileList) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *FieldLevelEncryptionProfileList) SetItems(v []*FieldLevelEncryptionProfileSummary) *FieldLevelEncryptionProfileList { + s.Items = v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *FieldLevelEncryptionProfileList) SetMaxItems(v int64) *FieldLevelEncryptionProfileList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *FieldLevelEncryptionProfileList) SetNextMarker(v string) *FieldLevelEncryptionProfileList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *FieldLevelEncryptionProfileList) SetQuantity(v int64) *FieldLevelEncryptionProfileList { + s.Quantity = &v return s } -// SetCacheBehaviors sets the CacheBehaviors field's value. -func (s *DistributionConfig) SetCacheBehaviors(v *CacheBehaviors) *DistributionConfig { - s.CacheBehaviors = v - return s +// The field-level encryption profile summary. +type FieldLevelEncryptionProfileSummary struct { + _ struct{} `type:"structure"` + + // An optional comment for the field-level encryption profile summary. + Comment *string `type:"string"` + + // A complex data type of encryption entities for the field-level encryption + // profile that include the public key ID, provider, and field patterns for + // specifying which fields to encrypt with this key. + // + // EncryptionEntities is a required field + EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` + + // ID for the field-level encryption profile summary. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The time when the the field-level encryption profile summary was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // Name for the field-level encryption profile summary. + // + // Name is a required field + Name *string `type:"string" required:"true"` } -// SetCallerReference sets the CallerReference field's value. -func (s *DistributionConfig) SetCallerReference(v string) *DistributionConfig { - s.CallerReference = &v - return s +// String returns the string representation +func (s FieldLevelEncryptionProfileSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryptionProfileSummary) GoString() string { + return s.String() } // SetComment sets the Comment field's value. -func (s *DistributionConfig) SetComment(v string) *DistributionConfig { +func (s *FieldLevelEncryptionProfileSummary) SetComment(v string) *FieldLevelEncryptionProfileSummary { s.Comment = &v return s } -// SetCustomErrorResponses sets the CustomErrorResponses field's value. -func (s *DistributionConfig) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionConfig { - s.CustomErrorResponses = v +// SetEncryptionEntities sets the EncryptionEntities field's value. +func (s *FieldLevelEncryptionProfileSummary) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileSummary { + s.EncryptionEntities = v return s } -// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. -func (s *DistributionConfig) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionConfig { - s.DefaultCacheBehavior = v +// SetId sets the Id field's value. +func (s *FieldLevelEncryptionProfileSummary) SetId(v string) *FieldLevelEncryptionProfileSummary { + s.Id = &v return s } -// SetDefaultRootObject sets the DefaultRootObject field's value. -func (s *DistributionConfig) SetDefaultRootObject(v string) *DistributionConfig { - s.DefaultRootObject = &v +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *FieldLevelEncryptionProfileSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfileSummary { + s.LastModifiedTime = &v return s } -// SetEnabled sets the Enabled field's value. -func (s *DistributionConfig) SetEnabled(v bool) *DistributionConfig { - s.Enabled = &v +// SetName sets the Name field's value. +func (s *FieldLevelEncryptionProfileSummary) SetName(v string) *FieldLevelEncryptionProfileSummary { + s.Name = &v return s } -// SetHttpVersion sets the HttpVersion field's value. -func (s *DistributionConfig) SetHttpVersion(v string) *DistributionConfig { - s.HttpVersion = &v - return s -} +// A summary of a field-level encryption item. +type FieldLevelEncryptionSummary struct { + _ struct{} `type:"structure"` -// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. -func (s *DistributionConfig) SetIsIPV6Enabled(v bool) *DistributionConfig { - s.IsIPV6Enabled = &v - return s + // An optional comment about the field-level encryption item. + Comment *string `type:"string"` + + // A summary of a content type-profile mapping. + ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` + + // The unique ID of a field-level encryption item. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The last time that the summary of field-level encryption items was modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // A summary of a query argument-profile mapping. + QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` } -// SetLogging sets the Logging field's value. -func (s *DistributionConfig) SetLogging(v *LoggingConfig) *DistributionConfig { - s.Logging = v - return s +// String returns the string representation +func (s FieldLevelEncryptionSummary) String() string { + return awsutil.Prettify(s) } -// SetOriginGroups sets the OriginGroups field's value. -func (s *DistributionConfig) SetOriginGroups(v *OriginGroups) *DistributionConfig { - s.OriginGroups = v - return s +// GoString returns the string representation +func (s FieldLevelEncryptionSummary) GoString() string { + return s.String() } -// SetOrigins sets the Origins field's value. -func (s *DistributionConfig) SetOrigins(v *Origins) *DistributionConfig { - s.Origins = v +// SetComment sets the Comment field's value. +func (s *FieldLevelEncryptionSummary) SetComment(v string) *FieldLevelEncryptionSummary { + s.Comment = &v return s } -// SetPriceClass sets the PriceClass field's value. -func (s *DistributionConfig) SetPriceClass(v string) *DistributionConfig { - s.PriceClass = &v +// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. +func (s *FieldLevelEncryptionSummary) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionSummary { + s.ContentTypeProfileConfig = v return s } -// SetRestrictions sets the Restrictions field's value. -func (s *DistributionConfig) SetRestrictions(v *Restrictions) *DistributionConfig { - s.Restrictions = v +// SetId sets the Id field's value. +func (s *FieldLevelEncryptionSummary) SetId(v string) *FieldLevelEncryptionSummary { + s.Id = &v return s } -// SetViewerCertificate sets the ViewerCertificate field's value. -func (s *DistributionConfig) SetViewerCertificate(v *ViewerCertificate) *DistributionConfig { - s.ViewerCertificate = v +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *FieldLevelEncryptionSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionSummary { + s.LastModifiedTime = &v return s } -// SetWebACLId sets the WebACLId field's value. -func (s *DistributionConfig) SetWebACLId(v string) *DistributionConfig { - s.WebACLId = &v +// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. +func (s *FieldLevelEncryptionSummary) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionSummary { + s.QueryArgProfileConfig = v return s } -// A distribution Configuration and a list of tags to be associated with the -// distribution. -type DistributionConfigWithTags struct { +// A complex data type that includes the field patterns to match for field-level +// encryption. +type FieldPatterns struct { _ struct{} `type:"structure"` - // A distribution configuration. - // - // DistributionConfig is a required field - DistributionConfig *DistributionConfig `type:"structure" required:"true"` + // An array of the field-level encryption field patterns. + Items []*string `locationNameList:"FieldPattern" type:"list"` - // A complex type that contains zero or more Tag elements. + // The number of field-level encryption field patterns. // - // Tags is a required field - Tags *Tags `type:"structure" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s DistributionConfigWithTags) String() string { +func (s FieldPatterns) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DistributionConfigWithTags) GoString() string { +func (s FieldPatterns) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DistributionConfigWithTags) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DistributionConfigWithTags"} - if s.DistributionConfig == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) - } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) - } - if s.DistributionConfig != nil { - if err := s.DistributionConfig.Validate(); err != nil { - invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - if err := s.Tags.Validate(); err != nil { - invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) - } +func (s *FieldPatterns) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldPatterns"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } if invalidParams.Len() > 0 { @@ -8305,391 +11889,466 @@ func (s *DistributionConfigWithTags) Validate() error { return nil } -// SetDistributionConfig sets the DistributionConfig field's value. -func (s *DistributionConfigWithTags) SetDistributionConfig(v *DistributionConfig) *DistributionConfigWithTags { - s.DistributionConfig = v +// SetItems sets the Items field's value. +func (s *FieldPatterns) SetItems(v []*string) *FieldPatterns { + s.Items = v return s } -// SetTags sets the Tags field's value. -func (s *DistributionConfigWithTags) SetTags(v *Tags) *DistributionConfigWithTags { - s.Tags = v +// SetQuantity sets the Quantity field's value. +func (s *FieldPatterns) SetQuantity(v int64) *FieldPatterns { + s.Quantity = &v return s } -// A distribution list. -type DistributionList struct { +// This field is deprecated. We recommend that you use a cache policy or an +// origin request policy instead of this field. +// +// If you want to include values in the cache key, use a cache policy. For more +// information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) +// in the Amazon CloudFront Developer Guide. +// +// If you want to send values to the origin but not include them in the cache +// key, use an origin request policy. For more information, see Creating origin +// request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) +// in the Amazon CloudFront Developer Guide. +// +// A complex type that specifies how CloudFront handles query strings, cookies, +// and HTTP headers. +type ForwardedValues struct { _ struct{} `type:"structure"` - // A flag that indicates whether more distributions remain to be listed. If - // your results were truncated, you can make a follow-up pagination request - // using the Marker request parameter to retrieve more distributions in the - // list. + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. + // + // If you want to include cookies in the cache key, use a cache policy. For + // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send cookies to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. + // + // A complex type that specifies whether you want CloudFront to forward cookies + // to the origin and, if so, which ones. For more information about forwarding + // cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) + // in the Amazon CloudFront Developer Guide. + // + // Cookies is a required field + Cookies *CookiePreference `type:"structure" required:"true"` + + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. + // + // If you want to include headers in the cache key, use a cache policy. For + // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send headers to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. + // + // A complex type that specifies the Headers, if any, that you want CloudFront + // to forward to the origin for this cache behavior (whitelisted headers). For + // the headers that you specify, CloudFront also caches separate versions of + // a specified object that is based on the header values in viewer requests. + // + // For more information, see Caching Content Based on Request Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) + // in the Amazon CloudFront Developer Guide. + Headers *Headers `type:"structure"` + + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. + // + // If you want to include query strings in the cache key, use a cache policy. + // For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send query strings to the origin but not include them in the + // cache key, use an origin request policy. For more information, see Creating + // origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. + // + // Indicates whether you want CloudFront to forward query strings to the origin + // that is associated with this cache behavior and cache based on the query + // string parameters. CloudFront behavior depends on the value of QueryString + // and on the values that you specify for QueryStringCacheKeys, if any: // - // IsTruncated is a required field - IsTruncated *bool `type:"boolean" required:"true"` - - // A complex type that contains one DistributionSummary element for each distribution - // that was created by the current AWS account. - Items []*DistributionSummary `locationNameList:"DistributionSummary" type:"list"` - - // The value you provided for the Marker request parameter. + // If you specify true for QueryString and you don't specify any values for + // QueryStringCacheKeys, CloudFront forwards all query string parameters to + // the origin and caches based on all query string parameters. Depending on + // how many query string parameters and values you have, this can adversely + // affect performance because CloudFront must forward more requests to the origin. // - // Marker is a required field - Marker *string `type:"string" required:"true"` - - // The value you provided for the MaxItems request parameter. + // If you specify true for QueryString and you specify one or more values for + // QueryStringCacheKeys, CloudFront forwards all query string parameters to + // the origin, but it only caches based on the query string parameters that + // you specify. // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` - - // If IsTruncated is true, this element is present and contains the value you - // can use for the Marker request parameter to continue listing your distributions - // where they left off. - NextMarker *string `type:"string"` + // If you specify false for QueryString, CloudFront doesn't forward any query + // string parameters to the origin, and doesn't cache based on query string + // parameters. + // + // For more information, see Configuring CloudFront to Cache Based on Query + // String Parameters (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) + // in the Amazon CloudFront Developer Guide. + // + // QueryString is a required field + QueryString *bool `type:"boolean" required:"true"` - // The number of distributions that were created by the current AWS account. + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // If you want to include query strings in the cache key, use a cache policy. + // For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send query strings to the origin but not include them in the + // cache key, use an origin request policy. For more information, see Creating + // origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. + // + // A complex type that contains information about the query string parameters + // that you want CloudFront to use for caching for this cache behavior. + QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"` } // String returns the string representation -func (s DistributionList) String() string { +func (s ForwardedValues) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DistributionList) GoString() string { +func (s ForwardedValues) GoString() string { return s.String() } -// SetIsTruncated sets the IsTruncated field's value. -func (s *DistributionList) SetIsTruncated(v bool) *DistributionList { - s.IsTruncated = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ForwardedValues) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ForwardedValues"} + if s.Cookies == nil { + invalidParams.Add(request.NewErrParamRequired("Cookies")) + } + if s.QueryString == nil { + invalidParams.Add(request.NewErrParamRequired("QueryString")) + } + if s.Cookies != nil { + if err := s.Cookies.Validate(); err != nil { + invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) + } + } + if s.Headers != nil { + if err := s.Headers.Validate(); err != nil { + invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) + } + } + if s.QueryStringCacheKeys != nil { + if err := s.QueryStringCacheKeys.Validate(); err != nil { + invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams)) + } + } -// SetItems sets the Items field's value. -func (s *DistributionList) SetItems(v []*DistributionSummary) *DistributionList { - s.Items = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetMarker sets the Marker field's value. -func (s *DistributionList) SetMarker(v string) *DistributionList { - s.Marker = &v +// SetCookies sets the Cookies field's value. +func (s *ForwardedValues) SetCookies(v *CookiePreference) *ForwardedValues { + s.Cookies = v return s } -// SetMaxItems sets the MaxItems field's value. -func (s *DistributionList) SetMaxItems(v int64) *DistributionList { - s.MaxItems = &v +// SetHeaders sets the Headers field's value. +func (s *ForwardedValues) SetHeaders(v *Headers) *ForwardedValues { + s.Headers = v return s } -// SetNextMarker sets the NextMarker field's value. -func (s *DistributionList) SetNextMarker(v string) *DistributionList { - s.NextMarker = &v +// SetQueryString sets the QueryString field's value. +func (s *ForwardedValues) SetQueryString(v bool) *ForwardedValues { + s.QueryString = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *DistributionList) SetQuantity(v int64) *DistributionList { - s.Quantity = &v +// SetQueryStringCacheKeys sets the QueryStringCacheKeys field's value. +func (s *ForwardedValues) SetQueryStringCacheKeys(v *QueryStringCacheKeys) *ForwardedValues { + s.QueryStringCacheKeys = v return s } -// A summary of the information about a CloudFront distribution. -type DistributionSummary struct { +// A complex type that controls the countries in which your content is distributed. +// CloudFront determines the location of your users using MaxMind GeoIP databases. +type GeoRestriction struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, - // where 123456789012 is your AWS account ID. - // - // ARN is a required field - ARN *string `type:"string" required:"true"` - - // AWS services in China customers must file for an Internet Content Provider - // (ICP) recordal if they want to serve content publicly on an alternate domain - // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal - // provides the ICP recordal status for CNAMEs associated with distributions. - // - // For more information about ICP recordals, see Signup, Accounts, and Credentials - // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) - // in Getting Started with AWS services in China. - AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` - - // A complex type that contains information about CNAMEs (alternate domain names), - // if any, for this distribution. - // - // Aliases is a required field - Aliases *Aliases `type:"structure" required:"true"` - - // A complex type that contains zero or more CacheBehavior elements. - // - // CacheBehaviors is a required field - CacheBehaviors *CacheBehaviors `type:"structure" required:"true"` - - // The comment originally specified when this distribution was created. + // A complex type that contains a Location element for each country in which + // you want CloudFront either to distribute your content (whitelist) or not + // distribute your content (blacklist). // - // Comment is a required field - Comment *string `type:"string" required:"true"` - - // A complex type that contains zero or more CustomErrorResponses elements. + // The Location element is a two-letter, uppercase country code for a country + // that you want to include in your blacklist or whitelist. Include one Location + // element for each country. // - // CustomErrorResponses is a required field - CustomErrorResponses *CustomErrorResponses `type:"structure" required:"true"` + // CloudFront and MaxMind both use ISO 3166 country codes. For the current list + // of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on + // the International Organization for Standardization website. You can also + // refer to the country list on the CloudFront console, which includes both + // country names and codes. + Items []*string `locationNameList:"Location" type:"list"` - // A complex type that describes the default cache behavior if you don't specify - // a CacheBehavior element or if files don't match any of the values of PathPattern - // in CacheBehavior elements. You must create exactly one default cache behavior. + // When geo restriction is enabled, this is the number of countries in your + // whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, + // and you can omit Items. // - // DefaultCacheBehavior is a required field - DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` - // The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net. + // The method that you want to use to restrict distribution of your content + // by country: // - // DomainName is a required field - DomainName *string `type:"string" required:"true"` - - // Whether the distribution is enabled to accept user requests for content. + // * none: No geo restriction is enabled, meaning access to content is not + // restricted by client geo location. // - // Enabled is a required field - Enabled *bool `type:"boolean" required:"true"` - - // Specify the maximum HTTP version that you want viewers to use to communicate - // with CloudFront. The default value for new web distributions is http2. Viewers - // that don't support HTTP/2 will automatically use an earlier version. + // * blacklist: The Location elements specify the countries in which you + // don't want CloudFront to distribute your content. // - // HttpVersion is a required field - HttpVersion *string `type:"string" required:"true" enum:"HttpVersion"` - - // The identifier for the distribution. For example: EDFDVBD632BHDS5. + // * whitelist: The Location elements specify the countries in which you + // want CloudFront to distribute your content. // - // Id is a required field - Id *string `type:"string" required:"true"` + // RestrictionType is a required field + RestrictionType *string `type:"string" required:"true" enum:"GeoRestrictionType"` +} - // Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for - // your distribution. - // - // IsIPV6Enabled is a required field - IsIPV6Enabled *bool `type:"boolean" required:"true"` +// String returns the string representation +func (s GeoRestriction) String() string { + return awsutil.Prettify(s) +} - // The date and time the distribution was last modified. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` +// GoString returns the string representation +func (s GeoRestriction) GoString() string { + return s.String() +} - // A complex type that contains information about origin groups for this distribution. - OriginGroups *OriginGroups `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *GeoRestriction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GeoRestriction"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.RestrictionType == nil { + invalidParams.Add(request.NewErrParamRequired("RestrictionType")) + } - // A complex type that contains information about origins for this distribution. - // - // Origins is a required field - Origins *Origins `type:"structure" required:"true"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // A complex type that contains information about price class for this streaming - // distribution. - // - // PriceClass is a required field - PriceClass *string `type:"string" required:"true" enum:"PriceClass"` +// SetItems sets the Items field's value. +func (s *GeoRestriction) SetItems(v []*string) *GeoRestriction { + s.Items = v + return s +} - // A complex type that identifies ways in which you want to restrict distribution - // of your content. - // - // Restrictions is a required field - Restrictions *Restrictions `type:"structure" required:"true"` +// SetQuantity sets the Quantity field's value. +func (s *GeoRestriction) SetQuantity(v int64) *GeoRestriction { + s.Quantity = &v + return s +} - // The current status of the distribution. When the status is Deployed, the - // distribution's information is propagated to all CloudFront edge locations. - // - // Status is a required field - Status *string `type:"string" required:"true"` +// SetRestrictionType sets the RestrictionType field's value. +func (s *GeoRestriction) SetRestrictionType(v string) *GeoRestriction { + s.RestrictionType = &v + return s +} - // A complex type that determines the distribution’s SSL/TLS configuration - // for communicating with viewers. - // - // ViewerCertificate is a required field - ViewerCertificate *ViewerCertificate `type:"structure" required:"true"` +type GetCachePolicyConfigInput struct { + _ struct{} `locationName:"GetCachePolicyConfigRequest" type:"structure"` - // The Web ACL Id (if any) associated with the distribution. + // The unique identifier for the cache policy. If the cache policy is attached + // to a distribution’s cache behavior, you can get the policy’s identifier + // using ListDistributions or GetDistribution. If the cache policy is not attached + // to a cache behavior, you can get the identifier using ListCachePolicies. // - // WebACLId is a required field - WebACLId *string `type:"string" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s DistributionSummary) String() string { +func (s GetCachePolicyConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DistributionSummary) GoString() string { +func (s GetCachePolicyConfigInput) GoString() string { return s.String() } -// SetARN sets the ARN field's value. -func (s *DistributionSummary) SetARN(v string) *DistributionSummary { - s.ARN = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCachePolicyConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCachePolicyConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } -// SetAliasICPRecordals sets the AliasICPRecordals field's value. -func (s *DistributionSummary) SetAliasICPRecordals(v []*AliasICPRecordal) *DistributionSummary { - s.AliasICPRecordals = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetAliases sets the Aliases field's value. -func (s *DistributionSummary) SetAliases(v *Aliases) *DistributionSummary { - s.Aliases = v +// SetId sets the Id field's value. +func (s *GetCachePolicyConfigInput) SetId(v string) *GetCachePolicyConfigInput { + s.Id = &v return s } -// SetCacheBehaviors sets the CacheBehaviors field's value. -func (s *DistributionSummary) SetCacheBehaviors(v *CacheBehaviors) *DistributionSummary { - s.CacheBehaviors = v - return s -} +type GetCachePolicyConfigOutput struct { + _ struct{} `type:"structure" payload:"CachePolicyConfig"` -// SetComment sets the Comment field's value. -func (s *DistributionSummary) SetComment(v string) *DistributionSummary { - s.Comment = &v - return s -} + // The cache policy configuration. + CachePolicyConfig *CachePolicyConfig `type:"structure"` -// SetCustomErrorResponses sets the CustomErrorResponses field's value. -func (s *DistributionSummary) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionSummary { - s.CustomErrorResponses = v - return s + // The current version of the cache policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` } -// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. -func (s *DistributionSummary) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionSummary { - s.DefaultCacheBehavior = v - return s +// String returns the string representation +func (s GetCachePolicyConfigOutput) String() string { + return awsutil.Prettify(s) } -// SetDomainName sets the DomainName field's value. -func (s *DistributionSummary) SetDomainName(v string) *DistributionSummary { - s.DomainName = &v - return s +// GoString returns the string representation +func (s GetCachePolicyConfigOutput) GoString() string { + return s.String() } -// SetEnabled sets the Enabled field's value. -func (s *DistributionSummary) SetEnabled(v bool) *DistributionSummary { - s.Enabled = &v +// SetCachePolicyConfig sets the CachePolicyConfig field's value. +func (s *GetCachePolicyConfigOutput) SetCachePolicyConfig(v *CachePolicyConfig) *GetCachePolicyConfigOutput { + s.CachePolicyConfig = v return s } -// SetHttpVersion sets the HttpVersion field's value. -func (s *DistributionSummary) SetHttpVersion(v string) *DistributionSummary { - s.HttpVersion = &v +// SetETag sets the ETag field's value. +func (s *GetCachePolicyConfigOutput) SetETag(v string) *GetCachePolicyConfigOutput { + s.ETag = &v return s } -// SetId sets the Id field's value. -func (s *DistributionSummary) SetId(v string) *DistributionSummary { - s.Id = &v - return s +type GetCachePolicyInput struct { + _ struct{} `locationName:"GetCachePolicyRequest" type:"structure"` + + // The unique identifier for the cache policy. If the cache policy is attached + // to a distribution’s cache behavior, you can get the policy’s identifier + // using ListDistributions or GetDistribution. If the cache policy is not attached + // to a cache behavior, you can get the identifier using ListCachePolicies. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } -// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. -func (s *DistributionSummary) SetIsIPV6Enabled(v bool) *DistributionSummary { - s.IsIPV6Enabled = &v - return s +// String returns the string representation +func (s GetCachePolicyInput) String() string { + return awsutil.Prettify(s) } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *DistributionSummary) SetLastModifiedTime(v time.Time) *DistributionSummary { - s.LastModifiedTime = &v - return s +// GoString returns the string representation +func (s GetCachePolicyInput) GoString() string { + return s.String() } -// SetOriginGroups sets the OriginGroups field's value. -func (s *DistributionSummary) SetOriginGroups(v *OriginGroups) *DistributionSummary { - s.OriginGroups = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCachePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCachePolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetOrigins sets the Origins field's value. -func (s *DistributionSummary) SetOrigins(v *Origins) *DistributionSummary { - s.Origins = v +// SetId sets the Id field's value. +func (s *GetCachePolicyInput) SetId(v string) *GetCachePolicyInput { + s.Id = &v return s } -// SetPriceClass sets the PriceClass field's value. -func (s *DistributionSummary) SetPriceClass(v string) *DistributionSummary { - s.PriceClass = &v - return s +type GetCachePolicyOutput struct { + _ struct{} `type:"structure" payload:"CachePolicy"` + + // The cache policy. + CachePolicy *CachePolicy `type:"structure"` + + // The current version of the cache policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` } -// SetRestrictions sets the Restrictions field's value. -func (s *DistributionSummary) SetRestrictions(v *Restrictions) *DistributionSummary { - s.Restrictions = v - return s +// String returns the string representation +func (s GetCachePolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetStatus sets the Status field's value. -func (s *DistributionSummary) SetStatus(v string) *DistributionSummary { - s.Status = &v - return s +// GoString returns the string representation +func (s GetCachePolicyOutput) GoString() string { + return s.String() } -// SetViewerCertificate sets the ViewerCertificate field's value. -func (s *DistributionSummary) SetViewerCertificate(v *ViewerCertificate) *DistributionSummary { - s.ViewerCertificate = v +// SetCachePolicy sets the CachePolicy field's value. +func (s *GetCachePolicyOutput) SetCachePolicy(v *CachePolicy) *GetCachePolicyOutput { + s.CachePolicy = v return s } -// SetWebACLId sets the WebACLId field's value. -func (s *DistributionSummary) SetWebACLId(v string) *DistributionSummary { - s.WebACLId = &v +// SetETag sets the ETag field's value. +func (s *GetCachePolicyOutput) SetETag(v string) *GetCachePolicyOutput { + s.ETag = &v return s } -// Complex data type for field-level encryption profiles that includes all of -// the encryption entities. -type EncryptionEntities struct { - _ struct{} `type:"structure"` - - // An array of field patterns in a field-level encryption content type-profile - // mapping. - Items []*EncryptionEntity `locationNameList:"EncryptionEntity" type:"list"` +// The origin access identity's configuration information. For more information, +// see CloudFrontOriginAccessIdentityConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CloudFrontOriginAccessIdentityConfig.html). +type GetCloudFrontOriginAccessIdentityConfigInput struct { + _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityConfigRequest" type:"structure"` - // Number of field pattern items in a field-level encryption content type-profile - // mapping. + // The identity's ID. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s EncryptionEntities) String() string { +func (s GetCloudFrontOriginAccessIdentityConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptionEntities) GoString() string { +func (s GetCloudFrontOriginAccessIdentityConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EncryptionEntities) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncryptionEntities"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) +func (s *GetCloudFrontOriginAccessIdentityConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -8698,72 +12357,73 @@ func (s *EncryptionEntities) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *EncryptionEntities) SetItems(v []*EncryptionEntity) *EncryptionEntities { - s.Items = v +// SetId sets the Id field's value. +func (s *GetCloudFrontOriginAccessIdentityConfigInput) SetId(v string) *GetCloudFrontOriginAccessIdentityConfigInput { + s.Id = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *EncryptionEntities) SetQuantity(v int64) *EncryptionEntities { - s.Quantity = &v - return s +// The returned result of the corresponding request. +type GetCloudFrontOriginAccessIdentityConfigOutput struct { + _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` + + // The origin access identity's configuration information. + CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` + + // The current version of the configuration. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` } -// Complex data type for field-level encryption profiles that includes the encryption -// key and field pattern specifications. -type EncryptionEntity struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s GetCloudFrontOriginAccessIdentityConfigOutput) String() string { + return awsutil.Prettify(s) +} - // Field patterns in a field-level encryption content type profile specify the - // fields that you want to be encrypted. You can provide the full field name, - // or any beginning characters followed by a wildcard (*). You can't overlap - // field patterns. For example, you can't have both ABC* and AB*. Note that - // field patterns are case-sensitive. - // - // FieldPatterns is a required field - FieldPatterns *FieldPatterns `type:"structure" required:"true"` +// GoString returns the string representation +func (s GetCloudFrontOriginAccessIdentityConfigOutput) GoString() string { + return s.String() +} - // The provider associated with the public key being used for encryption. This - // value must also be provided with the private key for applications to be able - // to decrypt data. - // - // ProviderId is a required field - ProviderId *string `type:"string" required:"true"` +// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. +func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *GetCloudFrontOriginAccessIdentityConfigOutput { + s.CloudFrontOriginAccessIdentityConfig = v + return s +} - // The public key associated with a set of field-level encryption patterns, - // to be used when encrypting the fields that match the patterns. +// SetETag sets the ETag field's value. +func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityConfigOutput { + s.ETag = &v + return s +} + +// The request to get an origin access identity's information. +type GetCloudFrontOriginAccessIdentityInput struct { + _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityRequest" type:"structure"` + + // The identity's ID. // - // PublicKeyId is a required field - PublicKeyId *string `type:"string" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s EncryptionEntity) String() string { +func (s GetCloudFrontOriginAccessIdentityInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptionEntity) GoString() string { +func (s GetCloudFrontOriginAccessIdentityInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EncryptionEntity) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncryptionEntity"} - if s.FieldPatterns == nil { - invalidParams.Add(request.NewErrParamRequired("FieldPatterns")) - } - if s.ProviderId == nil { - invalidParams.Add(request.NewErrParamRequired("ProviderId")) - } - if s.PublicKeyId == nil { - invalidParams.Add(request.NewErrParamRequired("PublicKeyId")) +func (s *GetCloudFrontOriginAccessIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.FieldPatterns != nil { - if err := s.FieldPatterns.Validate(); err != nil { - invalidParams.AddNested("FieldPatterns", err.(request.ErrInvalidParams)) - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -8772,124 +12432,151 @@ func (s *EncryptionEntity) Validate() error { return nil } -// SetFieldPatterns sets the FieldPatterns field's value. -func (s *EncryptionEntity) SetFieldPatterns(v *FieldPatterns) *EncryptionEntity { - s.FieldPatterns = v +// SetId sets the Id field's value. +func (s *GetCloudFrontOriginAccessIdentityInput) SetId(v string) *GetCloudFrontOriginAccessIdentityInput { + s.Id = &v return s } -// SetProviderId sets the ProviderId field's value. -func (s *EncryptionEntity) SetProviderId(v string) *EncryptionEntity { - s.ProviderId = &v - return s +// The returned result of the corresponding request. +type GetCloudFrontOriginAccessIdentityOutput struct { + _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` + + // The origin access identity's information. + CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` + + // The current version of the origin access identity's information. For example: + // E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` } -// SetPublicKeyId sets the PublicKeyId field's value. -func (s *EncryptionEntity) SetPublicKeyId(v string) *EncryptionEntity { - s.PublicKeyId = &v +// String returns the string representation +func (s GetCloudFrontOriginAccessIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCloudFrontOriginAccessIdentityOutput) GoString() string { + return s.String() +} + +// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. +func (s *GetCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *GetCloudFrontOriginAccessIdentityOutput { + s.CloudFrontOriginAccessIdentity = v return s } -// A complex data type that includes the profile configurations and other options -// specified for field-level encryption. -type FieldLevelEncryption struct { - _ struct{} `type:"structure"` +// SetETag sets the ETag field's value. +func (s *GetCloudFrontOriginAccessIdentityOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityOutput { + s.ETag = &v + return s +} - // A complex data type that includes the profile configurations specified for - // field-level encryption. - // - // FieldLevelEncryptionConfig is a required field - FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure" required:"true"` +// The request to get a distribution configuration. +type GetDistributionConfigInput struct { + _ struct{} `locationName:"GetDistributionConfigRequest" type:"structure"` - // The configuration ID for a field-level encryption configuration which includes - // a set of profiles that specify certain selected data fields to be encrypted - // by specific public keys. + // The distribution's ID. If the ID is empty, an empty distribution configuration + // is returned. // // Id is a required field - Id *string `type:"string" required:"true"` - - // The last time the field-level encryption configuration was changed. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryption) String() string { +func (s GetDistributionConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryption) GoString() string { +func (s GetDistributionConfigInput) GoString() string { return s.String() } -// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. -func (s *FieldLevelEncryption) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *FieldLevelEncryption { - s.FieldLevelEncryptionConfig = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDistributionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetId sets the Id field's value. -func (s *FieldLevelEncryption) SetId(v string) *FieldLevelEncryption { +func (s *GetDistributionConfigInput) SetId(v string) *GetDistributionConfigInput { s.Id = &v return s } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *FieldLevelEncryption) SetLastModifiedTime(v time.Time) *FieldLevelEncryption { - s.LastModifiedTime = &v - return s +// The returned result of the corresponding request. +type GetDistributionConfigOutput struct { + _ struct{} `type:"structure" payload:"DistributionConfig"` + + // The distribution's configuration information. + DistributionConfig *DistributionConfig `type:"structure"` + + // The current version of the configuration. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` } -// A complex data type that includes the profile configurations specified for -// field-level encryption. -type FieldLevelEncryptionConfig struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s GetDistributionConfigOutput) String() string { + return awsutil.Prettify(s) +} - // A unique number that ensures the request can't be replayed. - // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` +// GoString returns the string representation +func (s GetDistributionConfigOutput) GoString() string { + return s.String() +} - // An optional comment about the configuration. - Comment *string `type:"string"` +// SetDistributionConfig sets the DistributionConfig field's value. +func (s *GetDistributionConfigOutput) SetDistributionConfig(v *DistributionConfig) *GetDistributionConfigOutput { + s.DistributionConfig = v + return s +} - // A complex data type that specifies when to forward content if a content type - // isn't recognized and profiles to use as by default in a request if a query - // argument doesn't specify a profile to use. - ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` +// SetETag sets the ETag field's value. +func (s *GetDistributionConfigOutput) SetETag(v string) *GetDistributionConfigOutput { + s.ETag = &v + return s +} - // A complex data type that specifies when to forward content if a profile isn't - // found and the profile that can be provided as a query argument in a request. - QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` +// The request to get a distribution's information. +type GetDistributionInput struct { + _ struct{} `locationName:"GetDistributionRequest" type:"structure"` + + // The distribution's ID. If the ID is empty, an empty distribution configuration + // is returned. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionConfig) String() string { +func (s GetDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionConfig) GoString() string { +func (s GetDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FieldLevelEncryptionConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionConfig"} - if s.CallerReference == nil { - invalidParams.Add(request.NewErrParamRequired("CallerReference")) - } - if s.ContentTypeProfileConfig != nil { - if err := s.ContentTypeProfileConfig.Validate(); err != nil { - invalidParams.AddNested("ContentTypeProfileConfig", err.(request.ErrInvalidParams)) - } +func (s *GetDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDistributionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.QueryArgProfileConfig != nil { - if err := s.QueryArgProfileConfig.Validate(); err != nil { - invalidParams.AddNested("QueryArgProfileConfig", err.(request.ErrInvalidParams)) - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -8898,189 +12585,146 @@ func (s *FieldLevelEncryptionConfig) Validate() error { return nil } -// SetCallerReference sets the CallerReference field's value. -func (s *FieldLevelEncryptionConfig) SetCallerReference(v string) *FieldLevelEncryptionConfig { - s.CallerReference = &v +// SetId sets the Id field's value. +func (s *GetDistributionInput) SetId(v string) *GetDistributionInput { + s.Id = &v return s } -// SetComment sets the Comment field's value. -func (s *FieldLevelEncryptionConfig) SetComment(v string) *FieldLevelEncryptionConfig { - s.Comment = &v - return s -} +// The returned result of the corresponding request. +type GetDistributionOutput struct { + _ struct{} `type:"structure" payload:"Distribution"` -// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. -func (s *FieldLevelEncryptionConfig) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionConfig { - s.ContentTypeProfileConfig = v - return s -} + // The distribution's information. + Distribution *Distribution `type:"structure"` -// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. -func (s *FieldLevelEncryptionConfig) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionConfig { - s.QueryArgProfileConfig = v - return s + // The current version of the distribution's information. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` } -// List of field-level encrpytion configurations. -type FieldLevelEncryptionList struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s GetDistributionOutput) String() string { + return awsutil.Prettify(s) +} - // An array of field-level encryption items. - Items []*FieldLevelEncryptionSummary `locationNameList:"FieldLevelEncryptionSummary" type:"list"` +// GoString returns the string representation +func (s GetDistributionOutput) GoString() string { + return s.String() +} - // The maximum number of elements you want in the response body. - // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` +// SetDistribution sets the Distribution field's value. +func (s *GetDistributionOutput) SetDistribution(v *Distribution) *GetDistributionOutput { + s.Distribution = v + return s +} - // If there are more elements to be listed, this element is present and contains - // the value that you can use for the Marker request parameter to continue listing - // your configurations where you left off. - NextMarker *string `type:"string"` +// SetETag sets the ETag field's value. +func (s *GetDistributionOutput) SetETag(v string) *GetDistributionOutput { + s.ETag = &v + return s +} - // The number of field-level encryption items. +type GetFieldLevelEncryptionConfigInput struct { + _ struct{} `locationName:"GetFieldLevelEncryptionConfigRequest" type:"structure"` + + // Request the ID for the field-level encryption configuration information. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionList) String() string { +func (s GetFieldLevelEncryptionConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionList) GoString() string { +func (s GetFieldLevelEncryptionConfigInput) GoString() string { return s.String() } -// SetItems sets the Items field's value. -func (s *FieldLevelEncryptionList) SetItems(v []*FieldLevelEncryptionSummary) *FieldLevelEncryptionList { - s.Items = v - return s -} - -// SetMaxItems sets the MaxItems field's value. -func (s *FieldLevelEncryptionList) SetMaxItems(v int64) *FieldLevelEncryptionList { - s.MaxItems = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFieldLevelEncryptionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } -// SetNextMarker sets the NextMarker field's value. -func (s *FieldLevelEncryptionList) SetNextMarker(v string) *FieldLevelEncryptionList { - s.NextMarker = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetQuantity sets the Quantity field's value. -func (s *FieldLevelEncryptionList) SetQuantity(v int64) *FieldLevelEncryptionList { - s.Quantity = &v +// SetId sets the Id field's value. +func (s *GetFieldLevelEncryptionConfigInput) SetId(v string) *GetFieldLevelEncryptionConfigInput { + s.Id = &v return s } -// A complex data type for field-level encryption profiles. -type FieldLevelEncryptionProfile struct { - _ struct{} `type:"structure"` - - // A complex data type that includes the profile name and the encryption entities - // for the field-level encryption profile. - // - // FieldLevelEncryptionProfileConfig is a required field - FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure" required:"true"` +type GetFieldLevelEncryptionConfigOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionConfig"` - // The ID for a field-level encryption profile configuration which includes - // a set of profiles that specify certain selected data fields to be encrypted - // by specific public keys. - // - // Id is a required field - Id *string `type:"string" required:"true"` + // The current version of the field level encryption configuration. For example: + // E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` - // The last time the field-level encryption profile was updated. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` + // Return the field-level encryption configuration information. + FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure"` } // String returns the string representation -func (s FieldLevelEncryptionProfile) String() string { +func (s GetFieldLevelEncryptionConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionProfile) GoString() string { +func (s GetFieldLevelEncryptionConfigOutput) GoString() string { return s.String() } -// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. -func (s *FieldLevelEncryptionProfile) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *FieldLevelEncryptionProfile { - s.FieldLevelEncryptionProfileConfig = v - return s -} - -// SetId sets the Id field's value. -func (s *FieldLevelEncryptionProfile) SetId(v string) *FieldLevelEncryptionProfile { - s.Id = &v +// SetETag sets the ETag field's value. +func (s *GetFieldLevelEncryptionConfigOutput) SetETag(v string) *GetFieldLevelEncryptionConfigOutput { + s.ETag = &v return s } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *FieldLevelEncryptionProfile) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfile { - s.LastModifiedTime = &v +// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. +func (s *GetFieldLevelEncryptionConfigOutput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *GetFieldLevelEncryptionConfigOutput { + s.FieldLevelEncryptionConfig = v return s } -// A complex data type of profiles for the field-level encryption. -type FieldLevelEncryptionProfileConfig struct { - _ struct{} `type:"structure"` - - // A unique number that ensures that the request can't be replayed. - // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` - - // An optional comment for the field-level encryption profile. - Comment *string `type:"string"` - - // A complex data type of encryption entities for the field-level encryption - // profile that include the public key ID, provider, and field patterns for - // specifying which fields to encrypt with this key. - // - // EncryptionEntities is a required field - EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` +type GetFieldLevelEncryptionInput struct { + _ struct{} `locationName:"GetFieldLevelEncryptionRequest" type:"structure"` - // Profile name for the field-level encryption profile. + // Request the ID for the field-level encryption configuration information. // - // Name is a required field - Name *string `type:"string" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionProfileConfig) String() string { +func (s GetFieldLevelEncryptionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionProfileConfig) GoString() string { +func (s GetFieldLevelEncryptionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FieldLevelEncryptionProfileConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionProfileConfig"} - if s.CallerReference == nil { - invalidParams.Add(request.NewErrParamRequired("CallerReference")) - } - if s.EncryptionEntities == nil { - invalidParams.Add(request.NewErrParamRequired("EncryptionEntities")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *GetFieldLevelEncryptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.EncryptionEntities != nil { - if err := s.EncryptionEntities.Validate(); err != nil { - invalidParams.AddNested("EncryptionEntities", err.(request.ErrInvalidParams)) - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -9089,251 +12733,231 @@ func (s *FieldLevelEncryptionProfileConfig) Validate() error { return nil } -// SetCallerReference sets the CallerReference field's value. -func (s *FieldLevelEncryptionProfileConfig) SetCallerReference(v string) *FieldLevelEncryptionProfileConfig { - s.CallerReference = &v - return s -} - -// SetComment sets the Comment field's value. -func (s *FieldLevelEncryptionProfileConfig) SetComment(v string) *FieldLevelEncryptionProfileConfig { - s.Comment = &v - return s -} - -// SetEncryptionEntities sets the EncryptionEntities field's value. -func (s *FieldLevelEncryptionProfileConfig) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileConfig { - s.EncryptionEntities = v - return s -} - -// SetName sets the Name field's value. -func (s *FieldLevelEncryptionProfileConfig) SetName(v string) *FieldLevelEncryptionProfileConfig { - s.Name = &v +// SetId sets the Id field's value. +func (s *GetFieldLevelEncryptionInput) SetId(v string) *GetFieldLevelEncryptionInput { + s.Id = &v return s } -// List of field-level encryption profiles. -type FieldLevelEncryptionProfileList struct { - _ struct{} `type:"structure"` - - // The field-level encryption profile items. - Items []*FieldLevelEncryptionProfileSummary `locationNameList:"FieldLevelEncryptionProfileSummary" type:"list"` - - // The maximum number of field-level encryption profiles you want in the response - // body. - // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` +type GetFieldLevelEncryptionOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryption"` - // If there are more elements to be listed, this element is present and contains - // the value that you can use for the Marker request parameter to continue listing - // your profiles where you left off. - NextMarker *string `type:"string"` + // The current version of the field level encryption configuration. For example: + // E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` - // The number of field-level encryption profiles. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // Return the field-level encryption configuration information. + FieldLevelEncryption *FieldLevelEncryption `type:"structure"` } // String returns the string representation -func (s FieldLevelEncryptionProfileList) String() string { +func (s GetFieldLevelEncryptionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionProfileList) GoString() string { +func (s GetFieldLevelEncryptionOutput) GoString() string { return s.String() } -// SetItems sets the Items field's value. -func (s *FieldLevelEncryptionProfileList) SetItems(v []*FieldLevelEncryptionProfileSummary) *FieldLevelEncryptionProfileList { - s.Items = v - return s -} - -// SetMaxItems sets the MaxItems field's value. -func (s *FieldLevelEncryptionProfileList) SetMaxItems(v int64) *FieldLevelEncryptionProfileList { - s.MaxItems = &v - return s -} - -// SetNextMarker sets the NextMarker field's value. -func (s *FieldLevelEncryptionProfileList) SetNextMarker(v string) *FieldLevelEncryptionProfileList { - s.NextMarker = &v +// SetETag sets the ETag field's value. +func (s *GetFieldLevelEncryptionOutput) SetETag(v string) *GetFieldLevelEncryptionOutput { + s.ETag = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *FieldLevelEncryptionProfileList) SetQuantity(v int64) *FieldLevelEncryptionProfileList { - s.Quantity = &v +// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. +func (s *GetFieldLevelEncryptionOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *GetFieldLevelEncryptionOutput { + s.FieldLevelEncryption = v return s } -// The field-level encryption profile summary. -type FieldLevelEncryptionProfileSummary struct { - _ struct{} `type:"structure"` - - // An optional comment for the field-level encryption profile summary. - Comment *string `type:"string"` - - // A complex data type of encryption entities for the field-level encryption - // profile that include the public key ID, provider, and field patterns for - // specifying which fields to encrypt with this key. - // - // EncryptionEntities is a required field - EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` +type GetFieldLevelEncryptionProfileConfigInput struct { + _ struct{} `locationName:"GetFieldLevelEncryptionProfileConfigRequest" type:"structure"` - // ID for the field-level encryption profile summary. + // Get the ID for the field-level encryption profile configuration information. // // Id is a required field - Id *string `type:"string" required:"true"` - - // The time when the the field-level encryption profile summary was last updated. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` - - // Name for the field-level encryption profile summary. - // - // Name is a required field - Name *string `type:"string" required:"true"` + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionProfileSummary) String() string { +func (s GetFieldLevelEncryptionProfileConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionProfileSummary) GoString() string { +func (s GetFieldLevelEncryptionProfileConfigInput) GoString() string { return s.String() } -// SetComment sets the Comment field's value. -func (s *FieldLevelEncryptionProfileSummary) SetComment(v string) *FieldLevelEncryptionProfileSummary { - s.Comment = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFieldLevelEncryptionProfileConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } -// SetEncryptionEntities sets the EncryptionEntities field's value. -func (s *FieldLevelEncryptionProfileSummary) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileSummary { - s.EncryptionEntities = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetId sets the Id field's value. -func (s *FieldLevelEncryptionProfileSummary) SetId(v string) *FieldLevelEncryptionProfileSummary { +func (s *GetFieldLevelEncryptionProfileConfigInput) SetId(v string) *GetFieldLevelEncryptionProfileConfigInput { s.Id = &v return s } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *FieldLevelEncryptionProfileSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfileSummary { - s.LastModifiedTime = &v - return s +type GetFieldLevelEncryptionProfileConfigOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileConfig"` + + // The current version of the field-level encryption profile configuration result. + // For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the field-level encryption profile configuration information. + FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure"` } -// SetName sets the Name field's value. -func (s *FieldLevelEncryptionProfileSummary) SetName(v string) *FieldLevelEncryptionProfileSummary { - s.Name = &v - return s +// String returns the string representation +func (s GetFieldLevelEncryptionProfileConfigOutput) String() string { + return awsutil.Prettify(s) } -// A summary of a field-level encryption item. -type FieldLevelEncryptionSummary struct { - _ struct{} `type:"structure"` +// GoString returns the string representation +func (s GetFieldLevelEncryptionProfileConfigOutput) GoString() string { + return s.String() +} - // An optional comment about the field-level encryption item. - Comment *string `type:"string"` +// SetETag sets the ETag field's value. +func (s *GetFieldLevelEncryptionProfileConfigOutput) SetETag(v string) *GetFieldLevelEncryptionProfileConfigOutput { + s.ETag = &v + return s +} - // A summary of a content type-profile mapping. - ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` +// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. +func (s *GetFieldLevelEncryptionProfileConfigOutput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *GetFieldLevelEncryptionProfileConfigOutput { + s.FieldLevelEncryptionProfileConfig = v + return s +} - // The unique ID of a field-level encryption item. - // - // Id is a required field - Id *string `type:"string" required:"true"` +type GetFieldLevelEncryptionProfileInput struct { + _ struct{} `locationName:"GetFieldLevelEncryptionProfileRequest" type:"structure"` - // The last time that the summary of field-level encryption items was modified. + // Get the ID for the field-level encryption profile information. // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` - - // A summary of a query argument-profile mapping. - QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionSummary) String() string { +func (s GetFieldLevelEncryptionProfileInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionSummary) GoString() string { +func (s GetFieldLevelEncryptionProfileInput) GoString() string { return s.String() } -// SetComment sets the Comment field's value. -func (s *FieldLevelEncryptionSummary) SetComment(v string) *FieldLevelEncryptionSummary { - s.Comment = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFieldLevelEncryptionProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } -// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. -func (s *FieldLevelEncryptionSummary) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionSummary { - s.ContentTypeProfileConfig = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetId sets the Id field's value. -func (s *FieldLevelEncryptionSummary) SetId(v string) *FieldLevelEncryptionSummary { +func (s *GetFieldLevelEncryptionProfileInput) SetId(v string) *GetFieldLevelEncryptionProfileInput { s.Id = &v return s } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *FieldLevelEncryptionSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionSummary { - s.LastModifiedTime = &v +type GetFieldLevelEncryptionProfileOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` + + // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the field-level encryption profile information. + FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` +} + +// String returns the string representation +func (s GetFieldLevelEncryptionProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFieldLevelEncryptionProfileOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *GetFieldLevelEncryptionProfileOutput) SetETag(v string) *GetFieldLevelEncryptionProfileOutput { + s.ETag = &v return s } -// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. -func (s *FieldLevelEncryptionSummary) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionSummary { - s.QueryArgProfileConfig = v +// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. +func (s *GetFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *GetFieldLevelEncryptionProfileOutput { + s.FieldLevelEncryptionProfile = v return s } -// A complex data type that includes the field patterns to match for field-level -// encryption. -type FieldPatterns struct { - _ struct{} `type:"structure"` +// The request to get an invalidation's information. +type GetInvalidationInput struct { + _ struct{} `locationName:"GetInvalidationRequest" type:"structure"` - // An array of the field-level encryption field patterns. - Items []*string `locationNameList:"FieldPattern" type:"list"` + // The distribution's ID. + // + // DistributionId is a required field + DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` - // The number of field-level encryption field patterns. + // The identifier for the invalidation request, for example, IDFDVBD632BHDS5. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldPatterns) String() string { +func (s GetInvalidationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldPatterns) GoString() string { +func (s GetInvalidationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FieldPatterns) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FieldPatterns"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) +func (s *GetInvalidationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInvalidationInput"} + if s.DistributionId == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionId")) + } + if s.DistributionId != nil && len(*s.DistributionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -9342,106 +12966,74 @@ func (s *FieldPatterns) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *FieldPatterns) SetItems(v []*string) *FieldPatterns { - s.Items = v +// SetDistributionId sets the DistributionId field's value. +func (s *GetInvalidationInput) SetDistributionId(v string) *GetInvalidationInput { + s.DistributionId = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *FieldPatterns) SetQuantity(v int64) *FieldPatterns { - s.Quantity = &v +// SetId sets the Id field's value. +func (s *GetInvalidationInput) SetId(v string) *GetInvalidationInput { + s.Id = &v return s } -// A complex type that specifies how CloudFront handles query strings, cookies, -// and HTTP headers. -type ForwardedValues struct { - _ struct{} `type:"structure"` +// The returned result of the corresponding request. +type GetInvalidationOutput struct { + _ struct{} `type:"structure" payload:"Invalidation"` - // A complex type that specifies whether you want CloudFront to forward cookies - // to the origin and, if so, which ones. For more information about forwarding - // cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies - // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) - // in the Amazon CloudFront Developer Guide. - // - // Cookies is a required field - Cookies *CookiePreference `type:"structure" required:"true"` + // The invalidation's information. For more information, see Invalidation Complex + // Type (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/InvalidationDatatype.html). + Invalidation *Invalidation `type:"structure"` +} - // A complex type that specifies the Headers, if any, that you want CloudFront - // to forward to the origin for this cache behavior (whitelisted headers). For - // the headers that you specify, CloudFront also caches separate versions of - // a specified object that is based on the header values in viewer requests. - // - // For more information, see Caching Content Based on Request Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) - // in the Amazon CloudFront Developer Guide. - Headers *Headers `type:"structure"` +// String returns the string representation +func (s GetInvalidationOutput) String() string { + return awsutil.Prettify(s) +} - // Indicates whether you want CloudFront to forward query strings to the origin - // that is associated with this cache behavior and cache based on the query - // string parameters. CloudFront behavior depends on the value of QueryString - // and on the values that you specify for QueryStringCacheKeys, if any: - // - // If you specify true for QueryString and you don't specify any values for - // QueryStringCacheKeys, CloudFront forwards all query string parameters to - // the origin and caches based on all query string parameters. Depending on - // how many query string parameters and values you have, this can adversely - // affect performance because CloudFront must forward more requests to the origin. - // - // If you specify true for QueryString and you specify one or more values for - // QueryStringCacheKeys, CloudFront forwards all query string parameters to - // the origin, but it only caches based on the query string parameters that - // you specify. - // - // If you specify false for QueryString, CloudFront doesn't forward any query - // string parameters to the origin, and doesn't cache based on query string - // parameters. - // - // For more information, see Configuring CloudFront to Cache Based on Query - // String Parameters (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) - // in the Amazon CloudFront Developer Guide. - // - // QueryString is a required field - QueryString *bool `type:"boolean" required:"true"` +// GoString returns the string representation +func (s GetInvalidationOutput) GoString() string { + return s.String() +} + +// SetInvalidation sets the Invalidation field's value. +func (s *GetInvalidationOutput) SetInvalidation(v *Invalidation) *GetInvalidationOutput { + s.Invalidation = v + return s +} - // A complex type that contains information about the query string parameters - // that you want CloudFront to use for caching for this cache behavior. - QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"` +type GetOriginRequestPolicyConfigInput struct { + _ struct{} `locationName:"GetOriginRequestPolicyConfigRequest" type:"structure"` + + // The unique identifier for the origin request policy. If the origin request + // policy is attached to a distribution’s cache behavior, you can get the + // policy’s identifier using ListDistributions or GetDistribution. If the + // origin request policy is not attached to a cache behavior, you can get the + // identifier using ListOriginRequestPolicies. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s ForwardedValues) String() string { +func (s GetOriginRequestPolicyConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ForwardedValues) GoString() string { +func (s GetOriginRequestPolicyConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ForwardedValues) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ForwardedValues"} - if s.Cookies == nil { - invalidParams.Add(request.NewErrParamRequired("Cookies")) - } - if s.QueryString == nil { - invalidParams.Add(request.NewErrParamRequired("QueryString")) - } - if s.Cookies != nil { - if err := s.Cookies.Validate(); err != nil { - invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) - } - } - if s.Headers != nil { - if err := s.Headers.Validate(); err != nil { - invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) - } +func (s *GetOriginRequestPolicyConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetOriginRequestPolicyConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.QueryStringCacheKeys != nil { - if err := s.QueryStringCacheKeys.Validate(); err != nil { - invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams)) - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -9450,91 +13042,75 @@ func (s *ForwardedValues) Validate() error { return nil } -// SetCookies sets the Cookies field's value. -func (s *ForwardedValues) SetCookies(v *CookiePreference) *ForwardedValues { - s.Cookies = v +// SetId sets the Id field's value. +func (s *GetOriginRequestPolicyConfigInput) SetId(v string) *GetOriginRequestPolicyConfigInput { + s.Id = &v return s } -// SetHeaders sets the Headers field's value. -func (s *ForwardedValues) SetHeaders(v *Headers) *ForwardedValues { - s.Headers = v - return s +type GetOriginRequestPolicyConfigOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicyConfig"` + + // The current version of the origin request policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The origin request policy configuration. + OriginRequestPolicyConfig *OriginRequestPolicyConfig `type:"structure"` } -// SetQueryString sets the QueryString field's value. -func (s *ForwardedValues) SetQueryString(v bool) *ForwardedValues { - s.QueryString = &v - return s +// String returns the string representation +func (s GetOriginRequestPolicyConfigOutput) String() string { + return awsutil.Prettify(s) } -// SetQueryStringCacheKeys sets the QueryStringCacheKeys field's value. -func (s *ForwardedValues) SetQueryStringCacheKeys(v *QueryStringCacheKeys) *ForwardedValues { - s.QueryStringCacheKeys = v - return s +// GoString returns the string representation +func (s GetOriginRequestPolicyConfigOutput) GoString() string { + return s.String() } -// A complex type that controls the countries in which your content is distributed. -// CloudFront determines the location of your users using MaxMind GeoIP databases. -type GeoRestriction struct { - _ struct{} `type:"structure"` +// SetETag sets the ETag field's value. +func (s *GetOriginRequestPolicyConfigOutput) SetETag(v string) *GetOriginRequestPolicyConfigOutput { + s.ETag = &v + return s +} - // A complex type that contains a Location element for each country in which - // you want CloudFront either to distribute your content (whitelist) or not - // distribute your content (blacklist). - // - // The Location element is a two-letter, uppercase country code for a country - // that you want to include in your blacklist or whitelist. Include one Location - // element for each country. - // - // CloudFront and MaxMind both use ISO 3166 country codes. For the current list - // of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on - // the International Organization for Standardization website. You can also - // refer to the country list on the CloudFront console, which includes both - // country names and codes. - Items []*string `locationNameList:"Location" type:"list"` +// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. +func (s *GetOriginRequestPolicyConfigOutput) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *GetOriginRequestPolicyConfigOutput { + s.OriginRequestPolicyConfig = v + return s +} - // When geo restriction is enabled, this is the number of countries in your - // whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, - // and you can omit Items. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` +type GetOriginRequestPolicyInput struct { + _ struct{} `locationName:"GetOriginRequestPolicyRequest" type:"structure"` - // The method that you want to use to restrict distribution of your content - // by country: - // - // * none: No geo restriction is enabled, meaning access to content is not - // restricted by client geo location. - // - // * blacklist: The Location elements specify the countries in which you - // don't want CloudFront to distribute your content. - // - // * whitelist: The Location elements specify the countries in which you - // want CloudFront to distribute your content. + // The unique identifier for the origin request policy. If the origin request + // policy is attached to a distribution’s cache behavior, you can get the + // policy’s identifier using ListDistributions or GetDistribution. If the + // origin request policy is not attached to a cache behavior, you can get the + // identifier using ListOriginRequestPolicies. // - // RestrictionType is a required field - RestrictionType *string `type:"string" required:"true" enum:"GeoRestrictionType"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s GeoRestriction) String() string { +func (s GetOriginRequestPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GeoRestriction) GoString() string { +func (s GetOriginRequestPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GeoRestriction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GeoRestriction"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) +func (s *GetOriginRequestPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetOriginRequestPolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.RestrictionType == nil { - invalidParams.Add(request.NewErrParamRequired("RestrictionType")) + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -9543,48 +13119,66 @@ func (s *GeoRestriction) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *GeoRestriction) SetItems(v []*string) *GeoRestriction { - s.Items = v +// SetId sets the Id field's value. +func (s *GetOriginRequestPolicyInput) SetId(v string) *GetOriginRequestPolicyInput { + s.Id = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *GeoRestriction) SetQuantity(v int64) *GeoRestriction { - s.Quantity = &v +type GetOriginRequestPolicyOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicy"` + + // The current version of the origin request policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The origin request policy. + OriginRequestPolicy *OriginRequestPolicy `type:"structure"` +} + +// String returns the string representation +func (s GetOriginRequestPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetOriginRequestPolicyOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *GetOriginRequestPolicyOutput) SetETag(v string) *GetOriginRequestPolicyOutput { + s.ETag = &v return s } -// SetRestrictionType sets the RestrictionType field's value. -func (s *GeoRestriction) SetRestrictionType(v string) *GeoRestriction { - s.RestrictionType = &v +// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. +func (s *GetOriginRequestPolicyOutput) SetOriginRequestPolicy(v *OriginRequestPolicy) *GetOriginRequestPolicyOutput { + s.OriginRequestPolicy = v return s } -// The origin access identity's configuration information. For more information, -// see CloudFrontOriginAccessIdentityConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CloudFrontOriginAccessIdentityConfig.html). -type GetCloudFrontOriginAccessIdentityConfigInput struct { - _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityConfigRequest" type:"structure"` +type GetPublicKeyConfigInput struct { + _ struct{} `locationName:"GetPublicKeyConfigRequest" type:"structure"` - // The identity's ID. + // Request the ID for the public key configuration. // // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s GetCloudFrontOriginAccessIdentityConfigInput) String() string { +func (s GetPublicKeyConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFrontOriginAccessIdentityConfigInput) GoString() string { +func (s GetPublicKeyConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCloudFrontOriginAccessIdentityConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityConfigInput"} +func (s *GetPublicKeyConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyConfigInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -9599,67 +13193,65 @@ func (s *GetCloudFrontOriginAccessIdentityConfigInput) Validate() error { } // SetId sets the Id field's value. -func (s *GetCloudFrontOriginAccessIdentityConfigInput) SetId(v string) *GetCloudFrontOriginAccessIdentityConfigInput { +func (s *GetPublicKeyConfigInput) SetId(v string) *GetPublicKeyConfigInput { s.Id = &v return s } -// The returned result of the corresponding request. -type GetCloudFrontOriginAccessIdentityConfigOutput struct { - _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` - - // The origin access identity's configuration information. - CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` +type GetPublicKeyConfigOutput struct { + _ struct{} `type:"structure" payload:"PublicKeyConfig"` - // The current version of the configuration. For example: E2QWRUHAPOMQZL. + // The current version of the public key configuration. For example: E2QWRUHAPOMQZL. ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the result for the public key configuration. + PublicKeyConfig *PublicKeyConfig `type:"structure"` } // String returns the string representation -func (s GetCloudFrontOriginAccessIdentityConfigOutput) String() string { +func (s GetPublicKeyConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFrontOriginAccessIdentityConfigOutput) GoString() string { +func (s GetPublicKeyConfigOutput) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. -func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *GetCloudFrontOriginAccessIdentityConfigOutput { - s.CloudFrontOriginAccessIdentityConfig = v +// SetETag sets the ETag field's value. +func (s *GetPublicKeyConfigOutput) SetETag(v string) *GetPublicKeyConfigOutput { + s.ETag = &v return s } -// SetETag sets the ETag field's value. -func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityConfigOutput { - s.ETag = &v +// SetPublicKeyConfig sets the PublicKeyConfig field's value. +func (s *GetPublicKeyConfigOutput) SetPublicKeyConfig(v *PublicKeyConfig) *GetPublicKeyConfigOutput { + s.PublicKeyConfig = v return s } -// The request to get an origin access identity's information. -type GetCloudFrontOriginAccessIdentityInput struct { - _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityRequest" type:"structure"` +type GetPublicKeyInput struct { + _ struct{} `locationName:"GetPublicKeyRequest" type:"structure"` - // The identity's ID. + // Request the ID for the public key. // // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s GetCloudFrontOriginAccessIdentityInput) String() string { +func (s GetPublicKeyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFrontOriginAccessIdentityInput) 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 *GetCloudFrontOriginAccessIdentityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityInput"} +func (s *GetPublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -9674,69 +13266,66 @@ func (s *GetCloudFrontOriginAccessIdentityInput) Validate() error { } // SetId sets the Id field's value. -func (s *GetCloudFrontOriginAccessIdentityInput) SetId(v string) *GetCloudFrontOriginAccessIdentityInput { +func (s *GetPublicKeyInput) SetId(v string) *GetPublicKeyInput { s.Id = &v return s } -// The returned result of the corresponding request. -type GetCloudFrontOriginAccessIdentityOutput struct { - _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` - - // The origin access identity's information. - CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` +type GetPublicKeyOutput struct { + _ struct{} `type:"structure" payload:"PublicKey"` - // The current version of the origin access identity's information. For example: - // E2QWRUHAPOMQZL. + // The current version of the public key. For example: E2QWRUHAPOMQZL. ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the public key. + PublicKey *PublicKey `type:"structure"` } // String returns the string representation -func (s GetCloudFrontOriginAccessIdentityOutput) String() string { +func (s GetPublicKeyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFrontOriginAccessIdentityOutput) GoString() string { +func (s GetPublicKeyOutput) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. -func (s *GetCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *GetCloudFrontOriginAccessIdentityOutput { - s.CloudFrontOriginAccessIdentity = v +// SetETag sets the ETag field's value. +func (s *GetPublicKeyOutput) SetETag(v string) *GetPublicKeyOutput { + s.ETag = &v return s } -// SetETag sets the ETag field's value. -func (s *GetCloudFrontOriginAccessIdentityOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityOutput { - s.ETag = &v +// SetPublicKey sets the PublicKey field's value. +func (s *GetPublicKeyOutput) SetPublicKey(v *PublicKey) *GetPublicKeyOutput { + s.PublicKey = v return s } -// The request to get a distribution configuration. -type GetDistributionConfigInput struct { - _ struct{} `locationName:"GetDistributionConfigRequest" type:"structure"` +// To request to get a streaming distribution configuration. +type GetStreamingDistributionConfigInput struct { + _ struct{} `locationName:"GetStreamingDistributionConfigRequest" type:"structure"` - // The distribution's ID. If the ID is empty, an empty distribution configuration - // is returned. + // The streaming distribution's ID. // // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s GetDistributionConfigInput) String() string { +func (s GetStreamingDistributionConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDistributionConfigInput) GoString() string { +func (s GetStreamingDistributionConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDistributionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigInput"} +func (s *GetStreamingDistributionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionConfigInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -9751,68 +13340,67 @@ func (s *GetDistributionConfigInput) Validate() error { } // SetId sets the Id field's value. -func (s *GetDistributionConfigInput) SetId(v string) *GetDistributionConfigInput { +func (s *GetStreamingDistributionConfigInput) SetId(v string) *GetStreamingDistributionConfigInput { s.Id = &v return s } // The returned result of the corresponding request. -type GetDistributionConfigOutput struct { - _ struct{} `type:"structure" payload:"DistributionConfig"` - - // The distribution's configuration information. - DistributionConfig *DistributionConfig `type:"structure"` +type GetStreamingDistributionConfigOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistributionConfig"` // The current version of the configuration. For example: E2QWRUHAPOMQZL. ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The streaming distribution's configuration information. + StreamingDistributionConfig *StreamingDistributionConfig `type:"structure"` } // String returns the string representation -func (s GetDistributionConfigOutput) String() string { +func (s GetStreamingDistributionConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDistributionConfigOutput) GoString() string { +func (s GetStreamingDistributionConfigOutput) GoString() string { return s.String() } -// SetDistributionConfig sets the DistributionConfig field's value. -func (s *GetDistributionConfigOutput) SetDistributionConfig(v *DistributionConfig) *GetDistributionConfigOutput { - s.DistributionConfig = v +// SetETag sets the ETag field's value. +func (s *GetStreamingDistributionConfigOutput) SetETag(v string) *GetStreamingDistributionConfigOutput { + s.ETag = &v return s } -// SetETag sets the ETag field's value. -func (s *GetDistributionConfigOutput) SetETag(v string) *GetDistributionConfigOutput { - s.ETag = &v +// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. +func (s *GetStreamingDistributionConfigOutput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *GetStreamingDistributionConfigOutput { + s.StreamingDistributionConfig = v return s } -// The request to get a distribution's information. -type GetDistributionInput struct { - _ struct{} `locationName:"GetDistributionRequest" type:"structure"` +// The request to get a streaming distribution's information. +type GetStreamingDistributionInput struct { + _ struct{} `locationName:"GetStreamingDistributionRequest" type:"structure"` - // The distribution's ID. If the ID is empty, an empty distribution configuration - // is returned. + // The streaming distribution's ID. // // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s GetDistributionInput) String() string { +func (s GetStreamingDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDistributionInput) GoString() string { +func (s GetStreamingDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDistributionInput"} +func (s *GetStreamingDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -9827,71 +13415,73 @@ func (s *GetDistributionInput) Validate() error { } // SetId sets the Id field's value. -func (s *GetDistributionInput) SetId(v string) *GetDistributionInput { +func (s *GetStreamingDistributionInput) SetId(v string) *GetStreamingDistributionInput { s.Id = &v return s } // The returned result of the corresponding request. -type GetDistributionOutput struct { - _ struct{} `type:"structure" payload:"Distribution"` - - // The distribution's information. - Distribution *Distribution `type:"structure"` +type GetStreamingDistributionOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistribution"` - // The current version of the distribution's information. For example: E2QWRUHAPOMQZL. + // The current version of the streaming distribution's information. For example: + // E2QWRUHAPOMQZL. ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The streaming distribution's information. + StreamingDistribution *StreamingDistribution `type:"structure"` } // String returns the string representation -func (s GetDistributionOutput) String() string { +func (s GetStreamingDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDistributionOutput) GoString() string { +func (s GetStreamingDistributionOutput) GoString() string { return s.String() } -// SetDistribution sets the Distribution field's value. -func (s *GetDistributionOutput) SetDistribution(v *Distribution) *GetDistributionOutput { - s.Distribution = v +// SetETag sets the ETag field's value. +func (s *GetStreamingDistributionOutput) SetETag(v string) *GetStreamingDistributionOutput { + s.ETag = &v return s } -// SetETag sets the ETag field's value. -func (s *GetDistributionOutput) SetETag(v string) *GetDistributionOutput { - s.ETag = &v +// SetStreamingDistribution sets the StreamingDistribution field's value. +func (s *GetStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *GetStreamingDistributionOutput { + s.StreamingDistribution = v return s } -type GetFieldLevelEncryptionConfigInput struct { - _ struct{} `locationName:"GetFieldLevelEncryptionConfigRequest" type:"structure"` +// Contains a list of HTTP header names. +type Headers struct { + _ struct{} `type:"structure"` - // Request the ID for the field-level encryption configuration information. + // A list of HTTP header names. + Items []*string `locationNameList:"Name" type:"list"` + + // The number of header names in the Items list. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionConfigInput) String() string { +func (s Headers) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionConfigInput) GoString() string { +func (s Headers) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetFieldLevelEncryptionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) +func (s *Headers) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Headers"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } if invalidParams.Len() > 0 { @@ -9900,72 +13490,133 @@ func (s *GetFieldLevelEncryptionConfigInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetFieldLevelEncryptionConfigInput) SetId(v string) *GetFieldLevelEncryptionConfigInput { - s.Id = &v +// SetItems sets the Items field's value. +func (s *Headers) SetItems(v []*string) *Headers { + s.Items = v return s } -type GetFieldLevelEncryptionConfigOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionConfig"` +// SetQuantity sets the Quantity field's value. +func (s *Headers) SetQuantity(v int64) *Headers { + s.Quantity = &v + return s +} - // The current version of the field level encryption configuration. For example: - // E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +// An invalidation. +type Invalidation struct { + _ struct{} `type:"structure"` - // Return the field-level encryption configuration information. - FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure"` + // The date and time the invalidation request was first made. + // + // CreateTime is a required field + CreateTime *time.Time `type:"timestamp" required:"true"` + + // The identifier for the invalidation request. For example: IDFDVBD632BHDS5. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The current invalidation information for the batch request. + // + // InvalidationBatch is a required field + InvalidationBatch *InvalidationBatch `type:"structure" required:"true"` + + // The status of the invalidation request. When the invalidation batch is finished, + // the status is Completed. + // + // Status is a required field + Status *string `type:"string" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionConfigOutput) String() string { +func (s Invalidation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionConfigOutput) GoString() string { +func (s Invalidation) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetFieldLevelEncryptionConfigOutput) SetETag(v string) *GetFieldLevelEncryptionConfigOutput { - s.ETag = &v +// SetCreateTime sets the CreateTime field's value. +func (s *Invalidation) SetCreateTime(v time.Time) *Invalidation { + s.CreateTime = &v return s } -// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. -func (s *GetFieldLevelEncryptionConfigOutput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *GetFieldLevelEncryptionConfigOutput { - s.FieldLevelEncryptionConfig = v +// SetId sets the Id field's value. +func (s *Invalidation) SetId(v string) *Invalidation { + s.Id = &v return s } -type GetFieldLevelEncryptionInput struct { - _ struct{} `locationName:"GetFieldLevelEncryptionRequest" type:"structure"` +// SetInvalidationBatch sets the InvalidationBatch field's value. +func (s *Invalidation) SetInvalidationBatch(v *InvalidationBatch) *Invalidation { + s.InvalidationBatch = v + return s +} - // Request the ID for the field-level encryption configuration information. +// SetStatus sets the Status field's value. +func (s *Invalidation) SetStatus(v string) *Invalidation { + s.Status = &v + return s +} + +// An invalidation batch. +type InvalidationBatch struct { + _ struct{} `type:"structure"` + + // A value that you specify to uniquely identify an invalidation request. CloudFront + // uses the value to prevent you from accidentally resubmitting an identical + // request. Whenever you create a new invalidation request, you must specify + // a new value for CallerReference and change other values in the request as + // applicable. One way to ensure that the value of CallerReference is unique + // is to use a timestamp, for example, 20120301090000. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // If you make a second invalidation request with the same value for CallerReference, + // and if the rest of the request is the same, CloudFront doesn't create a new + // invalidation request. Instead, CloudFront returns information about the invalidation + // request that you previously created with the same CallerReference. + // + // If CallerReference is a value you already sent in a previous invalidation + // batch request but the content of any Path is different from the original + // request, CloudFront returns an InvalidationBatchAlreadyExists error. + // + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` + + // A complex type that contains information about the objects that you want + // to invalidate. For more information, see Specifying the Objects to Invalidate + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects) + // in the Amazon CloudFront Developer Guide. + // + // Paths is a required field + Paths *Paths `type:"structure" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionInput) String() string { +func (s InvalidationBatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionInput) GoString() string { +func (s InvalidationBatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetFieldLevelEncryptionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *InvalidationBatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InvalidationBatch"} + if s.CallerReference == nil { + invalidParams.Add(request.NewErrParamRequired("CallerReference")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Paths == nil { + invalidParams.Add(request.NewErrParamRequired("Paths")) + } + if s.Paths != nil { + if err := s.Paths.Validate(); err != nil { + invalidParams.AddNested("Paths", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -9974,231 +13625,253 @@ func (s *GetFieldLevelEncryptionInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetFieldLevelEncryptionInput) SetId(v string) *GetFieldLevelEncryptionInput { - s.Id = &v +// SetCallerReference sets the CallerReference field's value. +func (s *InvalidationBatch) SetCallerReference(v string) *InvalidationBatch { + s.CallerReference = &v return s } -type GetFieldLevelEncryptionOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryption"` - - // The current version of the field level encryption configuration. For example: - // E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` - - // Return the field-level encryption configuration information. - FieldLevelEncryption *FieldLevelEncryption `type:"structure"` +// SetPaths sets the Paths field's value. +func (s *InvalidationBatch) SetPaths(v *Paths) *InvalidationBatch { + s.Paths = v + return s } -// String returns the string representation -func (s GetFieldLevelEncryptionOutput) String() string { - return awsutil.Prettify(s) -} +// The InvalidationList complex type describes the list of invalidation objects. +// For more information about invalidation, see Invalidating Objects (Web Distributions +// Only) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html) +// in the Amazon CloudFront Developer Guide. +type InvalidationList struct { + _ struct{} `type:"structure"` + + // A flag that indicates whether more invalidation batch requests remain to + // be listed. If your results were truncated, you can make a follow-up pagination + // request using the Marker request parameter to retrieve more invalidation + // batches in the list. + // + // IsTruncated is a required field + IsTruncated *bool `type:"boolean" required:"true"` -// GoString returns the string representation -func (s GetFieldLevelEncryptionOutput) GoString() string { - return s.String() -} + // A complex type that contains one InvalidationSummary element for each invalidation + // batch created by the current AWS account. + Items []*InvalidationSummary `locationNameList:"InvalidationSummary" type:"list"` -// SetETag sets the ETag field's value. -func (s *GetFieldLevelEncryptionOutput) SetETag(v string) *GetFieldLevelEncryptionOutput { - s.ETag = &v - return s -} + // The value that you provided for the Marker request parameter. + // + // Marker is a required field + Marker *string `type:"string" required:"true"` -// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. -func (s *GetFieldLevelEncryptionOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *GetFieldLevelEncryptionOutput { - s.FieldLevelEncryption = v - return s -} + // The value that you provided for the MaxItems request parameter. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` -type GetFieldLevelEncryptionProfileConfigInput struct { - _ struct{} `locationName:"GetFieldLevelEncryptionProfileConfigRequest" type:"structure"` + // If IsTruncated is true, this element is present and contains the value that + // you can use for the Marker request parameter to continue listing your invalidation + // batches where they left off. + NextMarker *string `type:"string"` - // Get the ID for the field-level encryption profile configuration information. + // The number of invalidation batches that were created by the current AWS account. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionProfileConfigInput) String() string { +func (s InvalidationList) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionProfileConfigInput) GoString() string { +func (s InvalidationList) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetFieldLevelEncryptionProfileConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetId sets the Id field's value. -func (s *GetFieldLevelEncryptionProfileConfigInput) SetId(v string) *GetFieldLevelEncryptionProfileConfigInput { - s.Id = &v +// SetIsTruncated sets the IsTruncated field's value. +func (s *InvalidationList) SetIsTruncated(v bool) *InvalidationList { + s.IsTruncated = &v return s } -type GetFieldLevelEncryptionProfileConfigOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileConfig"` - - // The current version of the field-level encryption profile configuration result. - // For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` - - // Return the field-level encryption profile configuration information. - FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure"` +// SetItems sets the Items field's value. +func (s *InvalidationList) SetItems(v []*InvalidationSummary) *InvalidationList { + s.Items = v + return s } -// String returns the string representation -func (s GetFieldLevelEncryptionProfileConfigOutput) String() string { - return awsutil.Prettify(s) +// SetMarker sets the Marker field's value. +func (s *InvalidationList) SetMarker(v string) *InvalidationList { + s.Marker = &v + return s } -// GoString returns the string representation -func (s GetFieldLevelEncryptionProfileConfigOutput) GoString() string { - return s.String() +// SetMaxItems sets the MaxItems field's value. +func (s *InvalidationList) SetMaxItems(v int64) *InvalidationList { + s.MaxItems = &v + return s } -// SetETag sets the ETag field's value. -func (s *GetFieldLevelEncryptionProfileConfigOutput) SetETag(v string) *GetFieldLevelEncryptionProfileConfigOutput { - s.ETag = &v +// SetNextMarker sets the NextMarker field's value. +func (s *InvalidationList) SetNextMarker(v string) *InvalidationList { + s.NextMarker = &v return s } -// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. -func (s *GetFieldLevelEncryptionProfileConfigOutput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *GetFieldLevelEncryptionProfileConfigOutput { - s.FieldLevelEncryptionProfileConfig = v +// SetQuantity sets the Quantity field's value. +func (s *InvalidationList) SetQuantity(v int64) *InvalidationList { + s.Quantity = &v return s } -type GetFieldLevelEncryptionProfileInput struct { - _ struct{} `locationName:"GetFieldLevelEncryptionProfileRequest" type:"structure"` +// A summary of an invalidation request. +type InvalidationSummary struct { + _ struct{} `type:"structure"` - // Get the ID for the field-level encryption profile information. + // The time that an invalidation request was created. + // + // CreateTime is a required field + CreateTime *time.Time `type:"timestamp" required:"true"` + + // The unique ID for an invalidation request. // // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + Id *string `type:"string" required:"true"` + + // The status of an invalidation request. + // + // Status is a required field + Status *string `type:"string" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionProfileInput) String() string { +func (s InvalidationSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionProfileInput) GoString() string { +func (s InvalidationSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetFieldLevelEncryptionProfileInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreateTime sets the CreateTime field's value. +func (s *InvalidationSummary) SetCreateTime(v time.Time) *InvalidationSummary { + s.CreateTime = &v + return s } // SetId sets the Id field's value. -func (s *GetFieldLevelEncryptionProfileInput) SetId(v string) *GetFieldLevelEncryptionProfileInput { +func (s *InvalidationSummary) SetId(v string) *InvalidationSummary { s.Id = &v return s } -type GetFieldLevelEncryptionProfileOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` +// SetStatus sets the Status field's value. +func (s *InvalidationSummary) SetStatus(v string) *InvalidationSummary { + s.Status = &v + return s +} - // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +// A complex type that lists the active CloudFront key pairs, if any, that are +// associated with AwsAccountNumber. +// +// For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). +type KeyPairIds struct { + _ struct{} `type:"structure"` - // Return the field-level encryption profile information. - FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` + // A complex type that lists the active CloudFront key pairs, if any, that are + // associated with AwsAccountNumber. + // + // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). + Items []*string `locationNameList:"KeyPairId" type:"list"` + + // The number of active CloudFront key pairs for AwsAccountNumber. + // + // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionProfileOutput) String() string { +func (s KeyPairIds) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionProfileOutput) GoString() string { +func (s KeyPairIds) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetFieldLevelEncryptionProfileOutput) SetETag(v string) *GetFieldLevelEncryptionProfileOutput { - s.ETag = &v +// SetItems sets the Items field's value. +func (s *KeyPairIds) SetItems(v []*string) *KeyPairIds { + s.Items = v return s } -// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. -func (s *GetFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *GetFieldLevelEncryptionProfileOutput { - s.FieldLevelEncryptionProfile = v +// SetQuantity sets the Quantity field's value. +func (s *KeyPairIds) SetQuantity(v int64) *KeyPairIds { + s.Quantity = &v return s } -// The request to get an invalidation's information. -type GetInvalidationInput struct { - _ struct{} `locationName:"GetInvalidationRequest" type:"structure"` +// A complex type that contains a Lambda function association. +type LambdaFunctionAssociation struct { + _ struct{} `type:"structure"` - // The distribution's ID. + // Specifies the event type that triggers a Lambda function invocation. You + // can specify the following values: // - // DistributionId is a required field - DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` + // * viewer-request: The function executes when CloudFront receives a request + // from a viewer and before it checks to see whether the requested object + // is in the edge cache. + // + // * origin-request: The function executes only when CloudFront sends a request + // to your origin. When the requested object is in the edge cache, the function + // doesn't execute. + // + // * origin-response: The function executes after CloudFront receives a response + // from the origin and before it caches the object in the response. When + // the requested object is in the edge cache, the function doesn't execute. + // + // * viewer-response: The function executes before CloudFront returns the + // requested object to the viewer. The function executes regardless of whether + // the object was already in the edge cache. If the origin returns an HTTP + // status code other than HTTP 200 (OK), the function doesn't execute. + // + // EventType is a required field + EventType *string `type:"string" required:"true" enum:"EventType"` - // The identifier for the invalidation request, for example, IDFDVBD632BHDS5. + // A flag that allows a Lambda function to have read access to the body content. + // For more information, see Accessing the Request Body by Choosing the Include + // Body Option (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) + // in the Amazon CloudFront Developer Guide. + IncludeBody *bool `type:"boolean"` + + // The ARN of the Lambda function. You must specify the ARN of a function version; + // you can't specify a Lambda alias or $LATEST. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // LambdaFunctionARN is a required field + LambdaFunctionARN *string `type:"string" required:"true"` } // String returns the string representation -func (s GetInvalidationInput) String() string { +func (s LambdaFunctionAssociation) String() string { return awsutil.Prettify(s) } - -// GoString returns the string representation -func (s GetInvalidationInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetInvalidationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetInvalidationInput"} - if s.DistributionId == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionId")) - } - if s.DistributionId != nil && len(*s.DistributionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) - } - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) + +// GoString returns the string representation +func (s LambdaFunctionAssociation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaFunctionAssociation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociation"} + if s.EventType == nil { + invalidParams.Add(request.NewErrParamRequired("EventType")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.LambdaFunctionARN == nil { + invalidParams.Add(request.NewErrParamRequired("LambdaFunctionARN")) } if invalidParams.Len() > 0 { @@ -10207,70 +13880,73 @@ func (s *GetInvalidationInput) Validate() error { return nil } -// SetDistributionId sets the DistributionId field's value. -func (s *GetInvalidationInput) SetDistributionId(v string) *GetInvalidationInput { - s.DistributionId = &v +// SetEventType sets the EventType field's value. +func (s *LambdaFunctionAssociation) SetEventType(v string) *LambdaFunctionAssociation { + s.EventType = &v return s } -// SetId sets the Id field's value. -func (s *GetInvalidationInput) SetId(v string) *GetInvalidationInput { - s.Id = &v +// SetIncludeBody sets the IncludeBody field's value. +func (s *LambdaFunctionAssociation) SetIncludeBody(v bool) *LambdaFunctionAssociation { + s.IncludeBody = &v return s } -// The returned result of the corresponding request. -type GetInvalidationOutput struct { - _ struct{} `type:"structure" payload:"Invalidation"` - - // The invalidation's information. For more information, see Invalidation Complex - // Type (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/InvalidationDatatype.html). - Invalidation *Invalidation `type:"structure"` -} - -// String returns the string representation -func (s GetInvalidationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetInvalidationOutput) GoString() string { - return s.String() -} - -// SetInvalidation sets the Invalidation field's value. -func (s *GetInvalidationOutput) SetInvalidation(v *Invalidation) *GetInvalidationOutput { - s.Invalidation = v +// SetLambdaFunctionARN sets the LambdaFunctionARN field's value. +func (s *LambdaFunctionAssociation) SetLambdaFunctionARN(v string) *LambdaFunctionAssociation { + s.LambdaFunctionARN = &v return s } -type GetPublicKeyConfigInput struct { - _ struct{} `locationName:"GetPublicKeyConfigRequest" type:"structure"` +// A complex type that specifies a list of Lambda functions associations for +// a cache behavior. +// +// If you want to invoke one or more Lambda functions triggered by requests +// that match the PathPattern of the cache behavior, specify the applicable +// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation +// items in this list (one for each possible value of EventType) and each EventType +// can be associated with the Lambda function only once. +// +// If you don't want to invoke any Lambda functions for the requests that match +// PathPattern, specify 0 for Quantity and omit Items. +type LambdaFunctionAssociations struct { + _ struct{} `type:"structure"` - // Request the ID for the public key configuration. + // Optional: A complex type that contains LambdaFunctionAssociation items for + // this cache behavior. If Quantity is 0, you can omit Items. + Items []*LambdaFunctionAssociation `locationNameList:"LambdaFunctionAssociation" type:"list"` + + // The number of Lambda function associations for this cache behavior. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s GetPublicKeyConfigInput) String() string { +func (s LambdaFunctionAssociations) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPublicKeyConfigInput) GoString() string { +func (s LambdaFunctionAssociations) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetPublicKeyConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *LambdaFunctionAssociations) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociations"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -10279,220 +13955,188 @@ func (s *GetPublicKeyConfigInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetPublicKeyConfigInput) SetId(v string) *GetPublicKeyConfigInput { - s.Id = &v +// SetItems sets the Items field's value. +func (s *LambdaFunctionAssociations) SetItems(v []*LambdaFunctionAssociation) *LambdaFunctionAssociations { + s.Items = v return s } -type GetPublicKeyConfigOutput struct { - _ struct{} `type:"structure" payload:"PublicKeyConfig"` - - // The current version of the public key configuration. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` - - // Return the result for the public key configuration. - PublicKeyConfig *PublicKeyConfig `type:"structure"` -} - -// String returns the string representation -func (s GetPublicKeyConfigOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetPublicKeyConfigOutput) GoString() string { - return s.String() -} - -// SetETag sets the ETag field's value. -func (s *GetPublicKeyConfigOutput) SetETag(v string) *GetPublicKeyConfigOutput { - s.ETag = &v +// SetQuantity sets the Quantity field's value. +func (s *LambdaFunctionAssociations) SetQuantity(v int64) *LambdaFunctionAssociations { + s.Quantity = &v return s } -// SetPublicKeyConfig sets the PublicKeyConfig field's value. -func (s *GetPublicKeyConfigOutput) SetPublicKeyConfig(v *PublicKeyConfig) *GetPublicKeyConfigOutput { - s.PublicKeyConfig = v - return s -} +type ListCachePoliciesInput struct { + _ struct{} `locationName:"ListCachePoliciesRequest" type:"structure"` -type GetPublicKeyInput struct { - _ struct{} `locationName:"GetPublicKeyRequest" type:"structure"` + // Use this field when paginating results to indicate where to begin in your + // list of cache policies. The response includes cache policies in the list + // that occur after the marker. To get the next page of the list, set this field’s + // value to the value of NextMarker from the current page’s response. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // Request the ID for the public key. + // The maximum number of cache policies that you want in the response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + + // A filter to return only the specified kinds of cache policies. Valid values + // are: // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // * managed – Returns only the managed policies created by AWS. + // + // * custom – Returns only the custom policies created in your AWS account. + Type *string `location:"querystring" locationName:"Type" type:"string" enum:"CachePolicyType"` } // String returns the string representation -func (s GetPublicKeyInput) String() string { +func (s ListCachePoliciesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPublicKeyInput) GoString() string { +func (s ListCachePoliciesInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetPublicKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMarker sets the Marker field's value. +func (s *ListCachePoliciesInput) SetMarker(v string) *ListCachePoliciesInput { + s.Marker = &v + return s } -// SetId sets the Id field's value. -func (s *GetPublicKeyInput) SetId(v string) *GetPublicKeyInput { - s.Id = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListCachePoliciesInput) SetMaxItems(v int64) *ListCachePoliciesInput { + s.MaxItems = &v return s } -type GetPublicKeyOutput struct { - _ struct{} `type:"structure" payload:"PublicKey"` +// SetType sets the Type field's value. +func (s *ListCachePoliciesInput) SetType(v string) *ListCachePoliciesInput { + s.Type = &v + return s +} - // The current version of the public key. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +type ListCachePoliciesOutput struct { + _ struct{} `type:"structure" payload:"CachePolicyList"` - // Return the public key. - PublicKey *PublicKey `type:"structure"` + // A list of cache policies. + CachePolicyList *CachePolicyList `type:"structure"` } // String returns the string representation -func (s GetPublicKeyOutput) String() string { +func (s ListCachePoliciesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPublicKeyOutput) GoString() string { +func (s ListCachePoliciesOutput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetPublicKeyOutput) SetETag(v string) *GetPublicKeyOutput { - s.ETag = &v +// SetCachePolicyList sets the CachePolicyList field's value. +func (s *ListCachePoliciesOutput) SetCachePolicyList(v *CachePolicyList) *ListCachePoliciesOutput { + s.CachePolicyList = v return s } -// SetPublicKey sets the PublicKey field's value. -func (s *GetPublicKeyOutput) SetPublicKey(v *PublicKey) *GetPublicKeyOutput { - s.PublicKey = v - return s -} +// The request to list origin access identities. +type ListCloudFrontOriginAccessIdentitiesInput struct { + _ struct{} `locationName:"ListCloudFrontOriginAccessIdentitiesRequest" type:"structure"` -// To request to get a streaming distribution configuration. -type GetStreamingDistributionConfigInput struct { - _ struct{} `locationName:"GetStreamingDistributionConfigRequest" type:"structure"` + // Use this when paginating results to indicate where to begin in your list + // of origin access identities. The results include identities in the list that + // occur after the marker. To get the next page of results, set the Marker to + // the value of the NextMarker from the current page's response (which is also + // the ID of the last identity on that page). + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The streaming distribution's ID. - // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // The maximum number of origin access identities you want in the response body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s GetStreamingDistributionConfigInput) String() string { +func (s ListCloudFrontOriginAccessIdentitiesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStreamingDistributionConfigInput) GoString() string { +func (s ListCloudFrontOriginAccessIdentitiesInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetStreamingDistributionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMarker sets the Marker field's value. +func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMarker(v string) *ListCloudFrontOriginAccessIdentitiesInput { + s.Marker = &v + return s } -// SetId sets the Id field's value. -func (s *GetStreamingDistributionConfigInput) SetId(v string) *GetStreamingDistributionConfigInput { - s.Id = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMaxItems(v int64) *ListCloudFrontOriginAccessIdentitiesInput { + s.MaxItems = &v return s } // The returned result of the corresponding request. -type GetStreamingDistributionConfigOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistributionConfig"` - - // The current version of the configuration. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +type ListCloudFrontOriginAccessIdentitiesOutput struct { + _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityList"` - // The streaming distribution's configuration information. - StreamingDistributionConfig *StreamingDistributionConfig `type:"structure"` + // The CloudFrontOriginAccessIdentityList type. + CloudFrontOriginAccessIdentityList *OriginAccessIdentityList `type:"structure"` } // String returns the string representation -func (s GetStreamingDistributionConfigOutput) String() string { +func (s ListCloudFrontOriginAccessIdentitiesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStreamingDistributionConfigOutput) GoString() string { - return s.String() -} - -// SetETag sets the ETag field's value. -func (s *GetStreamingDistributionConfigOutput) SetETag(v string) *GetStreamingDistributionConfigOutput { - s.ETag = &v - return s +func (s ListCloudFrontOriginAccessIdentitiesOutput) GoString() string { + return s.String() } -// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. -func (s *GetStreamingDistributionConfigOutput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *GetStreamingDistributionConfigOutput { - s.StreamingDistributionConfig = v +// SetCloudFrontOriginAccessIdentityList sets the CloudFrontOriginAccessIdentityList field's value. +func (s *ListCloudFrontOriginAccessIdentitiesOutput) SetCloudFrontOriginAccessIdentityList(v *OriginAccessIdentityList) *ListCloudFrontOriginAccessIdentitiesOutput { + s.CloudFrontOriginAccessIdentityList = v return s } -// The request to get a streaming distribution's information. -type GetStreamingDistributionInput struct { - _ struct{} `locationName:"GetStreamingDistributionRequest" type:"structure"` +type ListDistributionsByCachePolicyIdInput struct { + _ struct{} `locationName:"ListDistributionsByCachePolicyIdRequest" type:"structure"` - // The streaming distribution's ID. + // The ID of the cache policy whose associated distribution IDs you want to + // list. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // CachePolicyId is a required field + CachePolicyId *string `location:"uri" locationName:"CachePolicyId" type:"string" required:"true"` + + // Use this field when paginating results to indicate where to begin in your + // list of distribution IDs. The response includes distribution IDs in the list + // that occur after the marker. To get the next page of the list, set this field’s + // value to the value of NextMarker from the current page’s response. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of distribution IDs that you want in the response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s GetStreamingDistributionInput) String() string { +func (s ListDistributionsByCachePolicyIdInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStreamingDistributionInput) GoString() string { +func (s ListDistributionsByCachePolicyIdInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetStreamingDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *ListDistributionsByCachePolicyIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByCachePolicyIdInput"} + if s.CachePolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("CachePolicyId")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.CachePolicyId != nil && len(*s.CachePolicyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CachePolicyId", 1)) } if invalidParams.Len() > 0 { @@ -10501,110 +14145,84 @@ func (s *GetStreamingDistributionInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetStreamingDistributionInput) SetId(v string) *GetStreamingDistributionInput { - s.Id = &v +// SetCachePolicyId sets the CachePolicyId field's value. +func (s *ListDistributionsByCachePolicyIdInput) SetCachePolicyId(v string) *ListDistributionsByCachePolicyIdInput { + s.CachePolicyId = &v return s } -// The returned result of the corresponding request. -type GetStreamingDistributionOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistribution"` +// SetMarker sets the Marker field's value. +func (s *ListDistributionsByCachePolicyIdInput) SetMarker(v string) *ListDistributionsByCachePolicyIdInput { + s.Marker = &v + return s +} - // The current version of the streaming distribution's information. For example: - // E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +// SetMaxItems sets the MaxItems field's value. +func (s *ListDistributionsByCachePolicyIdInput) SetMaxItems(v int64) *ListDistributionsByCachePolicyIdInput { + s.MaxItems = &v + return s +} - // The streaming distribution's information. - StreamingDistribution *StreamingDistribution `type:"structure"` +type ListDistributionsByCachePolicyIdOutput struct { + _ struct{} `type:"structure" payload:"DistributionIdList"` + + // A list of distribution IDs. + DistributionIdList *DistributionIdList `type:"structure"` } // String returns the string representation -func (s GetStreamingDistributionOutput) String() string { +func (s ListDistributionsByCachePolicyIdOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStreamingDistributionOutput) GoString() string { +func (s ListDistributionsByCachePolicyIdOutput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetStreamingDistributionOutput) SetETag(v string) *GetStreamingDistributionOutput { - s.ETag = &v +// SetDistributionIdList sets the DistributionIdList field's value. +func (s *ListDistributionsByCachePolicyIdOutput) SetDistributionIdList(v *DistributionIdList) *ListDistributionsByCachePolicyIdOutput { + s.DistributionIdList = v return s } -// SetStreamingDistribution sets the StreamingDistribution field's value. -func (s *GetStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *GetStreamingDistributionOutput { - s.StreamingDistribution = v - return s -} +type ListDistributionsByOriginRequestPolicyIdInput struct { + _ struct{} `locationName:"ListDistributionsByOriginRequestPolicyIdRequest" type:"structure"` -// A complex type that specifies the request headers, if any, that you want -// CloudFront to base caching on for this cache behavior. -// -// For the headers that you specify, CloudFront caches separate versions of -// a specified object based on the header values in viewer requests. For example, -// suppose viewer requests for logo.jpg contain a custom product header that -// has a value of either acme or apex, and you configure CloudFront to cache -// your content based on values in the product header. CloudFront forwards the -// product header to the origin and caches the response from the origin once -// for each header value. For more information about caching based on header -// values, see How CloudFront Forwards and Caches Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) -// in the Amazon CloudFront Developer Guide. -type Headers struct { - _ struct{} `type:"structure"` + // Use this field when paginating results to indicate where to begin in your + // list of distribution IDs. The response includes distribution IDs in the list + // that occur after the marker. To get the next page of the list, set this field’s + // value to the value of NextMarker from the current page’s response. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // A list that contains one Name element for each header that you want CloudFront - // to use for caching in this cache behavior. If Quantity is 0, omit Items. - Items []*string `locationNameList:"Name" type:"list"` + // The maximum number of distribution IDs that you want in the response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` - // The number of different headers that you want CloudFront to base caching - // on for this cache behavior. You can configure each cache behavior in a web - // distribution to do one of the following: - // - // * Forward all headers to your origin: Specify 1 for Quantity and * for - // Name. CloudFront doesn't cache the objects that are associated with this - // cache behavior. Instead, CloudFront sends every request to the origin. + // The ID of the origin request policy whose associated distribution IDs you + // want to list. // - // * Forward a whitelist of headers you specify: Specify the number of headers - // that you want CloudFront to base caching on. Then specify the header names - // in Name elements. CloudFront caches your objects based on the values in - // the specified headers. - // - // * Forward only the default headers: Specify 0 for Quantity and omit Items. - // In this configuration, CloudFront doesn't cache based on the values in - // the request headers. - // - // Regardless of which option you choose, CloudFront forwards headers to your - // origin based on whether the origin is an S3 bucket or a custom origin. See - // the following documentation: - // - // * S3 bucket: See HTTP Request Headers That CloudFront Removes or Updates - // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorS3Origin.html#request-s3-removed-headers) - // - // * Custom origin: See HTTP Request Headers and CloudFront Behavior (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-headers-behavior) - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // OriginRequestPolicyId is a required field + OriginRequestPolicyId *string `location:"uri" locationName:"OriginRequestPolicyId" type:"string" required:"true"` } // String returns the string representation -func (s Headers) String() string { +func (s ListDistributionsByOriginRequestPolicyIdInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Headers) GoString() string { +func (s ListDistributionsByOriginRequestPolicyIdInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Headers) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Headers"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) +func (s *ListDistributionsByOriginRequestPolicyIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByOriginRequestPolicyIdInput"} + if s.OriginRequestPolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("OriginRequestPolicyId")) + } + if s.OriginRequestPolicyId != nil && len(*s.OriginRequestPolicyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OriginRequestPolicyId", 1)) } if invalidParams.Len() > 0 { @@ -10613,133 +14231,89 @@ func (s *Headers) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *Headers) SetItems(v []*string) *Headers { - s.Items = v +// SetMarker sets the Marker field's value. +func (s *ListDistributionsByOriginRequestPolicyIdInput) SetMarker(v string) *ListDistributionsByOriginRequestPolicyIdInput { + s.Marker = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *Headers) SetQuantity(v int64) *Headers { - s.Quantity = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListDistributionsByOriginRequestPolicyIdInput) SetMaxItems(v int64) *ListDistributionsByOriginRequestPolicyIdInput { + s.MaxItems = &v return s } -// An invalidation. -type Invalidation struct { - _ struct{} `type:"structure"` - - // The date and time the invalidation request was first made. - // - // CreateTime is a required field - CreateTime *time.Time `type:"timestamp" required:"true"` - - // The identifier for the invalidation request. For example: IDFDVBD632BHDS5. - // - // Id is a required field - Id *string `type:"string" required:"true"` +// SetOriginRequestPolicyId sets the OriginRequestPolicyId field's value. +func (s *ListDistributionsByOriginRequestPolicyIdInput) SetOriginRequestPolicyId(v string) *ListDistributionsByOriginRequestPolicyIdInput { + s.OriginRequestPolicyId = &v + return s +} - // The current invalidation information for the batch request. - // - // InvalidationBatch is a required field - InvalidationBatch *InvalidationBatch `type:"structure" required:"true"` +type ListDistributionsByOriginRequestPolicyIdOutput struct { + _ struct{} `type:"structure" payload:"DistributionIdList"` - // The status of the invalidation request. When the invalidation batch is finished, - // the status is Completed. - // - // Status is a required field - Status *string `type:"string" required:"true"` + // A list of distribution IDs. + DistributionIdList *DistributionIdList `type:"structure"` } // String returns the string representation -func (s Invalidation) String() string { +func (s ListDistributionsByOriginRequestPolicyIdOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Invalidation) GoString() string { +func (s ListDistributionsByOriginRequestPolicyIdOutput) GoString() string { return s.String() } -// SetCreateTime sets the CreateTime field's value. -func (s *Invalidation) SetCreateTime(v time.Time) *Invalidation { - s.CreateTime = &v - return s -} - -// SetId sets the Id field's value. -func (s *Invalidation) SetId(v string) *Invalidation { - s.Id = &v - return s -} - -// SetInvalidationBatch sets the InvalidationBatch field's value. -func (s *Invalidation) SetInvalidationBatch(v *InvalidationBatch) *Invalidation { - s.InvalidationBatch = v +// SetDistributionIdList sets the DistributionIdList field's value. +func (s *ListDistributionsByOriginRequestPolicyIdOutput) SetDistributionIdList(v *DistributionIdList) *ListDistributionsByOriginRequestPolicyIdOutput { + s.DistributionIdList = v return s } -// SetStatus sets the Status field's value. -func (s *Invalidation) SetStatus(v string) *Invalidation { - s.Status = &v - return s -} +// The request to list distributions that are associated with a specified AWS +// WAF web ACL. +type ListDistributionsByWebACLIdInput struct { + _ struct{} `locationName:"ListDistributionsByWebACLIdRequest" type:"structure"` -// An invalidation batch. -type InvalidationBatch struct { - _ struct{} `type:"structure"` + // Use Marker and MaxItems to control pagination of results. If you have more + // than MaxItems distributions that satisfy the request, the response includes + // a NextMarker element. To get the next page of results, submit another request. + // For the value of Marker, specify the value of NextMarker from the last response. + // (For the first request, omit Marker.) + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // A value that you specify to uniquely identify an invalidation request. CloudFront - // uses the value to prevent you from accidentally resubmitting an identical - // request. Whenever you create a new invalidation request, you must specify - // a new value for CallerReference and change other values in the request as - // applicable. One way to ensure that the value of CallerReference is unique - // is to use a timestamp, for example, 20120301090000. - // - // If you make a second invalidation request with the same value for CallerReference, - // and if the rest of the request is the same, CloudFront doesn't create a new - // invalidation request. Instead, CloudFront returns information about the invalidation - // request that you previously created with the same CallerReference. - // - // If CallerReference is a value you already sent in a previous invalidation - // batch request but the content of any Path is different from the original - // request, CloudFront returns an InvalidationBatchAlreadyExists error. - // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` + // The maximum number of distributions that you want CloudFront to return in + // the response body. The maximum and default values are both 100. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` - // A complex type that contains information about the objects that you want - // to invalidate. For more information, see Specifying the Objects to Invalidate - // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects) - // in the Amazon CloudFront Developer Guide. + // The ID of the AWS WAF web ACL that you want to list the associated distributions. + // If you specify "null" for the ID, the request returns a list of the distributions + // that aren't associated with a web ACL. // - // Paths is a required field - Paths *Paths `type:"structure" required:"true"` + // WebACLId is a required field + WebACLId *string `location:"uri" locationName:"WebACLId" type:"string" required:"true"` } // String returns the string representation -func (s InvalidationBatch) String() string { +func (s ListDistributionsByWebACLIdInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidationBatch) GoString() string { +func (s ListDistributionsByWebACLIdInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InvalidationBatch) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InvalidationBatch"} - if s.CallerReference == nil { - invalidParams.Add(request.NewErrParamRequired("CallerReference")) - } - if s.Paths == nil { - invalidParams.Add(request.NewErrParamRequired("Paths")) +func (s *ListDistributionsByWebACLIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByWebACLIdInput"} + if s.WebACLId == nil { + invalidParams.Add(request.NewErrParamRequired("WebACLId")) } - if s.Paths != nil { - if err := s.Paths.Validate(); err != nil { - invalidParams.AddNested("Paths", err.(request.ErrInvalidParams)) - } + if s.WebACLId != nil && len(*s.WebACLId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) } if invalidParams.Len() > 0 { @@ -10748,253 +14322,273 @@ func (s *InvalidationBatch) Validate() error { return nil } -// SetCallerReference sets the CallerReference field's value. -func (s *InvalidationBatch) SetCallerReference(v string) *InvalidationBatch { - s.CallerReference = &v +// SetMarker sets the Marker field's value. +func (s *ListDistributionsByWebACLIdInput) SetMarker(v string) *ListDistributionsByWebACLIdInput { + s.Marker = &v return s } -// SetPaths sets the Paths field's value. -func (s *InvalidationBatch) SetPaths(v *Paths) *InvalidationBatch { - s.Paths = v +// SetMaxItems sets the MaxItems field's value. +func (s *ListDistributionsByWebACLIdInput) SetMaxItems(v int64) *ListDistributionsByWebACLIdInput { + s.MaxItems = &v return s } -// The InvalidationList complex type describes the list of invalidation objects. -// For more information about invalidation, see Invalidating Objects (Web Distributions -// Only) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html) -// in the Amazon CloudFront Developer Guide. -type InvalidationList struct { - _ struct{} `type:"structure"` - - // A flag that indicates whether more invalidation batch requests remain to - // be listed. If your results were truncated, you can make a follow-up pagination - // request using the Marker request parameter to retrieve more invalidation - // batches in the list. - // - // IsTruncated is a required field - IsTruncated *bool `type:"boolean" required:"true"` - - // A complex type that contains one InvalidationSummary element for each invalidation - // batch created by the current AWS account. - Items []*InvalidationSummary `locationNameList:"InvalidationSummary" type:"list"` - - // The value that you provided for the Marker request parameter. - // - // Marker is a required field - Marker *string `type:"string" required:"true"` - - // The value that you provided for the MaxItems request parameter. - // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` - - // If IsTruncated is true, this element is present and contains the value that - // you can use for the Marker request parameter to continue listing your invalidation - // batches where they left off. - NextMarker *string `type:"string"` +// SetWebACLId sets the WebACLId field's value. +func (s *ListDistributionsByWebACLIdInput) SetWebACLId(v string) *ListDistributionsByWebACLIdInput { + s.WebACLId = &v + return s +} - // The number of invalidation batches that were created by the current AWS account. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` +// The response to a request to list the distributions that are associated with +// a specified AWS WAF web ACL. +type ListDistributionsByWebACLIdOutput struct { + _ struct{} `type:"structure" payload:"DistributionList"` + + // The DistributionList type. + DistributionList *DistributionList `type:"structure"` } // String returns the string representation -func (s InvalidationList) String() string { +func (s ListDistributionsByWebACLIdOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidationList) GoString() string { +func (s ListDistributionsByWebACLIdOutput) GoString() string { return s.String() } -// SetIsTruncated sets the IsTruncated field's value. -func (s *InvalidationList) SetIsTruncated(v bool) *InvalidationList { - s.IsTruncated = &v +// SetDistributionList sets the DistributionList field's value. +func (s *ListDistributionsByWebACLIdOutput) SetDistributionList(v *DistributionList) *ListDistributionsByWebACLIdOutput { + s.DistributionList = v return s } -// SetItems sets the Items field's value. -func (s *InvalidationList) SetItems(v []*InvalidationSummary) *InvalidationList { - s.Items = v - return s +// The request to list your distributions. +type ListDistributionsInput struct { + _ struct{} `locationName:"ListDistributionsRequest" type:"structure"` + + // Use this when paginating results to indicate where to begin in your list + // of distributions. The results include distributions in the list that occur + // after the marker. To get the next page of results, set the Marker to the + // value of the NextMarker from the current page's response (which is also the + // ID of the last distribution on that page). + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of distributions you want in the response body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` +} + +// String returns the string representation +func (s ListDistributionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDistributionsInput) GoString() string { + return s.String() } // SetMarker sets the Marker field's value. -func (s *InvalidationList) SetMarker(v string) *InvalidationList { +func (s *ListDistributionsInput) SetMarker(v string) *ListDistributionsInput { s.Marker = &v return s } // SetMaxItems sets the MaxItems field's value. -func (s *InvalidationList) SetMaxItems(v int64) *InvalidationList { +func (s *ListDistributionsInput) SetMaxItems(v int64) *ListDistributionsInput { s.MaxItems = &v return s } -// SetNextMarker sets the NextMarker field's value. -func (s *InvalidationList) SetNextMarker(v string) *InvalidationList { - s.NextMarker = &v - return s +// The returned result of the corresponding request. +type ListDistributionsOutput struct { + _ struct{} `type:"structure" payload:"DistributionList"` + + // The DistributionList type. + DistributionList *DistributionList `type:"structure"` } -// SetQuantity sets the Quantity field's value. -func (s *InvalidationList) SetQuantity(v int64) *InvalidationList { - s.Quantity = &v - return s +// String returns the string representation +func (s ListDistributionsOutput) String() string { + return awsutil.Prettify(s) } -// A summary of an invalidation request. -type InvalidationSummary struct { - _ struct{} `type:"structure"` +// GoString returns the string representation +func (s ListDistributionsOutput) GoString() string { + return s.String() +} - // The time that an invalidation request was created. - // - // CreateTime is a required field - CreateTime *time.Time `type:"timestamp" required:"true"` +// SetDistributionList sets the DistributionList field's value. +func (s *ListDistributionsOutput) SetDistributionList(v *DistributionList) *ListDistributionsOutput { + s.DistributionList = v + return s +} - // The unique ID for an invalidation request. - // - // Id is a required field - Id *string `type:"string" required:"true"` +type ListFieldLevelEncryptionConfigsInput struct { + _ struct{} `locationName:"ListFieldLevelEncryptionConfigsRequest" type:"structure"` - // The status of an invalidation request. - // - // Status is a required field - Status *string `type:"string" required:"true"` + // Use this when paginating results to indicate where to begin in your list + // of configurations. The results include configurations in the list that occur + // after the marker. To get the next page of results, set the Marker to the + // value of the NextMarker from the current page's response (which is also the + // ID of the last configuration on that page). + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of field-level encryption configurations you want in the + // response body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s InvalidationSummary) String() string { +func (s ListFieldLevelEncryptionConfigsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidationSummary) GoString() string { +func (s ListFieldLevelEncryptionConfigsInput) GoString() string { return s.String() } -// SetCreateTime sets the CreateTime field's value. -func (s *InvalidationSummary) SetCreateTime(v time.Time) *InvalidationSummary { - s.CreateTime = &v +// SetMarker sets the Marker field's value. +func (s *ListFieldLevelEncryptionConfigsInput) SetMarker(v string) *ListFieldLevelEncryptionConfigsInput { + s.Marker = &v return s } -// SetId sets the Id field's value. -func (s *InvalidationSummary) SetId(v string) *InvalidationSummary { - s.Id = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListFieldLevelEncryptionConfigsInput) SetMaxItems(v int64) *ListFieldLevelEncryptionConfigsInput { + s.MaxItems = &v return s } -// SetStatus sets the Status field's value. -func (s *InvalidationSummary) SetStatus(v string) *InvalidationSummary { - s.Status = &v +type ListFieldLevelEncryptionConfigsOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionList"` + + // Returns a list of all field-level encryption configurations that have been + // created in CloudFront for this account. + FieldLevelEncryptionList *FieldLevelEncryptionList `type:"structure"` +} + +// String returns the string representation +func (s ListFieldLevelEncryptionConfigsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFieldLevelEncryptionConfigsOutput) GoString() string { + return s.String() +} + +// SetFieldLevelEncryptionList sets the FieldLevelEncryptionList field's value. +func (s *ListFieldLevelEncryptionConfigsOutput) SetFieldLevelEncryptionList(v *FieldLevelEncryptionList) *ListFieldLevelEncryptionConfigsOutput { + s.FieldLevelEncryptionList = v return s } -// A complex type that lists the active CloudFront key pairs, if any, that are -// associated with AwsAccountNumber. -// -// For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). -type KeyPairIds struct { - _ struct{} `type:"structure"` +type ListFieldLevelEncryptionProfilesInput struct { + _ struct{} `locationName:"ListFieldLevelEncryptionProfilesRequest" type:"structure"` - // A complex type that lists the active CloudFront key pairs, if any, that are - // associated with AwsAccountNumber. - // - // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). - Items []*string `locationNameList:"KeyPairId" type:"list"` + // Use this when paginating results to indicate where to begin in your list + // of profiles. The results include profiles in the list that occur after the + // marker. To get the next page of results, set the Marker to the value of the + // NextMarker from the current page's response (which is also the ID of the + // last profile on that page). + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The number of active CloudFront key pairs for AwsAccountNumber. - // - // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // The maximum number of field-level encryption profiles you want in the response + // body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s KeyPairIds) String() string { +func (s ListFieldLevelEncryptionProfilesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s KeyPairIds) GoString() string { +func (s ListFieldLevelEncryptionProfilesInput) GoString() string { return s.String() } -// SetItems sets the Items field's value. -func (s *KeyPairIds) SetItems(v []*string) *KeyPairIds { - s.Items = v +// SetMarker sets the Marker field's value. +func (s *ListFieldLevelEncryptionProfilesInput) SetMarker(v string) *ListFieldLevelEncryptionProfilesInput { + s.Marker = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *KeyPairIds) SetQuantity(v int64) *KeyPairIds { - s.Quantity = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListFieldLevelEncryptionProfilesInput) SetMaxItems(v int64) *ListFieldLevelEncryptionProfilesInput { + s.MaxItems = &v return s } -// A complex type that contains a Lambda function association. -type LambdaFunctionAssociation struct { - _ struct{} `type:"structure"` +type ListFieldLevelEncryptionProfilesOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileList"` - // Specifies the event type that triggers a Lambda function invocation. You - // can specify the following values: - // - // * viewer-request: The function executes when CloudFront receives a request - // from a viewer and before it checks to see whether the requested object - // is in the edge cache. - // - // * origin-request: The function executes only when CloudFront forwards - // a request to your origin. When the requested object is in the edge cache, - // the function doesn't execute. - // - // * origin-response: The function executes after CloudFront receives a response - // from the origin and before it caches the object in the response. When - // the requested object is in the edge cache, the function doesn't execute. - // - // * viewer-response: The function executes before CloudFront returns the - // requested object to the viewer. The function executes regardless of whether - // the object was already in the edge cache. If the origin returns an HTTP - // status code other than HTTP 200 (OK), the function doesn't execute. - // - // EventType is a required field - EventType *string `type:"string" required:"true" enum:"EventType"` + // Returns a list of the field-level encryption profiles that have been created + // in CloudFront for this account. + FieldLevelEncryptionProfileList *FieldLevelEncryptionProfileList `type:"structure"` +} - // A flag that allows a Lambda function to have read access to the body content. - // For more information, see Accessing the Request Body by Choosing the Include - // Body Option (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) - // in the Amazon CloudFront Developer Guide. - IncludeBody *bool `type:"boolean"` +// String returns the string representation +func (s ListFieldLevelEncryptionProfilesOutput) String() string { + return awsutil.Prettify(s) +} - // The ARN of the Lambda function. You must specify the ARN of a function version; - // you can't specify a Lambda alias or $LATEST. +// GoString returns the string representation +func (s ListFieldLevelEncryptionProfilesOutput) GoString() string { + return s.String() +} + +// SetFieldLevelEncryptionProfileList sets the FieldLevelEncryptionProfileList field's value. +func (s *ListFieldLevelEncryptionProfilesOutput) SetFieldLevelEncryptionProfileList(v *FieldLevelEncryptionProfileList) *ListFieldLevelEncryptionProfilesOutput { + s.FieldLevelEncryptionProfileList = v + return s +} + +// The request to list invalidations. +type ListInvalidationsInput struct { + _ struct{} `locationName:"ListInvalidationsRequest" type:"structure"` + + // The distribution's ID. // - // LambdaFunctionARN is a required field - LambdaFunctionARN *string `type:"string" required:"true"` + // DistributionId is a required field + DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` + + // Use this parameter when paginating results to indicate where to begin in + // your list of invalidation batches. Because the results are returned in decreasing + // order from most recent to oldest, the most recent results are on the first + // page, the second page will contain earlier results, and so on. To get the + // next page of results, set Marker to the value of the NextMarker from the + // current page's response. This value is the same as the ID of the last invalidation + // batch on that page. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of invalidation batches that you want in the response + // body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s LambdaFunctionAssociation) String() string { +func (s ListInvalidationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LambdaFunctionAssociation) GoString() string { +func (s ListInvalidationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LambdaFunctionAssociation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociation"} - if s.EventType == nil { - invalidParams.Add(request.NewErrParamRequired("EventType")) +func (s *ListInvalidationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInvalidationsInput"} + if s.DistributionId == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionId")) } - if s.LambdaFunctionARN == nil { - invalidParams.Add(request.NewErrParamRequired("LambdaFunctionARN")) + if s.DistributionId != nil && len(*s.DistributionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) } if invalidParams.Len() > 0 { @@ -11003,471 +14597,516 @@ func (s *LambdaFunctionAssociation) Validate() error { return nil } -// SetEventType sets the EventType field's value. -func (s *LambdaFunctionAssociation) SetEventType(v string) *LambdaFunctionAssociation { - s.EventType = &v +// SetDistributionId sets the DistributionId field's value. +func (s *ListInvalidationsInput) SetDistributionId(v string) *ListInvalidationsInput { + s.DistributionId = &v return s } -// SetIncludeBody sets the IncludeBody field's value. -func (s *LambdaFunctionAssociation) SetIncludeBody(v bool) *LambdaFunctionAssociation { - s.IncludeBody = &v +// SetMarker sets the Marker field's value. +func (s *ListInvalidationsInput) SetMarker(v string) *ListInvalidationsInput { + s.Marker = &v return s } -// SetLambdaFunctionARN sets the LambdaFunctionARN field's value. -func (s *LambdaFunctionAssociation) SetLambdaFunctionARN(v string) *LambdaFunctionAssociation { - s.LambdaFunctionARN = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListInvalidationsInput) SetMaxItems(v int64) *ListInvalidationsInput { + s.MaxItems = &v return s } -// A complex type that specifies a list of Lambda functions associations for -// a cache behavior. -// -// If you want to invoke one or more Lambda functions triggered by requests -// that match the PathPattern of the cache behavior, specify the applicable -// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation -// items in this list (one for each possible value of EventType) and each EventType -// can be associated with the Lambda function only once. -// -// If you don't want to invoke any Lambda functions for the requests that match -// PathPattern, specify 0 for Quantity and omit Items. -type LambdaFunctionAssociations struct { - _ struct{} `type:"structure"` - - // Optional: A complex type that contains LambdaFunctionAssociation items for - // this cache behavior. If Quantity is 0, you can omit Items. - Items []*LambdaFunctionAssociation `locationNameList:"LambdaFunctionAssociation" type:"list"` +// The returned result of the corresponding request. +type ListInvalidationsOutput struct { + _ struct{} `type:"structure" payload:"InvalidationList"` - // The number of Lambda function associations for this cache behavior. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // Information about invalidation batches. + InvalidationList *InvalidationList `type:"structure"` } // String returns the string representation -func (s LambdaFunctionAssociations) String() string { +func (s ListInvalidationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LambdaFunctionAssociations) GoString() string { +func (s ListInvalidationsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LambdaFunctionAssociations) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociations"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetItems sets the Items field's value. -func (s *LambdaFunctionAssociations) SetItems(v []*LambdaFunctionAssociation) *LambdaFunctionAssociations { - s.Items = v - return s -} - -// SetQuantity sets the Quantity field's value. -func (s *LambdaFunctionAssociations) SetQuantity(v int64) *LambdaFunctionAssociations { - s.Quantity = &v +// SetInvalidationList sets the InvalidationList field's value. +func (s *ListInvalidationsOutput) SetInvalidationList(v *InvalidationList) *ListInvalidationsOutput { + s.InvalidationList = v return s } -// The request to list origin access identities. -type ListCloudFrontOriginAccessIdentitiesInput struct { - _ struct{} `locationName:"ListCloudFrontOriginAccessIdentitiesRequest" type:"structure"` +type ListOriginRequestPoliciesInput struct { + _ struct{} `locationName:"ListOriginRequestPoliciesRequest" type:"structure"` - // Use this when paginating results to indicate where to begin in your list - // of origin access identities. The results include identities in the list that - // occur after the marker. To get the next page of results, set the Marker to - // the value of the NextMarker from the current page's response (which is also - // the ID of the last identity on that page). + // Use this field when paginating results to indicate where to begin in your + // list of origin request policies. The response includes origin request policies + // in the list that occur after the marker. To get the next page of the list, + // set this field’s value to the value of NextMarker from the current page’s + // response. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The maximum number of origin access identities you want in the response body. + // The maximum number of origin request policies that you want in the response. MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + + // A filter to return only the specified kinds of origin request policies. Valid + // values are: + // + // * managed – Returns only the managed policies created by AWS. + // + // * custom – Returns only the custom policies created in your AWS account. + Type *string `location:"querystring" locationName:"Type" type:"string" enum:"OriginRequestPolicyType"` } // String returns the string representation -func (s ListCloudFrontOriginAccessIdentitiesInput) String() string { +func (s ListOriginRequestPoliciesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCloudFrontOriginAccessIdentitiesInput) GoString() string { +func (s ListOriginRequestPoliciesInput) GoString() string { return s.String() } // SetMarker sets the Marker field's value. -func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMarker(v string) *ListCloudFrontOriginAccessIdentitiesInput { +func (s *ListOriginRequestPoliciesInput) SetMarker(v string) *ListOriginRequestPoliciesInput { s.Marker = &v return s } // SetMaxItems sets the MaxItems field's value. -func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMaxItems(v int64) *ListCloudFrontOriginAccessIdentitiesInput { +func (s *ListOriginRequestPoliciesInput) SetMaxItems(v int64) *ListOriginRequestPoliciesInput { s.MaxItems = &v return s } -// The returned result of the corresponding request. -type ListCloudFrontOriginAccessIdentitiesOutput struct { - _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityList"` +// SetType sets the Type field's value. +func (s *ListOriginRequestPoliciesInput) SetType(v string) *ListOriginRequestPoliciesInput { + s.Type = &v + return s +} - // The CloudFrontOriginAccessIdentityList type. - CloudFrontOriginAccessIdentityList *OriginAccessIdentityList `type:"structure"` +type ListOriginRequestPoliciesOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicyList"` + + // A list of origin request policies. + OriginRequestPolicyList *OriginRequestPolicyList `type:"structure"` } // String returns the string representation -func (s ListCloudFrontOriginAccessIdentitiesOutput) String() string { +func (s ListOriginRequestPoliciesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCloudFrontOriginAccessIdentitiesOutput) GoString() string { +func (s ListOriginRequestPoliciesOutput) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentityList sets the CloudFrontOriginAccessIdentityList field's value. -func (s *ListCloudFrontOriginAccessIdentitiesOutput) SetCloudFrontOriginAccessIdentityList(v *OriginAccessIdentityList) *ListCloudFrontOriginAccessIdentitiesOutput { - s.CloudFrontOriginAccessIdentityList = v +// SetOriginRequestPolicyList sets the OriginRequestPolicyList field's value. +func (s *ListOriginRequestPoliciesOutput) SetOriginRequestPolicyList(v *OriginRequestPolicyList) *ListOriginRequestPoliciesOutput { + s.OriginRequestPolicyList = v return s } -// The request to list distributions that are associated with a specified AWS -// WAF web ACL. -type ListDistributionsByWebACLIdInput struct { - _ struct{} `locationName:"ListDistributionsByWebACLIdRequest" type:"structure"` +type ListPublicKeysInput struct { + _ struct{} `locationName:"ListPublicKeysRequest" type:"structure"` - // Use Marker and MaxItems to control pagination of results. If you have more - // than MaxItems distributions that satisfy the request, the response includes - // a NextMarker element. To get the next page of results, submit another request. - // For the value of Marker, specify the value of NextMarker from the last response. - // (For the first request, omit Marker.) + // Use this when paginating results to indicate where to begin in your list + // of public keys. The results include public keys in the list that occur after + // the marker. To get the next page of results, set the Marker to the value + // of the NextMarker from the current page's response (which is also the ID + // of the last public key on that page). Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The maximum number of distributions that you want CloudFront to return in - // the response body. The maximum and default values are both 100. + // The maximum number of public keys you want in the response body. MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` - - // The ID of the AWS WAF web ACL that you want to list the associated distributions. - // If you specify "null" for the ID, the request returns a list of the distributions - // that aren't associated with a web ACL. - // - // WebACLId is a required field - WebACLId *string `location:"uri" locationName:"WebACLId" type:"string" required:"true"` } // String returns the string representation -func (s ListDistributionsByWebACLIdInput) String() string { +func (s ListPublicKeysInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDistributionsByWebACLIdInput) GoString() string { +func (s ListPublicKeysInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListDistributionsByWebACLIdInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByWebACLIdInput"} - if s.WebACLId == nil { - invalidParams.Add(request.NewErrParamRequired("WebACLId")) - } - if s.WebACLId != nil && len(*s.WebACLId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetMarker sets the Marker field's value. -func (s *ListDistributionsByWebACLIdInput) SetMarker(v string) *ListDistributionsByWebACLIdInput { +func (s *ListPublicKeysInput) SetMarker(v string) *ListPublicKeysInput { s.Marker = &v return s } // SetMaxItems sets the MaxItems field's value. -func (s *ListDistributionsByWebACLIdInput) SetMaxItems(v int64) *ListDistributionsByWebACLIdInput { +func (s *ListPublicKeysInput) SetMaxItems(v int64) *ListPublicKeysInput { s.MaxItems = &v return s } -// SetWebACLId sets the WebACLId field's value. -func (s *ListDistributionsByWebACLIdInput) SetWebACLId(v string) *ListDistributionsByWebACLIdInput { - s.WebACLId = &v - return s -} - -// The response to a request to list the distributions that are associated with -// a specified AWS WAF web ACL. -type ListDistributionsByWebACLIdOutput struct { - _ struct{} `type:"structure" payload:"DistributionList"` +type ListPublicKeysOutput struct { + _ struct{} `type:"structure" payload:"PublicKeyList"` - // The DistributionList type. - DistributionList *DistributionList `type:"structure"` + // Returns a list of all public keys that have been added to CloudFront for + // this account. + PublicKeyList *PublicKeyList `type:"structure"` } // String returns the string representation -func (s ListDistributionsByWebACLIdOutput) String() string { +func (s ListPublicKeysOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDistributionsByWebACLIdOutput) GoString() string { +func (s ListPublicKeysOutput) GoString() string { return s.String() } -// SetDistributionList sets the DistributionList field's value. -func (s *ListDistributionsByWebACLIdOutput) SetDistributionList(v *DistributionList) *ListDistributionsByWebACLIdOutput { - s.DistributionList = v +// SetPublicKeyList sets the PublicKeyList field's value. +func (s *ListPublicKeysOutput) SetPublicKeyList(v *PublicKeyList) *ListPublicKeysOutput { + s.PublicKeyList = v return s } -// The request to list your distributions. -type ListDistributionsInput struct { - _ struct{} `locationName:"ListDistributionsRequest" type:"structure"` +// The request to list your streaming distributions. +type ListStreamingDistributionsInput struct { + _ struct{} `locationName:"ListStreamingDistributionsRequest" type:"structure"` - // Use this when paginating results to indicate where to begin in your list - // of distributions. The results include distributions in the list that occur - // after the marker. To get the next page of results, set the Marker to the - // value of the NextMarker from the current page's response (which is also the - // ID of the last distribution on that page). + // The value that you provided for the Marker request parameter. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The maximum number of distributions you want in the response body. + // The value that you provided for the MaxItems request parameter. MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s ListDistributionsInput) String() string { +func (s ListStreamingDistributionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDistributionsInput) GoString() string { +func (s ListStreamingDistributionsInput) GoString() string { return s.String() } // SetMarker sets the Marker field's value. -func (s *ListDistributionsInput) SetMarker(v string) *ListDistributionsInput { +func (s *ListStreamingDistributionsInput) SetMarker(v string) *ListStreamingDistributionsInput { s.Marker = &v return s } // SetMaxItems sets the MaxItems field's value. -func (s *ListDistributionsInput) SetMaxItems(v int64) *ListDistributionsInput { +func (s *ListStreamingDistributionsInput) SetMaxItems(v int64) *ListStreamingDistributionsInput { s.MaxItems = &v return s } // The returned result of the corresponding request. -type ListDistributionsOutput struct { - _ struct{} `type:"structure" payload:"DistributionList"` +type ListStreamingDistributionsOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistributionList"` - // The DistributionList type. - DistributionList *DistributionList `type:"structure"` + // The StreamingDistributionList type. + StreamingDistributionList *StreamingDistributionList `type:"structure"` } // String returns the string representation -func (s ListDistributionsOutput) String() string { +func (s ListStreamingDistributionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDistributionsOutput) GoString() string { +func (s ListStreamingDistributionsOutput) GoString() string { return s.String() } -// SetDistributionList sets the DistributionList field's value. -func (s *ListDistributionsOutput) SetDistributionList(v *DistributionList) *ListDistributionsOutput { - s.DistributionList = v - return s -} - -type ListFieldLevelEncryptionConfigsInput struct { - _ struct{} `locationName:"ListFieldLevelEncryptionConfigsRequest" type:"structure"` - - // Use this when paginating results to indicate where to begin in your list - // of configurations. The results include configurations in the list that occur - // after the marker. To get the next page of results, set the Marker to the - // value of the NextMarker from the current page's response (which is also the - // ID of the last configuration on that page). - Marker *string `location:"querystring" locationName:"Marker" type:"string"` +// SetStreamingDistributionList sets the StreamingDistributionList field's value. +func (s *ListStreamingDistributionsOutput) SetStreamingDistributionList(v *StreamingDistributionList) *ListStreamingDistributionsOutput { + s.StreamingDistributionList = v + return s +} - // The maximum number of field-level encryption configurations you want in the - // response body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` +// The request to list tags for a CloudFront resource. +type ListTagsForResourceInput struct { + _ struct{} `locationName:"ListTagsForResourceRequest" type:"structure"` + + // An ARN of a CloudFront resource. + // + // Resource is a required field + Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` } // String returns the string representation -func (s ListFieldLevelEncryptionConfigsInput) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFieldLevelEncryptionConfigsInput) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } -// SetMarker sets the Marker field's value. -func (s *ListFieldLevelEncryptionConfigsInput) SetMarker(v string) *ListFieldLevelEncryptionConfigsInput { - s.Marker = &v - return s +// 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.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetMaxItems sets the MaxItems field's value. -func (s *ListFieldLevelEncryptionConfigsInput) SetMaxItems(v int64) *ListFieldLevelEncryptionConfigsInput { - s.MaxItems = &v +// SetResource sets the Resource field's value. +func (s *ListTagsForResourceInput) SetResource(v string) *ListTagsForResourceInput { + s.Resource = &v return s } -type ListFieldLevelEncryptionConfigsOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionList"` +// The returned result of the corresponding request. +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure" payload:"Tags"` - // Returns a list of all field-level encryption configurations that have been - // created in CloudFront for this account. - FieldLevelEncryptionList *FieldLevelEncryptionList `type:"structure"` + // A complex type that contains zero or more Tag elements. + // + // Tags is a required field + Tags *Tags `type:"structure" required:"true"` } // String returns the string representation -func (s ListFieldLevelEncryptionConfigsOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFieldLevelEncryptionConfigsOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetFieldLevelEncryptionList sets the FieldLevelEncryptionList field's value. -func (s *ListFieldLevelEncryptionConfigsOutput) SetFieldLevelEncryptionList(v *FieldLevelEncryptionList) *ListFieldLevelEncryptionConfigsOutput { - s.FieldLevelEncryptionList = v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v *Tags) *ListTagsForResourceOutput { + s.Tags = v return s } -type ListFieldLevelEncryptionProfilesInput struct { - _ struct{} `locationName:"ListFieldLevelEncryptionProfilesRequest" type:"structure"` +// A complex type that controls whether access logs are written for the distribution. +type LoggingConfig struct { + _ struct{} `type:"structure"` - // Use this when paginating results to indicate where to begin in your list - // of profiles. The results include profiles in the list that occur after the - // marker. To get the next page of results, set the Marker to the value of the - // NextMarker from the current page's response (which is also the ID of the - // last profile on that page). - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. + // + // Bucket is a required field + Bucket *string `type:"string" required:"true"` - // The maximum number of field-level encryption profiles you want in the response - // body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + // Specifies whether you want CloudFront to save access logs to an Amazon S3 + // bucket. If you don't want to enable logging when you create a distribution + // or if you want to disable logging for an existing distribution, specify false + // for Enabled, and specify empty Bucket and Prefix elements. If you specify + // false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, + // the values are automatically deleted. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // Specifies whether you want CloudFront to include cookies in access logs, + // specify true for IncludeCookies. If you choose to include cookies in logs, + // CloudFront logs all cookies regardless of how you configure the cache behaviors + // for this distribution. If you don't want to include cookies when you create + // a distribution or if you want to disable include cookies for an existing + // distribution, specify false for IncludeCookies. + // + // IncludeCookies is a required field + IncludeCookies *bool `type:"boolean" required:"true"` + + // An optional string that you want CloudFront to prefix to the access log filenames + // for this distribution, for example, myprefix/. If you want to enable logging, + // but you don't want to specify a prefix, you still must include an empty Prefix + // element in the Logging element. + // + // Prefix is a required field + Prefix *string `type:"string" required:"true"` } // String returns the string representation -func (s ListFieldLevelEncryptionProfilesInput) String() string { +func (s LoggingConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFieldLevelEncryptionProfilesInput) GoString() string { +func (s LoggingConfig) GoString() string { return s.String() } -// SetMarker sets the Marker field's value. -func (s *ListFieldLevelEncryptionProfilesInput) SetMarker(v string) *ListFieldLevelEncryptionProfilesInput { - s.Marker = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *LoggingConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"} + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) + } + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.IncludeCookies == nil { + invalidParams.Add(request.NewErrParamRequired("IncludeCookies")) + } + if s.Prefix == nil { + invalidParams.Add(request.NewErrParamRequired("Prefix")) + } -// SetMaxItems sets the MaxItems field's value. -func (s *ListFieldLevelEncryptionProfilesInput) SetMaxItems(v int64) *ListFieldLevelEncryptionProfilesInput { - s.MaxItems = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -type ListFieldLevelEncryptionProfilesOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileList"` - - // Returns a list of the field-level encryption profiles that have been created - // in CloudFront for this account. - FieldLevelEncryptionProfileList *FieldLevelEncryptionProfileList `type:"structure"` +// SetBucket sets the Bucket field's value. +func (s *LoggingConfig) SetBucket(v string) *LoggingConfig { + s.Bucket = &v + return s } -// String returns the string representation -func (s ListFieldLevelEncryptionProfilesOutput) String() string { - return awsutil.Prettify(s) +// SetEnabled sets the Enabled field's value. +func (s *LoggingConfig) SetEnabled(v bool) *LoggingConfig { + s.Enabled = &v + return s } -// GoString returns the string representation -func (s ListFieldLevelEncryptionProfilesOutput) GoString() string { - return s.String() +// SetIncludeCookies sets the IncludeCookies field's value. +func (s *LoggingConfig) SetIncludeCookies(v bool) *LoggingConfig { + s.IncludeCookies = &v + return s } -// SetFieldLevelEncryptionProfileList sets the FieldLevelEncryptionProfileList field's value. -func (s *ListFieldLevelEncryptionProfilesOutput) SetFieldLevelEncryptionProfileList(v *FieldLevelEncryptionProfileList) *ListFieldLevelEncryptionProfilesOutput { - s.FieldLevelEncryptionProfileList = v +// SetPrefix sets the Prefix field's value. +func (s *LoggingConfig) SetPrefix(v string) *LoggingConfig { + s.Prefix = &v return s } -// The request to list invalidations. -type ListInvalidationsInput struct { - _ struct{} `locationName:"ListInvalidationsRequest" type:"structure"` +// An origin. +// +// An origin is the location where content is stored, and from which CloudFront +// gets content to serve to viewers. To specify an origin: +// +// * Use the S3OriginConfig type to specify an Amazon S3 bucket that is not +// configured with static website hosting. +// +// * Use the CustomOriginConfig type to specify various other kinds of content +// containers or HTTP servers, including: An Amazon S3 bucket that is configured +// with static website hosting An Elastic Load Balancing load balancer An +// AWS Elemental MediaPackage origin An AWS Elemental MediaStore container +// Any other HTTP server, running on an Amazon EC2 instance or any other +// kind of host +// +// For the current maximum number of origins that you can specify per distribution, +// see General Quotas on Web Distributions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) +// in the Amazon CloudFront Developer Guide (quotas were formerly referred to +// as limits). +type Origin struct { + _ struct{} `type:"structure"` - // The distribution's ID. + // The number of times that CloudFront attempts to connect to the origin. The + // minimum number is 1, the maximum is 3, and the default (if you don’t specify + // otherwise) is 3. // - // DistributionId is a required field - DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` + // For a custom origin (including an Amazon S3 bucket that’s configured with + // static website hosting), this value also specifies the number of times that + // CloudFront attempts to get a response from the origin, in the case of an + // Origin Response Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout). + // + // For more information, see Origin Connection Attempts (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) + // in the Amazon CloudFront Developer Guide. + ConnectionAttempts *int64 `type:"integer"` - // Use this parameter when paginating results to indicate where to begin in - // your list of invalidation batches. Because the results are returned in decreasing - // order from most recent to oldest, the most recent results are on the first - // page, the second page will contain earlier results, and so on. To get the - // next page of results, set Marker to the value of the NextMarker from the - // current page's response. This value is the same as the ID of the last invalidation - // batch on that page. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + // The number of seconds that CloudFront waits when trying to establish a connection + // to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, + // and the default (if you don’t specify otherwise) is 10 seconds. + // + // For more information, see Origin Connection Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout) + // in the Amazon CloudFront Developer Guide. + ConnectionTimeout *int64 `type:"integer"` + + // A list of HTTP header names and values that CloudFront adds to requests it + // sends to the origin. + // + // For more information, see Adding Custom Headers to Origin Requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) + // in the Amazon CloudFront Developer Guide. + CustomHeaders *CustomHeaders `type:"structure"` + + // Use this type to specify an origin that is a content container or HTTP server, + // including an Amazon S3 bucket that is configured with static website hosting. + // To specify an Amazon S3 bucket that is not configured with static website + // hosting, use the S3OriginConfig type instead. + CustomOriginConfig *CustomOriginConfig `type:"structure"` + + // The domain name for the origin. + // + // For more information, see Origin Domain Name (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) + // in the Amazon CloudFront Developer Guide. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // A unique identifier for the origin. This value must be unique within the + // distribution. + // + // Use this value to specify the TargetOriginId in a CacheBehavior or DefaultCacheBehavior. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // An optional path that CloudFront appends to the origin domain name when CloudFront + // requests content from the origin. + // + // For more information, see Origin Path (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) + // in the Amazon CloudFront Developer Guide. + OriginPath *string `type:"string"` - // The maximum number of invalidation batches that you want in the response - // body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + // Use this type to specify an origin that is an Amazon S3 bucket that is not + // configured with static website hosting. To specify any other type of origin, + // including an Amazon S3 bucket that is configured with static website hosting, + // use the CustomOriginConfig type instead. + S3OriginConfig *S3OriginConfig `type:"structure"` } // String returns the string representation -func (s ListInvalidationsInput) String() string { +func (s Origin) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListInvalidationsInput) GoString() string { +func (s Origin) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListInvalidationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListInvalidationsInput"} - if s.DistributionId == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionId")) +func (s *Origin) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Origin"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) } - if s.DistributionId != nil && len(*s.DistributionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.CustomHeaders != nil { + if err := s.CustomHeaders.Validate(); err != nil { + invalidParams.AddNested("CustomHeaders", err.(request.ErrInvalidParams)) + } + } + if s.CustomOriginConfig != nil { + if err := s.CustomOriginConfig.Validate(); err != nil { + invalidParams.AddNested("CustomOriginConfig", err.(request.ErrInvalidParams)) + } + } + if s.S3OriginConfig != nil { + if err := s.S3OriginConfig.Validate(); err != nil { + invalidParams.AddNested("S3OriginConfig", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -11476,292 +15115,351 @@ func (s *ListInvalidationsInput) Validate() error { return nil } -// SetDistributionId sets the DistributionId field's value. -func (s *ListInvalidationsInput) SetDistributionId(v string) *ListInvalidationsInput { - s.DistributionId = &v +// SetConnectionAttempts sets the ConnectionAttempts field's value. +func (s *Origin) SetConnectionAttempts(v int64) *Origin { + s.ConnectionAttempts = &v return s } -// SetMarker sets the Marker field's value. -func (s *ListInvalidationsInput) SetMarker(v string) *ListInvalidationsInput { - s.Marker = &v +// SetConnectionTimeout sets the ConnectionTimeout field's value. +func (s *Origin) SetConnectionTimeout(v int64) *Origin { + s.ConnectionTimeout = &v return s } -// SetMaxItems sets the MaxItems field's value. -func (s *ListInvalidationsInput) SetMaxItems(v int64) *ListInvalidationsInput { - s.MaxItems = &v +// SetCustomHeaders sets the CustomHeaders field's value. +func (s *Origin) SetCustomHeaders(v *CustomHeaders) *Origin { + s.CustomHeaders = v return s } -// The returned result of the corresponding request. -type ListInvalidationsOutput struct { - _ struct{} `type:"structure" payload:"InvalidationList"` +// SetCustomOriginConfig sets the CustomOriginConfig field's value. +func (s *Origin) SetCustomOriginConfig(v *CustomOriginConfig) *Origin { + s.CustomOriginConfig = v + return s +} - // Information about invalidation batches. - InvalidationList *InvalidationList `type:"structure"` +// SetDomainName sets the DomainName field's value. +func (s *Origin) SetDomainName(v string) *Origin { + s.DomainName = &v + return s } -// String returns the string representation -func (s ListInvalidationsOutput) String() string { - return awsutil.Prettify(s) +// SetId sets the Id field's value. +func (s *Origin) SetId(v string) *Origin { + s.Id = &v + return s } -// GoString returns the string representation -func (s ListInvalidationsOutput) GoString() string { - return s.String() +// SetOriginPath sets the OriginPath field's value. +func (s *Origin) SetOriginPath(v string) *Origin { + s.OriginPath = &v + return s } -// SetInvalidationList sets the InvalidationList field's value. -func (s *ListInvalidationsOutput) SetInvalidationList(v *InvalidationList) *ListInvalidationsOutput { - s.InvalidationList = v +// SetS3OriginConfig sets the S3OriginConfig field's value. +func (s *Origin) SetS3OriginConfig(v *S3OriginConfig) *Origin { + s.S3OriginConfig = v return s } -type ListPublicKeysInput struct { - _ struct{} `locationName:"ListPublicKeysRequest" type:"structure"` +// CloudFront origin access identity. +type OriginAccessIdentity struct { + _ struct{} `type:"structure"` - // Use this when paginating results to indicate where to begin in your list - // of public keys. The results include public keys in the list that occur after - // the marker. To get the next page of results, set the Marker to the value - // of the NextMarker from the current page's response (which is also the ID - // of the last public key on that page). - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + // The current configuration information for the identity. + CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` - // The maximum number of public keys you want in the response body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + // The ID for the origin access identity, for example, E74FTE3AJFJ256A. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The Amazon S3 canonical user ID for the origin access identity, used when + // giving the origin access identity read permission to an object in Amazon + // S3. + // + // S3CanonicalUserId is a required field + S3CanonicalUserId *string `type:"string" required:"true"` } // String returns the string representation -func (s ListPublicKeysInput) String() string { +func (s OriginAccessIdentity) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListPublicKeysInput) GoString() string { +func (s OriginAccessIdentity) GoString() string { return s.String() } -// SetMarker sets the Marker field's value. -func (s *ListPublicKeysInput) SetMarker(v string) *ListPublicKeysInput { - s.Marker = &v +// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. +func (s *OriginAccessIdentity) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *OriginAccessIdentity { + s.CloudFrontOriginAccessIdentityConfig = v return s } -// SetMaxItems sets the MaxItems field's value. -func (s *ListPublicKeysInput) SetMaxItems(v int64) *ListPublicKeysInput { - s.MaxItems = &v +// SetId sets the Id field's value. +func (s *OriginAccessIdentity) SetId(v string) *OriginAccessIdentity { + s.Id = &v return s } -type ListPublicKeysOutput struct { - _ struct{} `type:"structure" payload:"PublicKeyList"` +// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. +func (s *OriginAccessIdentity) SetS3CanonicalUserId(v string) *OriginAccessIdentity { + s.S3CanonicalUserId = &v + return s +} - // Returns a list of all public keys that have been added to CloudFront for - // this account. - PublicKeyList *PublicKeyList `type:"structure"` +// Origin access identity configuration. Send a GET request to the /CloudFront +// API version/CloudFront/identity ID/config resource. +type OriginAccessIdentityConfig struct { + _ struct{} `type:"structure"` + + // A unique value (for example, a date-time stamp) that ensures that the request + // can't be replayed. + // + // If the value of CallerReference is new (regardless of the content of the + // CloudFrontOriginAccessIdentityConfig object), a new origin access identity + // is created. + // + // If the CallerReference is a value already sent in a previous identity request, + // and the content of the CloudFrontOriginAccessIdentityConfig is identical + // to the original request (ignoring white space), the response includes the + // same information returned to the original request. + // + // If the CallerReference is a value you already sent in a previous request + // to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig + // is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists + // error. + // + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` + + // Any comments you want to include about the origin access identity. + // + // Comment is a required field + Comment *string `type:"string" required:"true"` } // String returns the string representation -func (s ListPublicKeysOutput) String() string { +func (s OriginAccessIdentityConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListPublicKeysOutput) GoString() string { +func (s OriginAccessIdentityConfig) GoString() string { return s.String() } -// SetPublicKeyList sets the PublicKeyList field's value. -func (s *ListPublicKeysOutput) SetPublicKeyList(v *PublicKeyList) *ListPublicKeysOutput { - s.PublicKeyList = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *OriginAccessIdentityConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginAccessIdentityConfig"} + if s.CallerReference == nil { + invalidParams.Add(request.NewErrParamRequired("CallerReference")) + } + if s.Comment == nil { + invalidParams.Add(request.NewErrParamRequired("Comment")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCallerReference sets the CallerReference field's value. +func (s *OriginAccessIdentityConfig) SetCallerReference(v string) *OriginAccessIdentityConfig { + s.CallerReference = &v return s } -// The request to list your streaming distributions. -type ListStreamingDistributionsInput struct { - _ struct{} `locationName:"ListStreamingDistributionsRequest" type:"structure"` +// SetComment sets the Comment field's value. +func (s *OriginAccessIdentityConfig) SetComment(v string) *OriginAccessIdentityConfig { + s.Comment = &v + return s +} - // The value that you provided for the Marker request parameter. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` +// Lists the origin access identities for CloudFront.Send a GET request to the +// /CloudFront API version/origin-access-identity/cloudfront resource. The response +// includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary +// child elements. By default, your entire list of origin access identities +// is returned in one single page. If the list is long, you can paginate it +// using the MaxItems and Marker parameters. +type OriginAccessIdentityList struct { + _ struct{} `type:"structure"` - // The value that you provided for the MaxItems request parameter. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + // A flag that indicates whether more origin access identities remain to be + // listed. If your results were truncated, you can make a follow-up pagination + // request using the Marker request parameter to retrieve more items in the + // list. + // + // IsTruncated is a required field + IsTruncated *bool `type:"boolean" required:"true"` + + // A complex type that contains one CloudFrontOriginAccessIdentitySummary element + // for each origin access identity that was created by the current AWS account. + Items []*OriginAccessIdentitySummary `locationNameList:"CloudFrontOriginAccessIdentitySummary" type:"list"` + + // Use this when paginating results to indicate where to begin in your list + // of origin access identities. The results include identities in the list that + // occur after the marker. To get the next page of results, set the Marker to + // the value of the NextMarker from the current page's response (which is also + // the ID of the last identity on that page). + // + // Marker is a required field + Marker *string `type:"string" required:"true"` + + // The maximum number of origin access identities you want in the response body. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If IsTruncated is true, this element is present and contains the value you + // can use for the Marker request parameter to continue listing your origin + // access identities where they left off. + NextMarker *string `type:"string"` + + // The number of CloudFront origin access identities that were created by the + // current AWS account. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s ListStreamingDistributionsInput) String() string { +func (s OriginAccessIdentityList) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListStreamingDistributionsInput) GoString() string { +func (s OriginAccessIdentityList) GoString() string { return s.String() } +// SetIsTruncated sets the IsTruncated field's value. +func (s *OriginAccessIdentityList) SetIsTruncated(v bool) *OriginAccessIdentityList { + s.IsTruncated = &v + return s +} + +// SetItems sets the Items field's value. +func (s *OriginAccessIdentityList) SetItems(v []*OriginAccessIdentitySummary) *OriginAccessIdentityList { + s.Items = v + return s +} + // SetMarker sets the Marker field's value. -func (s *ListStreamingDistributionsInput) SetMarker(v string) *ListStreamingDistributionsInput { +func (s *OriginAccessIdentityList) SetMarker(v string) *OriginAccessIdentityList { s.Marker = &v return s } // SetMaxItems sets the MaxItems field's value. -func (s *ListStreamingDistributionsInput) SetMaxItems(v int64) *ListStreamingDistributionsInput { +func (s *OriginAccessIdentityList) SetMaxItems(v int64) *OriginAccessIdentityList { s.MaxItems = &v return s } -// The returned result of the corresponding request. -type ListStreamingDistributionsOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistributionList"` - - // The StreamingDistributionList type. - StreamingDistributionList *StreamingDistributionList `type:"structure"` +// SetNextMarker sets the NextMarker field's value. +func (s *OriginAccessIdentityList) SetNextMarker(v string) *OriginAccessIdentityList { + s.NextMarker = &v + return s } -// String returns the string representation -func (s ListStreamingDistributionsOutput) String() string { - return awsutil.Prettify(s) +// SetQuantity sets the Quantity field's value. +func (s *OriginAccessIdentityList) SetQuantity(v int64) *OriginAccessIdentityList { + s.Quantity = &v + return s } -// GoString returns the string representation -func (s ListStreamingDistributionsOutput) GoString() string { - return s.String() -} +// Summary of the information about a CloudFront origin access identity. +type OriginAccessIdentitySummary struct { + _ struct{} `type:"structure"` -// SetStreamingDistributionList sets the StreamingDistributionList field's value. -func (s *ListStreamingDistributionsOutput) SetStreamingDistributionList(v *StreamingDistributionList) *ListStreamingDistributionsOutput { - s.StreamingDistributionList = v - return s -} + // The comment for this origin access identity, as originally specified when + // created. + // + // Comment is a required field + Comment *string `type:"string" required:"true"` -// The request to list tags for a CloudFront resource. -type ListTagsForResourceInput struct { - _ struct{} `locationName:"ListTagsForResourceRequest" type:"structure"` + // The ID for the origin access identity. For example: E74FTE3AJFJ256A. + // + // Id is a required field + Id *string `type:"string" required:"true"` - // An ARN of a CloudFront resource. + // The Amazon S3 canonical user ID for the origin access identity, which you + // use when giving the origin access identity read permission to an object in + // Amazon S3. // - // Resource is a required field - Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` + // S3CanonicalUserId is a required field + S3CanonicalUserId *string `type:"string" required:"true"` } // String returns the string representation -func (s ListTagsForResourceInput) String() string { +func (s OriginAccessIdentitySummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { +func (s OriginAccessIdentitySummary) 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.Resource == nil { - invalidParams.Add(request.NewErrParamRequired("Resource")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetResource sets the Resource field's value. -func (s *ListTagsForResourceInput) SetResource(v string) *ListTagsForResourceInput { - s.Resource = &v +// SetComment sets the Comment field's value. +func (s *OriginAccessIdentitySummary) SetComment(v string) *OriginAccessIdentitySummary { + s.Comment = &v return s } -// The returned result of the corresponding request. -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure" payload:"Tags"` - - // A complex type that contains zero or more Tag elements. - // - // Tags is a required field - Tags *Tags `type:"structure" required:"true"` -} - -// 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() +// SetId sets the Id field's value. +func (s *OriginAccessIdentitySummary) SetId(v string) *OriginAccessIdentitySummary { + s.Id = &v + return s } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v *Tags) *ListTagsForResourceOutput { - s.Tags = v +// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. +func (s *OriginAccessIdentitySummary) SetS3CanonicalUserId(v string) *OriginAccessIdentitySummary { + s.S3CanonicalUserId = &v return s } -// A complex type that controls whether access logs are written for the distribution. -type LoggingConfig struct { +// A complex type that contains HeaderName and HeaderValue elements, if any, +// for this distribution. +type OriginCustomHeader struct { _ struct{} `type:"structure"` - // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. - // - // Bucket is a required field - Bucket *string `type:"string" required:"true"` - - // Specifies whether you want CloudFront to save access logs to an Amazon S3 - // bucket. If you don't want to enable logging when you create a distribution - // or if you want to disable logging for an existing distribution, specify false - // for Enabled, and specify empty Bucket and Prefix elements. If you specify - // false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, - // the values are automatically deleted. - // - // Enabled is a required field - Enabled *bool `type:"boolean" required:"true"` - - // Specifies whether you want CloudFront to include cookies in access logs, - // specify true for IncludeCookies. If you choose to include cookies in logs, - // CloudFront logs all cookies regardless of how you configure the cache behaviors - // for this distribution. If you don't want to include cookies when you create - // a distribution or if you want to disable include cookies for an existing - // distribution, specify false for IncludeCookies. + // The name of a header that you want CloudFront to send to your origin. For + // more information, see Adding Custom Headers to Origin Requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) + // in the Amazon CloudFront Developer Guide. // - // IncludeCookies is a required field - IncludeCookies *bool `type:"boolean" required:"true"` + // HeaderName is a required field + HeaderName *string `type:"string" required:"true"` - // An optional string that you want CloudFront to prefix to the access log filenames - // for this distribution, for example, myprefix/. If you want to enable logging, - // but you don't want to specify a prefix, you still must include an empty Prefix - // element in the Logging element. + // The value for the header that you specified in the HeaderName field. // - // Prefix is a required field - Prefix *string `type:"string" required:"true"` + // HeaderValue is a required field + HeaderValue *string `type:"string" required:"true"` } // String returns the string representation -func (s LoggingConfig) String() string { +func (s OriginCustomHeader) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LoggingConfig) GoString() string { +func (s OriginCustomHeader) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LoggingConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"} - if s.Bucket == nil { - invalidParams.Add(request.NewErrParamRequired("Bucket")) - } - if s.Enabled == nil { - invalidParams.Add(request.NewErrParamRequired("Enabled")) - } - if s.IncludeCookies == nil { - invalidParams.Add(request.NewErrParamRequired("IncludeCookies")) +func (s *OriginCustomHeader) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginCustomHeader"} + if s.HeaderName == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderName")) } - if s.Prefix == nil { - invalidParams.Add(request.NewErrParamRequired("Prefix")) + if s.HeaderValue == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderValue")) } if invalidParams.Len() > 0 { @@ -11770,148 +15468,74 @@ func (s *LoggingConfig) Validate() error { return nil } -// SetBucket sets the Bucket field's value. -func (s *LoggingConfig) SetBucket(v string) *LoggingConfig { - s.Bucket = &v - return s -} - -// SetEnabled sets the Enabled field's value. -func (s *LoggingConfig) SetEnabled(v bool) *LoggingConfig { - s.Enabled = &v - return s -} - -// SetIncludeCookies sets the IncludeCookies field's value. -func (s *LoggingConfig) SetIncludeCookies(v bool) *LoggingConfig { - s.IncludeCookies = &v - return s -} - -// SetPrefix sets the Prefix field's value. -func (s *LoggingConfig) SetPrefix(v string) *LoggingConfig { - s.Prefix = &v +// SetHeaderName sets the HeaderName field's value. +func (s *OriginCustomHeader) SetHeaderName(v string) *OriginCustomHeader { + s.HeaderName = &v return s } -// An origin. -// -// An origin is the location where content is stored, and from which CloudFront -// gets content to serve to viewers. To specify an origin: -// -// * Use the S3OriginConfig type to specify an Amazon S3 bucket that is not -// configured with static website hosting. -// -// * Use the CustomOriginConfig type to specify various other kinds of content -// containers or HTTP servers, including: An Amazon S3 bucket that is configured -// with static website hosting An Elastic Load Balancing load balancer An -// AWS Elemental MediaPackage origin An AWS Elemental MediaStore container -// Any other HTTP server, running on an Amazon EC2 instance or any other -// kind of host -// -// For the current maximum number of origins that you can specify per distribution, -// see General Quotas on Web Distributions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) -// in the Amazon CloudFront Developer Guide (quotas were formerly referred to -// as limits). -type Origin struct { - _ struct{} `type:"structure"` - - // The number of times that CloudFront attempts to connect to the origin. The - // minimum number is 1, the maximum is 3, and the default (if you don’t specify - // otherwise) is 3. - // - // For a custom origin (including an Amazon S3 bucket that’s configured with - // static website hosting), this value also specifies the number of times that - // CloudFront attempts to get a response from the origin, in the case of an - // Origin Response Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout). - // - // For more information, see Origin Connection Attempts (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) - // in the Amazon CloudFront Developer Guide. - ConnectionAttempts *int64 `type:"integer"` - - // The number of seconds that CloudFront waits when trying to establish a connection - // to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, - // and the default (if you don’t specify otherwise) is 10 seconds. - // - // For more information, see Origin Connection Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout) - // in the Amazon CloudFront Developer Guide. - ConnectionTimeout *int64 `type:"integer"` - - // A list of HTTP header names and values that CloudFront adds to requests it - // sends to the origin. - // - // For more information, see Adding Custom Headers to Origin Requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) - // in the Amazon CloudFront Developer Guide. - CustomHeaders *CustomHeaders `type:"structure"` +// SetHeaderValue sets the HeaderValue field's value. +func (s *OriginCustomHeader) SetHeaderValue(v string) *OriginCustomHeader { + s.HeaderValue = &v + return s +} - // Use this type to specify an origin that is a content container or HTTP server, - // including an Amazon S3 bucket that is configured with static website hosting. - // To specify an Amazon S3 bucket that is not configured with static website - // hosting, use the S3OriginConfig type instead. - CustomOriginConfig *CustomOriginConfig `type:"structure"` +// An origin group includes two origins (a primary origin and a second origin +// to failover to) and a failover criteria that you specify. You create an origin +// group to support origin failover in CloudFront. When you create or update +// a distribution, you can specifiy the origin group instead of a single origin, +// and CloudFront will failover from the primary origin to the second origin +// under the failover conditions that you've chosen. +type OriginGroup struct { + _ struct{} `type:"structure"` - // The domain name for the origin. - // - // For more information, see Origin Domain Name (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) - // in the Amazon CloudFront Developer Guide. + // A complex type that contains information about the failover criteria for + // an origin group. // - // DomainName is a required field - DomainName *string `type:"string" required:"true"` + // FailoverCriteria is a required field + FailoverCriteria *OriginGroupFailoverCriteria `type:"structure" required:"true"` - // A unique identifier for the origin. This value must be unique within the - // distribution. - // - // Use this value to specify the TargetOriginId in a CacheBehavior or DefaultCacheBehavior. + // The origin group's ID. // // Id is a required field Id *string `type:"string" required:"true"` - // An optional path that CloudFront appends to the origin domain name when CloudFront - // requests content from the origin. + // A complex type that contains information about the origins in an origin group. // - // For more information, see Origin Path (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) - // in the Amazon CloudFront Developer Guide. - OriginPath *string `type:"string"` - - // Use this type to specify an origin that is an Amazon S3 bucket that is not - // configured with static website hosting. To specify any other type of origin, - // including an Amazon S3 bucket that is configured with static website hosting, - // use the CustomOriginConfig type instead. - S3OriginConfig *S3OriginConfig `type:"structure"` + // Members is a required field + Members *OriginGroupMembers `type:"structure" required:"true"` } // String returns the string representation -func (s Origin) String() string { +func (s OriginGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Origin) GoString() string { +func (s OriginGroup) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Origin) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Origin"} - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) +func (s *OriginGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroup"} + if s.FailoverCriteria == nil { + invalidParams.Add(request.NewErrParamRequired("FailoverCriteria")) } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.CustomHeaders != nil { - if err := s.CustomHeaders.Validate(); err != nil { - invalidParams.AddNested("CustomHeaders", err.(request.ErrInvalidParams)) - } + if s.Members == nil { + invalidParams.Add(request.NewErrParamRequired("Members")) } - if s.CustomOriginConfig != nil { - if err := s.CustomOriginConfig.Validate(); err != nil { - invalidParams.AddNested("CustomOriginConfig", err.(request.ErrInvalidParams)) + if s.FailoverCriteria != nil { + if err := s.FailoverCriteria.Validate(); err != nil { + invalidParams.AddNested("FailoverCriteria", err.(request.ErrInvalidParams)) } } - if s.S3OriginConfig != nil { - if err := s.S3OriginConfig.Validate(); err != nil { - invalidParams.AddNested("S3OriginConfig", err.(request.ErrInvalidParams)) + if s.Members != nil { + if err := s.Members.Validate(); err != nil { + invalidParams.AddNested("Members", err.(request.ErrInvalidParams)) } } @@ -11921,151 +15545,96 @@ func (s *Origin) Validate() error { return nil } -// SetConnectionAttempts sets the ConnectionAttempts field's value. -func (s *Origin) SetConnectionAttempts(v int64) *Origin { - s.ConnectionAttempts = &v - return s -} - -// SetConnectionTimeout sets the ConnectionTimeout field's value. -func (s *Origin) SetConnectionTimeout(v int64) *Origin { - s.ConnectionTimeout = &v - return s -} - -// SetCustomHeaders sets the CustomHeaders field's value. -func (s *Origin) SetCustomHeaders(v *CustomHeaders) *Origin { - s.CustomHeaders = v - return s -} - -// SetCustomOriginConfig sets the CustomOriginConfig field's value. -func (s *Origin) SetCustomOriginConfig(v *CustomOriginConfig) *Origin { - s.CustomOriginConfig = v - return s -} - -// SetDomainName sets the DomainName field's value. -func (s *Origin) SetDomainName(v string) *Origin { - s.DomainName = &v +// SetFailoverCriteria sets the FailoverCriteria field's value. +func (s *OriginGroup) SetFailoverCriteria(v *OriginGroupFailoverCriteria) *OriginGroup { + s.FailoverCriteria = v return s } // SetId sets the Id field's value. -func (s *Origin) SetId(v string) *Origin { +func (s *OriginGroup) SetId(v string) *OriginGroup { s.Id = &v return s } -// SetOriginPath sets the OriginPath field's value. -func (s *Origin) SetOriginPath(v string) *Origin { - s.OriginPath = &v - return s -} - -// SetS3OriginConfig sets the S3OriginConfig field's value. -func (s *Origin) SetS3OriginConfig(v *S3OriginConfig) *Origin { - s.S3OriginConfig = v +// SetMembers sets the Members field's value. +func (s *OriginGroup) SetMembers(v *OriginGroupMembers) *OriginGroup { + s.Members = v return s } -// CloudFront origin access identity. -type OriginAccessIdentity struct { +// A complex data type that includes information about the failover criteria +// for an origin group, including the status codes for which CloudFront will +// failover from the primary origin to the second origin. +type OriginGroupFailoverCriteria struct { _ struct{} `type:"structure"` - // The current configuration information for the identity. - CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` - - // The ID for the origin access identity, for example, E74FTE3AJFJ256A. - // - // Id is a required field - Id *string `type:"string" required:"true"` - - // The Amazon S3 canonical user ID for the origin access identity, used when - // giving the origin access identity read permission to an object in Amazon - // S3. + // The status codes that, when returned from the primary origin, will trigger + // CloudFront to failover to the second origin. // - // S3CanonicalUserId is a required field - S3CanonicalUserId *string `type:"string" required:"true"` + // StatusCodes is a required field + StatusCodes *StatusCodes `type:"structure" required:"true"` } // String returns the string representation -func (s OriginAccessIdentity) String() string { +func (s OriginGroupFailoverCriteria) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginAccessIdentity) GoString() string { +func (s OriginGroupFailoverCriteria) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. -func (s *OriginAccessIdentity) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *OriginAccessIdentity { - s.CloudFrontOriginAccessIdentityConfig = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *OriginGroupFailoverCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroupFailoverCriteria"} + if s.StatusCodes == nil { + invalidParams.Add(request.NewErrParamRequired("StatusCodes")) + } + if s.StatusCodes != nil { + if err := s.StatusCodes.Validate(); err != nil { + invalidParams.AddNested("StatusCodes", err.(request.ErrInvalidParams)) + } + } -// SetId sets the Id field's value. -func (s *OriginAccessIdentity) SetId(v string) *OriginAccessIdentity { - s.Id = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. -func (s *OriginAccessIdentity) SetS3CanonicalUserId(v string) *OriginAccessIdentity { - s.S3CanonicalUserId = &v +// SetStatusCodes sets the StatusCodes field's value. +func (s *OriginGroupFailoverCriteria) SetStatusCodes(v *StatusCodes) *OriginGroupFailoverCriteria { + s.StatusCodes = v return s } -// Origin access identity configuration. Send a GET request to the /CloudFront -// API version/CloudFront/identity ID/config resource. -type OriginAccessIdentityConfig struct { +// An origin in an origin group. +type OriginGroupMember struct { _ struct{} `type:"structure"` - // A unique value (for example, a date-time stamp) that ensures that the request - // can't be replayed. - // - // If the value of CallerReference is new (regardless of the content of the - // CloudFrontOriginAccessIdentityConfig object), a new origin access identity - // is created. - // - // If the CallerReference is a value already sent in a previous identity request, - // and the content of the CloudFrontOriginAccessIdentityConfig is identical - // to the original request (ignoring white space), the response includes the - // same information returned to the original request. - // - // If the CallerReference is a value you already sent in a previous request - // to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig - // is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists - // error. - // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` - - // Any comments you want to include about the origin access identity. + // The ID for an origin in an origin group. // - // Comment is a required field - Comment *string `type:"string" required:"true"` + // OriginId is a required field + OriginId *string `type:"string" required:"true"` } // String returns the string representation -func (s OriginAccessIdentityConfig) String() string { +func (s OriginGroupMember) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginAccessIdentityConfig) GoString() string { +func (s OriginGroupMember) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginAccessIdentityConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginAccessIdentityConfig"} - if s.CallerReference == nil { - invalidParams.Add(request.NewErrParamRequired("CallerReference")) - } - if s.Comment == nil { - invalidParams.Add(request.NewErrParamRequired("Comment")) +func (s *OriginGroupMember) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroupMember"} + if s.OriginId == nil { + invalidParams.Add(request.NewErrParamRequired("OriginId")) } if invalidParams.Len() > 0 { @@ -12074,334 +15643,374 @@ func (s *OriginAccessIdentityConfig) Validate() error { return nil } -// SetCallerReference sets the CallerReference field's value. -func (s *OriginAccessIdentityConfig) SetCallerReference(v string) *OriginAccessIdentityConfig { - s.CallerReference = &v - return s -} - -// SetComment sets the Comment field's value. -func (s *OriginAccessIdentityConfig) SetComment(v string) *OriginAccessIdentityConfig { - s.Comment = &v - return s -} - -// Lists the origin access identities for CloudFront.Send a GET request to the -// /CloudFront API version/origin-access-identity/cloudfront resource. The response -// includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary -// child elements. By default, your entire list of origin access identities -// is returned in one single page. If the list is long, you can paginate it -// using the MaxItems and Marker parameters. -type OriginAccessIdentityList struct { - _ struct{} `type:"structure"` - - // A flag that indicates whether more origin access identities remain to be - // listed. If your results were truncated, you can make a follow-up pagination - // request using the Marker request parameter to retrieve more items in the - // list. - // - // IsTruncated is a required field - IsTruncated *bool `type:"boolean" required:"true"` - - // A complex type that contains one CloudFrontOriginAccessIdentitySummary element - // for each origin access identity that was created by the current AWS account. - Items []*OriginAccessIdentitySummary `locationNameList:"CloudFrontOriginAccessIdentitySummary" type:"list"` +// SetOriginId sets the OriginId field's value. +func (s *OriginGroupMember) SetOriginId(v string) *OriginGroupMember { + s.OriginId = &v + return s +} - // Use this when paginating results to indicate where to begin in your list - // of origin access identities. The results include identities in the list that - // occur after the marker. To get the next page of results, set the Marker to - // the value of the NextMarker from the current page's response (which is also - // the ID of the last identity on that page). - // - // Marker is a required field - Marker *string `type:"string" required:"true"` +// A complex data type for the origins included in an origin group. +type OriginGroupMembers struct { + _ struct{} `type:"structure"` - // The maximum number of origin access identities you want in the response body. + // Items (origins) in an origin group. // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` - - // If IsTruncated is true, this element is present and contains the value you - // can use for the Marker request parameter to continue listing your origin - // access identities where they left off. - NextMarker *string `type:"string"` + // Items is a required field + Items []*OriginGroupMember `locationNameList:"OriginGroupMember" min:"2" type:"list" required:"true"` - // The number of CloudFront origin access identities that were created by the - // current AWS account. + // The number of origins in an origin group. // // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s OriginAccessIdentityList) String() string { +func (s OriginGroupMembers) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginAccessIdentityList) GoString() string { +func (s OriginGroupMembers) GoString() string { return s.String() } -// SetIsTruncated sets the IsTruncated field's value. -func (s *OriginAccessIdentityList) SetIsTruncated(v bool) *OriginAccessIdentityList { - s.IsTruncated = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *OriginGroupMembers) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroupMembers"} + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Items != nil && len(s.Items) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Items", 2)) + } + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetItems sets the Items field's value. -func (s *OriginAccessIdentityList) SetItems(v []*OriginAccessIdentitySummary) *OriginAccessIdentityList { +func (s *OriginGroupMembers) SetItems(v []*OriginGroupMember) *OriginGroupMembers { s.Items = v return s } -// SetMarker sets the Marker field's value. -func (s *OriginAccessIdentityList) SetMarker(v string) *OriginAccessIdentityList { - s.Marker = &v - return s -} - -// SetMaxItems sets the MaxItems field's value. -func (s *OriginAccessIdentityList) SetMaxItems(v int64) *OriginAccessIdentityList { - s.MaxItems = &v - return s -} - -// SetNextMarker sets the NextMarker field's value. -func (s *OriginAccessIdentityList) SetNextMarker(v string) *OriginAccessIdentityList { - s.NextMarker = &v - return s -} - // SetQuantity sets the Quantity field's value. -func (s *OriginAccessIdentityList) SetQuantity(v int64) *OriginAccessIdentityList { +func (s *OriginGroupMembers) SetQuantity(v int64) *OriginGroupMembers { s.Quantity = &v return s } -// Summary of the information about a CloudFront origin access identity. -type OriginAccessIdentitySummary struct { +// A complex data type for the origin groups specified for a distribution. +type OriginGroups struct { _ struct{} `type:"structure"` - // The comment for this origin access identity, as originally specified when - // created. - // - // Comment is a required field - Comment *string `type:"string" required:"true"` - - // The ID for the origin access identity. For example: E74FTE3AJFJ256A. - // - // Id is a required field - Id *string `type:"string" required:"true"` + // The items (origin groups) in a distribution. + Items []*OriginGroup `locationNameList:"OriginGroup" type:"list"` - // The Amazon S3 canonical user ID for the origin access identity, which you - // use when giving the origin access identity read permission to an object in - // Amazon S3. + // The number of origin groups. // - // S3CanonicalUserId is a required field - S3CanonicalUserId *string `type:"string" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s OriginAccessIdentitySummary) String() string { +func (s OriginGroups) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginAccessIdentitySummary) GoString() string { +func (s OriginGroups) GoString() string { return s.String() } -// SetComment sets the Comment field's value. -func (s *OriginAccessIdentitySummary) SetComment(v string) *OriginAccessIdentitySummary { - s.Comment = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *OriginGroups) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroups"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetId sets the Id field's value. -func (s *OriginAccessIdentitySummary) SetId(v string) *OriginAccessIdentitySummary { - s.Id = &v +// SetItems sets the Items field's value. +func (s *OriginGroups) SetItems(v []*OriginGroup) *OriginGroups { + s.Items = v return s } -// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. -func (s *OriginAccessIdentitySummary) SetS3CanonicalUserId(v string) *OriginAccessIdentitySummary { - s.S3CanonicalUserId = &v +// SetQuantity sets the Quantity field's value. +func (s *OriginGroups) SetQuantity(v int64) *OriginGroups { + s.Quantity = &v return s } -// A complex type that contains HeaderName and HeaderValue elements, if any, -// for this distribution. -type OriginCustomHeader struct { +// An origin request policy. +// +// When it’s attached to a cache behavior, the origin request policy determines +// the values that CloudFront includes in requests that it sends to the origin. +// Each request that CloudFront sends to the origin includes the following: +// +// * The request body and the URL path (without the domain name) from the +// viewer request. +// +// * The headers that CloudFront automatically includes in every origin request, +// including Host, User-Agent, and X-Amz-Cf-Id. +// +// * All HTTP headers, cookies, and URL query strings that are specified +// in the cache policy or the origin request policy. These can include items +// from the viewer request and, in the case of headers, additional ones that +// are added by CloudFront. +// +// CloudFront sends a request when it can’t find an object in its cache that +// matches the request. If you want to send values to the origin and also include +// them in the cache key, use CreateCachePolicy. +type OriginRequestPolicy struct { _ struct{} `type:"structure"` - // The name of a header that you want CloudFront to forward to your origin. - // For more information, see Forwarding Custom Headers to Your Origin (Web Distributions - // Only) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) - // in the Amazon CloudFront Developer Guide. + // The unique identifier for the origin request policy. // - // HeaderName is a required field - HeaderName *string `type:"string" required:"true"` + // Id is a required field + Id *string `type:"string" required:"true"` - // The value for the header that you specified in the HeaderName field. + // The date and time when the origin request policy was last modified. // - // HeaderValue is a required field - HeaderValue *string `type:"string" required:"true"` + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The origin request policy configuration. + // + // OriginRequestPolicyConfig is a required field + OriginRequestPolicyConfig *OriginRequestPolicyConfig `type:"structure" required:"true"` } // String returns the string representation -func (s OriginCustomHeader) String() string { +func (s OriginRequestPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginCustomHeader) GoString() string { +func (s OriginRequestPolicy) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *OriginCustomHeader) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginCustomHeader"} - if s.HeaderName == nil { - invalidParams.Add(request.NewErrParamRequired("HeaderName")) - } - if s.HeaderValue == nil { - invalidParams.Add(request.NewErrParamRequired("HeaderValue")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetId sets the Id field's value. +func (s *OriginRequestPolicy) SetId(v string) *OriginRequestPolicy { + s.Id = &v + return s } -// SetHeaderName sets the HeaderName field's value. -func (s *OriginCustomHeader) SetHeaderName(v string) *OriginCustomHeader { - s.HeaderName = &v +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *OriginRequestPolicy) SetLastModifiedTime(v time.Time) *OriginRequestPolicy { + s.LastModifiedTime = &v return s } -// SetHeaderValue sets the HeaderValue field's value. -func (s *OriginCustomHeader) SetHeaderValue(v string) *OriginCustomHeader { - s.HeaderValue = &v +// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. +func (s *OriginRequestPolicy) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *OriginRequestPolicy { + s.OriginRequestPolicyConfig = v return s } -// An origin group includes two origins (a primary origin and a second origin -// to failover to) and a failover criteria that you specify. You create an origin -// group to support origin failover in CloudFront. When you create or update -// a distribution, you can specifiy the origin group instead of a single origin, -// and CloudFront will failover from the primary origin to the second origin -// under the failover conditions that you've chosen. -type OriginGroup struct { +// An origin request policy configuration. +// +// This configuration determines the values that CloudFront includes in requests +// that it sends to the origin. Each request that CloudFront sends to the origin +// includes the following: +// +// * The request body and the URL path (without the domain name) from the +// viewer request. +// +// * The headers that CloudFront automatically includes in every origin request, +// including Host, User-Agent, and X-Amz-Cf-Id. +// +// * All HTTP headers, cookies, and URL query strings that are specified +// in the cache policy or the origin request policy. These can include items +// from the viewer request and, in the case of headers, additional ones that +// are added by CloudFront. +// +// CloudFront sends a request when it can’t find an object in its cache that +// matches the request. If you want to send values to the origin and also include +// them in the cache key, use CreateCachePolicy. +type OriginRequestPolicyConfig struct { _ struct{} `type:"structure"` - // A complex type that contains information about the failover criteria for - // an origin group. + // A comment to describe the origin request policy. + Comment *string `type:"string"` + + // The cookies from viewer requests to include in origin requests. // - // FailoverCriteria is a required field - FailoverCriteria *OriginGroupFailoverCriteria `type:"structure" required:"true"` + // CookiesConfig is a required field + CookiesConfig *OriginRequestPolicyCookiesConfig `type:"structure" required:"true"` - // The origin group's ID. + // The HTTP headers to include in origin requests. These can include headers + // from viewer requests and additional headers added by CloudFront. // - // Id is a required field - Id *string `type:"string" required:"true"` + // HeadersConfig is a required field + HeadersConfig *OriginRequestPolicyHeadersConfig `type:"structure" required:"true"` - // A complex type that contains information about the origins in an origin group. + // A unique name to identify the origin request policy. // - // Members is a required field - Members *OriginGroupMembers `type:"structure" required:"true"` + // Name is a required field + Name *string `type:"string" required:"true"` + + // The URL query strings from viewer requests to include in origin requests. + // + // QueryStringsConfig is a required field + QueryStringsConfig *OriginRequestPolicyQueryStringsConfig `type:"structure" required:"true"` } // String returns the string representation -func (s OriginGroup) String() string { +func (s OriginRequestPolicyConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroup) GoString() string { +func (s OriginRequestPolicyConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroup) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroup"} - if s.FailoverCriteria == nil { - invalidParams.Add(request.NewErrParamRequired("FailoverCriteria")) +func (s *OriginRequestPolicyConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyConfig"} + if s.CookiesConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CookiesConfig")) } - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) + if s.HeadersConfig == nil { + invalidParams.Add(request.NewErrParamRequired("HeadersConfig")) } - if s.Members == nil { - invalidParams.Add(request.NewErrParamRequired("Members")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.FailoverCriteria != nil { - if err := s.FailoverCriteria.Validate(); err != nil { - invalidParams.AddNested("FailoverCriteria", err.(request.ErrInvalidParams)) + if s.QueryStringsConfig == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStringsConfig")) + } + if s.CookiesConfig != nil { + if err := s.CookiesConfig.Validate(); err != nil { + invalidParams.AddNested("CookiesConfig", err.(request.ErrInvalidParams)) } } - if s.Members != nil { - if err := s.Members.Validate(); err != nil { - invalidParams.AddNested("Members", err.(request.ErrInvalidParams)) + if s.HeadersConfig != nil { + if err := s.HeadersConfig.Validate(); err != nil { + invalidParams.AddNested("HeadersConfig", err.(request.ErrInvalidParams)) + } + } + if s.QueryStringsConfig != nil { + if err := s.QueryStringsConfig.Validate(); err != nil { + invalidParams.AddNested("QueryStringsConfig", err.(request.ErrInvalidParams)) } } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *OriginRequestPolicyConfig) SetComment(v string) *OriginRequestPolicyConfig { + s.Comment = &v + return s +} + +// SetCookiesConfig sets the CookiesConfig field's value. +func (s *OriginRequestPolicyConfig) SetCookiesConfig(v *OriginRequestPolicyCookiesConfig) *OriginRequestPolicyConfig { + s.CookiesConfig = v + return s } -// SetFailoverCriteria sets the FailoverCriteria field's value. -func (s *OriginGroup) SetFailoverCriteria(v *OriginGroupFailoverCriteria) *OriginGroup { - s.FailoverCriteria = v +// SetHeadersConfig sets the HeadersConfig field's value. +func (s *OriginRequestPolicyConfig) SetHeadersConfig(v *OriginRequestPolicyHeadersConfig) *OriginRequestPolicyConfig { + s.HeadersConfig = v return s } -// SetId sets the Id field's value. -func (s *OriginGroup) SetId(v string) *OriginGroup { - s.Id = &v +// SetName sets the Name field's value. +func (s *OriginRequestPolicyConfig) SetName(v string) *OriginRequestPolicyConfig { + s.Name = &v return s } -// SetMembers sets the Members field's value. -func (s *OriginGroup) SetMembers(v *OriginGroupMembers) *OriginGroup { - s.Members = v +// SetQueryStringsConfig sets the QueryStringsConfig field's value. +func (s *OriginRequestPolicyConfig) SetQueryStringsConfig(v *OriginRequestPolicyQueryStringsConfig) *OriginRequestPolicyConfig { + s.QueryStringsConfig = v return s } -// A complex data type that includes information about the failover criteria -// for an origin group, including the status codes for which CloudFront will -// failover from the primary origin to the second origin. -type OriginGroupFailoverCriteria struct { +// An object that determines whether any cookies in viewer requests (and if +// so, which cookies) are included in requests that CloudFront sends to the +// origin. +type OriginRequestPolicyCookiesConfig struct { _ struct{} `type:"structure"` - // The status codes that, when returned from the primary origin, will trigger - // CloudFront to failover to the second origin. + // Determines whether cookies in viewer requests are included in requests that + // CloudFront sends to the origin. Valid values are: // - // StatusCodes is a required field - StatusCodes *StatusCodes `type:"structure" required:"true"` + // * none – Cookies in viewer requests are not included in requests that + // CloudFront sends to the origin. Even when this field is set to none, any + // cookies that are listed in a CachePolicy are included in origin requests. + // + // * whitelist – The cookies in viewer requests that are listed in the + // CookieNames type are included in requests that CloudFront sends to the + // origin. + // + // * all – All cookies in viewer requests are included in requests that + // CloudFront sends to the origin. + // + // CookieBehavior is a required field + CookieBehavior *string `type:"string" required:"true" enum:"OriginRequestPolicyCookieBehavior"` + + // Contains a list of cookie names. + Cookies *CookieNames `type:"structure"` } // String returns the string representation -func (s OriginGroupFailoverCriteria) String() string { +func (s OriginRequestPolicyCookiesConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroupFailoverCriteria) GoString() string { +func (s OriginRequestPolicyCookiesConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroupFailoverCriteria) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroupFailoverCriteria"} - if s.StatusCodes == nil { - invalidParams.Add(request.NewErrParamRequired("StatusCodes")) +func (s *OriginRequestPolicyCookiesConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyCookiesConfig"} + if s.CookieBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("CookieBehavior")) } - if s.StatusCodes != nil { - if err := s.StatusCodes.Validate(); err != nil { - invalidParams.AddNested("StatusCodes", err.(request.ErrInvalidParams)) + if s.Cookies != nil { + if err := s.Cookies.Validate(); err != nil { + invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) } } @@ -12411,37 +16020,68 @@ func (s *OriginGroupFailoverCriteria) Validate() error { return nil } -// SetStatusCodes sets the StatusCodes field's value. -func (s *OriginGroupFailoverCriteria) SetStatusCodes(v *StatusCodes) *OriginGroupFailoverCriteria { - s.StatusCodes = v +// SetCookieBehavior sets the CookieBehavior field's value. +func (s *OriginRequestPolicyCookiesConfig) SetCookieBehavior(v string) *OriginRequestPolicyCookiesConfig { + s.CookieBehavior = &v return s } -// An origin in an origin group. -type OriginGroupMember struct { +// SetCookies sets the Cookies field's value. +func (s *OriginRequestPolicyCookiesConfig) SetCookies(v *CookieNames) *OriginRequestPolicyCookiesConfig { + s.Cookies = v + return s +} + +// An object that determines whether any HTTP headers (and if so, which headers) +// are included in requests that CloudFront sends to the origin. +type OriginRequestPolicyHeadersConfig struct { _ struct{} `type:"structure"` - // The ID for an origin in an origin group. + // Determines whether any HTTP headers are included in requests that CloudFront + // sends to the origin. Valid values are: // - // OriginId is a required field - OriginId *string `type:"string" required:"true"` + // * none – HTTP headers are not included in requests that CloudFront sends + // to the origin. Even when this field is set to none, any headers that are + // listed in a CachePolicy are included in origin requests. + // + // * whitelist – The HTTP headers that are listed in the Headers type are + // included in requests that CloudFront sends to the origin. + // + // * allViewer – All HTTP headers in viewer requests are included in requests + // that CloudFront sends to the origin. + // + // * allViewerAndWhitelistCloudFront – All HTTP headers in viewer requests + // and the additional CloudFront headers that are listed in the Headers type + // are included in requests that CloudFront sends to the origin. The additional + // headers are added by CloudFront. + // + // HeaderBehavior is a required field + HeaderBehavior *string `type:"string" required:"true" enum:"OriginRequestPolicyHeaderBehavior"` + + // Contains a list of HTTP header names. + Headers *Headers `type:"structure"` } // String returns the string representation -func (s OriginGroupMember) String() string { +func (s OriginRequestPolicyHeadersConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroupMember) GoString() string { +func (s OriginRequestPolicyHeadersConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroupMember) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroupMember"} - if s.OriginId == nil { - invalidParams.Add(request.NewErrParamRequired("OriginId")) +func (s *OriginRequestPolicyHeadersConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyHeadersConfig"} + if s.HeaderBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderBehavior")) + } + if s.Headers != nil { + if err := s.Headers.Validate(); err != nil { + invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -12450,115 +16090,124 @@ func (s *OriginGroupMember) Validate() error { return nil } -// SetOriginId sets the OriginId field's value. -func (s *OriginGroupMember) SetOriginId(v string) *OriginGroupMember { - s.OriginId = &v +// SetHeaderBehavior sets the HeaderBehavior field's value. +func (s *OriginRequestPolicyHeadersConfig) SetHeaderBehavior(v string) *OriginRequestPolicyHeadersConfig { + s.HeaderBehavior = &v return s } -// A complex data type for the origins included in an origin group. -type OriginGroupMembers struct { +// SetHeaders sets the Headers field's value. +func (s *OriginRequestPolicyHeadersConfig) SetHeaders(v *Headers) *OriginRequestPolicyHeadersConfig { + s.Headers = v + return s +} + +// A list of origin request policies. +type OriginRequestPolicyList struct { _ struct{} `type:"structure"` - // Items (origins) in an origin group. + // Contains the origin request policies in the list. + Items []*OriginRequestPolicySummary `locationNameList:"OriginRequestPolicySummary" type:"list"` + + // The maximum number of origin request policies requested. // - // Items is a required field - Items []*OriginGroupMember `locationNameList:"OriginGroupMember" min:"2" type:"list" required:"true"` + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` - // The number of origins in an origin group. + // If there are more items in the list than are in this response, this element + // is present. It contains the value that you should use in the Marker field + // of a subsequent request to continue listing origin request policies where + // you left off. + NextMarker *string `type:"string"` + + // The total number of origin request policies returned in the response. // // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s OriginGroupMembers) String() string { +func (s OriginRequestPolicyList) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroupMembers) GoString() string { +func (s OriginRequestPolicyList) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroupMembers) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroupMembers"} - if s.Items == nil { - invalidParams.Add(request.NewErrParamRequired("Items")) - } - if s.Items != nil && len(s.Items) < 2 { - invalidParams.Add(request.NewErrParamMinLen("Items", 2)) - } - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } - } - } +// SetItems sets the Items field's value. +func (s *OriginRequestPolicyList) SetItems(v []*OriginRequestPolicySummary) *OriginRequestPolicyList { + s.Items = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMaxItems sets the MaxItems field's value. +func (s *OriginRequestPolicyList) SetMaxItems(v int64) *OriginRequestPolicyList { + s.MaxItems = &v + return s } -// SetItems sets the Items field's value. -func (s *OriginGroupMembers) SetItems(v []*OriginGroupMember) *OriginGroupMembers { - s.Items = v +// SetNextMarker sets the NextMarker field's value. +func (s *OriginRequestPolicyList) SetNextMarker(v string) *OriginRequestPolicyList { + s.NextMarker = &v return s } // SetQuantity sets the Quantity field's value. -func (s *OriginGroupMembers) SetQuantity(v int64) *OriginGroupMembers { +func (s *OriginRequestPolicyList) SetQuantity(v int64) *OriginRequestPolicyList { s.Quantity = &v return s } -// A complex data type for the origin groups specified for a distribution. -type OriginGroups struct { +// An object that determines whether any URL query strings in viewer requests +// (and if so, which query strings) are included in requests that CloudFront +// sends to the origin. +type OriginRequestPolicyQueryStringsConfig struct { _ struct{} `type:"structure"` - // The items (origin groups) in a distribution. - Items []*OriginGroup `locationNameList:"OriginGroup" type:"list"` - - // The number of origin groups. + // Determines whether any URL query strings in viewer requests are included + // in requests that CloudFront sends to the origin. Valid values are: // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // * none – Query strings in viewer requests are not included in requests + // that CloudFront sends to the origin. Even when this field is set to none, + // any query strings that are listed in a CachePolicy are included in origin + // requests. + // + // * whitelist – The query strings in viewer requests that are listed in + // the QueryStringNames type are included in requests that CloudFront sends + // to the origin. + // + // * all – All query strings in viewer requests are included in requests + // that CloudFront sends to the origin. + // + // QueryStringBehavior is a required field + QueryStringBehavior *string `type:"string" required:"true" enum:"OriginRequestPolicyQueryStringBehavior"` + + // Contains a list of the query strings in viewer requests that are included + // in requests that CloudFront sends to the origin. + QueryStrings *QueryStringNames `type:"structure"` } // String returns the string representation -func (s OriginGroups) String() string { +func (s OriginRequestPolicyQueryStringsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroups) GoString() string { +func (s OriginRequestPolicyQueryStringsConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroups) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroups"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } +func (s *OriginRequestPolicyQueryStringsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyQueryStringsConfig"} + if s.QueryStringBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStringBehavior")) + } + if s.QueryStrings != nil { + if err := s.QueryStrings.Validate(); err != nil { + invalidParams.AddNested("QueryStrings", err.(request.ErrInvalidParams)) } } @@ -12568,15 +16217,53 @@ func (s *OriginGroups) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *OriginGroups) SetItems(v []*OriginGroup) *OriginGroups { - s.Items = v +// SetQueryStringBehavior sets the QueryStringBehavior field's value. +func (s *OriginRequestPolicyQueryStringsConfig) SetQueryStringBehavior(v string) *OriginRequestPolicyQueryStringsConfig { + s.QueryStringBehavior = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *OriginGroups) SetQuantity(v int64) *OriginGroups { - s.Quantity = &v +// SetQueryStrings sets the QueryStrings field's value. +func (s *OriginRequestPolicyQueryStringsConfig) SetQueryStrings(v *QueryStringNames) *OriginRequestPolicyQueryStringsConfig { + s.QueryStrings = v + return s +} + +// Contains an origin request policy. +type OriginRequestPolicySummary struct { + _ struct{} `type:"structure"` + + // The origin request policy. + // + // OriginRequestPolicy is a required field + OriginRequestPolicy *OriginRequestPolicy `type:"structure" required:"true"` + + // The type of origin request policy, either managed (created by AWS) or custom + // (created in this AWS account). + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"OriginRequestPolicyType"` +} + +// String returns the string representation +func (s OriginRequestPolicySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OriginRequestPolicySummary) GoString() string { + return s.String() +} + +// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. +func (s *OriginRequestPolicySummary) SetOriginRequestPolicy(v *OriginRequestPolicy) *OriginRequestPolicySummary { + s.OriginRequestPolicy = v + return s +} + +// SetType sets the Type field's value. +func (s *OriginRequestPolicySummary) SetType(v string) *OriginRequestPolicySummary { + s.Type = &v return s } @@ -12652,35 +16339,161 @@ type Origins struct { } // String returns the string representation -func (s Origins) String() string { +func (s Origins) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Origins) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Origins) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Origins"} + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Items != nil && len(s.Items) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Items", 1)) + } + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItems sets the Items field's value. +func (s *Origins) SetItems(v []*Origin) *Origins { + s.Items = v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *Origins) SetQuantity(v int64) *Origins { + s.Quantity = &v + return s +} + +// This object determines the values that CloudFront includes in the cache key. +// These values can include HTTP headers, cookies, and URL query strings. CloudFront +// uses the cache key to find an object in its cache that it can return to the +// viewer. +// +// The headers, cookies, and query strings that are included in the cache key +// are automatically included in requests that CloudFront sends to the origin. +// CloudFront sends a request when it can’t find an object in its cache that +// matches the request’s cache key. If you want to send values to the origin +// but not include them in the cache key, use CreateOriginRequestPolicy. +type ParametersInCacheKeyAndForwardedToOrigin struct { + _ struct{} `type:"structure"` + + // An object that determines whether any cookies in viewer requests (and if + // so, which cookies) are included in the cache key and automatically included + // in requests that CloudFront sends to the origin. + // + // CookiesConfig is a required field + CookiesConfig *CachePolicyCookiesConfig `type:"structure" required:"true"` + + // A flag that determines whether the Accept-Encoding HTTP header is included + // in the cache key and included in requests that CloudFront sends to the origin. + // + // If this field is true and the viewer request includes the Accept-Encoding + // header, then CloudFront normalizes the value of the viewer’s Accept-Encoding + // header to one of the following: + // + // * Accept-Encoding: gzip (if gzip is in the viewer’s Accept-Encoding + // header) + // + // * Accept-Encoding: identity (if gzip is not in the viewer’s Accept-Encoding + // header) + // + // CloudFront includes the normalized header in the cache key and includes it + // in requests that CloudFront sends to the origin. + // + // If this field is false, then CloudFront treats the Accept-Encoding header + // the same as any other HTTP header in the viewer request. By default, it’s + // not included in the cache key and it’s not included in origin requests. + // You can manually add Accept-Encoding to the headers whitelist like any other + // HTTP header. + // + // When this field is true, you should not whitelist the Accept-Encoding header + // in the cache policy or in an origin request policy attached to the same cache + // behavior. + // + // For more information, see Cache compressed objects (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) + // in the Amazon CloudFront Developer Guide. + // + // EnableAcceptEncodingGzip is a required field + EnableAcceptEncodingGzip *bool `type:"boolean" required:"true"` + + // An object that determines whether any HTTP headers (and if so, which headers) + // are included in the cache key and automatically included in requests that + // CloudFront sends to the origin. + // + // HeadersConfig is a required field + HeadersConfig *CachePolicyHeadersConfig `type:"structure" required:"true"` + + // An object that determines whether any URL query strings in viewer requests + // (and if so, which query strings) are included in the cache key and automatically + // included in requests that CloudFront sends to the origin. + // + // QueryStringsConfig is a required field + QueryStringsConfig *CachePolicyQueryStringsConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ParametersInCacheKeyAndForwardedToOrigin) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Origins) GoString() string { +func (s ParametersInCacheKeyAndForwardedToOrigin) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Origins) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Origins"} - if s.Items == nil { - invalidParams.Add(request.NewErrParamRequired("Items")) +func (s *ParametersInCacheKeyAndForwardedToOrigin) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParametersInCacheKeyAndForwardedToOrigin"} + if s.CookiesConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CookiesConfig")) } - if s.Items != nil && len(s.Items) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Items", 1)) + if s.EnableAcceptEncodingGzip == nil { + invalidParams.Add(request.NewErrParamRequired("EnableAcceptEncodingGzip")) } - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) + if s.HeadersConfig == nil { + invalidParams.Add(request.NewErrParamRequired("HeadersConfig")) } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } + if s.QueryStringsConfig == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStringsConfig")) + } + if s.CookiesConfig != nil { + if err := s.CookiesConfig.Validate(); err != nil { + invalidParams.AddNested("CookiesConfig", err.(request.ErrInvalidParams)) + } + } + if s.HeadersConfig != nil { + if err := s.HeadersConfig.Validate(); err != nil { + invalidParams.AddNested("HeadersConfig", err.(request.ErrInvalidParams)) + } + } + if s.QueryStringsConfig != nil { + if err := s.QueryStringsConfig.Validate(); err != nil { + invalidParams.AddNested("QueryStringsConfig", err.(request.ErrInvalidParams)) } } @@ -12690,15 +16503,27 @@ func (s *Origins) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *Origins) SetItems(v []*Origin) *Origins { - s.Items = v +// SetCookiesConfig sets the CookiesConfig field's value. +func (s *ParametersInCacheKeyAndForwardedToOrigin) SetCookiesConfig(v *CachePolicyCookiesConfig) *ParametersInCacheKeyAndForwardedToOrigin { + s.CookiesConfig = v return s } -// SetQuantity sets the Quantity field's value. -func (s *Origins) SetQuantity(v int64) *Origins { - s.Quantity = &v +// SetEnableAcceptEncodingGzip sets the EnableAcceptEncodingGzip field's value. +func (s *ParametersInCacheKeyAndForwardedToOrigin) SetEnableAcceptEncodingGzip(v bool) *ParametersInCacheKeyAndForwardedToOrigin { + s.EnableAcceptEncodingGzip = &v + return s +} + +// SetHeadersConfig sets the HeadersConfig field's value. +func (s *ParametersInCacheKeyAndForwardedToOrigin) SetHeadersConfig(v *CachePolicyHeadersConfig) *ParametersInCacheKeyAndForwardedToOrigin { + s.HeadersConfig = v + return s +} + +// SetQueryStringsConfig sets the QueryStringsConfig field's value. +func (s *ParametersInCacheKeyAndForwardedToOrigin) SetQueryStringsConfig(v *CachePolicyQueryStringsConfig) *ParametersInCacheKeyAndForwardedToOrigin { + s.QueryStringsConfig = v return s } @@ -13177,6 +17002,15 @@ func (s *QueryArgProfiles) SetQuantity(v int64) *QueryArgProfiles { return s } +// This field is deprecated. We recommend that you use a cache policy or an +// origin request policy instead of this field. +// +// If you want to include query strings in the cache key, use QueryStringsConfig +// in a cache policy. See CreateCachePolicy. +// +// If you want to send query strings to the origin but not include them in the +// cache key, use QueryStringsConfig in an origin request policy. See CreateOriginRequestPolicy. +// // A complex type that contains information about the query string parameters // that you want CloudFront to use for caching for a cache behavior. type QueryStringCacheKeys struct { @@ -13228,6 +17062,54 @@ func (s *QueryStringCacheKeys) SetQuantity(v int64) *QueryStringCacheKeys { return s } +// Contains a list of query string names. +type QueryStringNames struct { + _ struct{} `type:"structure"` + + // A list of query string names. + Items []*string `locationNameList:"Name" type:"list"` + + // The number of query string names in the Items list. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s QueryStringNames) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryStringNames) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QueryStringNames) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QueryStringNames"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItems sets the Items field's value. +func (s *QueryStringNames) SetItems(v []*string) *QueryStringNames { + s.Items = v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *QueryStringNames) SetQuantity(v int64) *QueryStringNames { + s.Quantity = &v + return s +} + // A complex type that identifies ways in which you want to restrict distribution // of your content. type Restrictions struct { @@ -14242,7 +18124,7 @@ type TagResourceInput struct { // A complex type that contains zero or more Tag elements. // // Tags is a required field - Tags *Tags `locationName:"Tags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + Tags *Tags `locationName:"Tags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation @@ -14440,7 +18322,7 @@ type UntagResourceInput struct { // A complex type that contains zero or more Tag key elements. // // TagKeys is a required field - TagKeys *TagKeys `locationName:"TagKeys" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + TagKeys *TagKeys `locationName:"TagKeys" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation @@ -14495,6 +18377,110 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateCachePolicyInput struct { + _ struct{} `locationName:"UpdateCachePolicyRequest" type:"structure" payload:"CachePolicyConfig"` + + // A cache policy configuration. + // + // CachePolicyConfig is a required field + CachePolicyConfig *CachePolicyConfig `locationName:"CachePolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` + + // The unique identifier for the cache policy that you are updating. The identifier + // is returned in a cache behavior’s CachePolicyId field in the response to + // GetDistributionConfig. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The version of the cache policy that you are updating. The version is returned + // in the cache policy’s ETag field in the response to GetCachePolicyConfig. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s UpdateCachePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCachePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCachePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCachePolicyInput"} + if s.CachePolicyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CachePolicyConfig")) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.CachePolicyConfig != nil { + if err := s.CachePolicyConfig.Validate(); err != nil { + invalidParams.AddNested("CachePolicyConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCachePolicyConfig sets the CachePolicyConfig field's value. +func (s *UpdateCachePolicyInput) SetCachePolicyConfig(v *CachePolicyConfig) *UpdateCachePolicyInput { + s.CachePolicyConfig = v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateCachePolicyInput) SetId(v string) *UpdateCachePolicyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *UpdateCachePolicyInput) SetIfMatch(v string) *UpdateCachePolicyInput { + s.IfMatch = &v + return s +} + +type UpdateCachePolicyOutput struct { + _ struct{} `type:"structure" payload:"CachePolicy"` + + // A cache policy. + CachePolicy *CachePolicy `type:"structure"` + + // The current version of the cache policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` +} + +// String returns the string representation +func (s UpdateCachePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCachePolicyOutput) GoString() string { + return s.String() +} + +// SetCachePolicy sets the CachePolicy field's value. +func (s *UpdateCachePolicyOutput) SetCachePolicy(v *CachePolicy) *UpdateCachePolicyOutput { + s.CachePolicy = v + return s +} + +// SetETag sets the ETag field's value. +func (s *UpdateCachePolicyOutput) SetETag(v string) *UpdateCachePolicyOutput { + s.ETag = &v + return s +} + // The request to update an origin access identity. type UpdateCloudFrontOriginAccessIdentityInput struct { _ struct{} `locationName:"UpdateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` @@ -14502,7 +18488,7 @@ type UpdateCloudFrontOriginAccessIdentityInput struct { // The identity's configuration information. // // CloudFrontOriginAccessIdentityConfig is a required field - CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` // The identity's id. // @@ -14606,7 +18592,7 @@ type UpdateDistributionInput struct { // The distribution's configuration information. // // DistributionConfig is a required field - DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` // The distribution's id. // @@ -14709,7 +18695,7 @@ type UpdateFieldLevelEncryptionConfigInput struct { // Request to update a field-level encryption configuration. // // FieldLevelEncryptionConfig is a required field - FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` // The ID of the configuration you want to update. // @@ -14812,7 +18798,7 @@ type UpdateFieldLevelEncryptionProfileInput struct { // Request to update a field-level encryption profile. // // FieldLevelEncryptionProfileConfig is a required field - FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` // The ID of the field-level encryption profile request. // @@ -14908,6 +18894,111 @@ func (s *UpdateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile return s } +type UpdateOriginRequestPolicyInput struct { + _ struct{} `locationName:"UpdateOriginRequestPolicyRequest" type:"structure" payload:"OriginRequestPolicyConfig"` + + // The unique identifier for the origin request policy that you are updating. + // The identifier is returned in a cache behavior’s OriginRequestPolicyId + // field in the response to GetDistributionConfig. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The version of the origin request policy that you are updating. The version + // is returned in the origin request policy’s ETag field in the response to + // GetOriginRequestPolicyConfig. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + + // An origin request policy configuration. + // + // OriginRequestPolicyConfig is a required field + OriginRequestPolicyConfig *OriginRequestPolicyConfig `locationName:"OriginRequestPolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` +} + +// String returns the string representation +func (s UpdateOriginRequestPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateOriginRequestPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateOriginRequestPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateOriginRequestPolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.OriginRequestPolicyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OriginRequestPolicyConfig")) + } + if s.OriginRequestPolicyConfig != nil { + if err := s.OriginRequestPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("OriginRequestPolicyConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *UpdateOriginRequestPolicyInput) SetId(v string) *UpdateOriginRequestPolicyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *UpdateOriginRequestPolicyInput) SetIfMatch(v string) *UpdateOriginRequestPolicyInput { + s.IfMatch = &v + return s +} + +// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. +func (s *UpdateOriginRequestPolicyInput) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *UpdateOriginRequestPolicyInput { + s.OriginRequestPolicyConfig = v + return s +} + +type UpdateOriginRequestPolicyOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicy"` + + // The current version of the origin request policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // An origin request policy. + OriginRequestPolicy *OriginRequestPolicy `type:"structure"` +} + +// String returns the string representation +func (s UpdateOriginRequestPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateOriginRequestPolicyOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *UpdateOriginRequestPolicyOutput) SetETag(v string) *UpdateOriginRequestPolicyOutput { + s.ETag = &v + return s +} + +// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. +func (s *UpdateOriginRequestPolicyOutput) SetOriginRequestPolicy(v *OriginRequestPolicy) *UpdateOriginRequestPolicyOutput { + s.OriginRequestPolicy = v + return s +} + type UpdatePublicKeyInput struct { _ struct{} `locationName:"UpdatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` @@ -14923,7 +19014,7 @@ type UpdatePublicKeyInput struct { // Request to update public key information. // // PublicKeyConfig is a required field - PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation @@ -15026,7 +19117,7 @@ type UpdateStreamingDistributionInput struct { // The streaming distribution's configuration information. // // StreamingDistributionConfig is a required field - StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation @@ -15129,10 +19220,10 @@ func (s *UpdateStreamingDistributionOutput) SetStreamingDistribution(v *Streamin // viewers that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication) // (recommended), or all viewers including those that don’t support SNI. // To accept HTTPS connections from only viewers that support SNI, set SSLSupportMethod -// to sni-only. This is recommended. Most browsers and clients released after -// 2010 support SNI. To accept HTTPS connections from all viewers, including -// those that don’t support SNI, set SSLSupportMethod to vip. This is not -// recommended, and results in additional monthly charges from CloudFront. +// to sni-only. This is recommended. Most browsers and clients support SNI. +// To accept HTTPS connections from all viewers, including those that don’t +// support SNI, set SSLSupportMethod to vip. This is not recommended, and +// results in additional monthly charges from CloudFront. // // * The minimum SSL/TLS protocol version that the distribution can use to // communicate with viewers. To specify a minimum version, choose a value @@ -15227,9 +19318,6 @@ type ViewerCertificate struct { // // On the CloudFront console, this setting is called Security Policy. // - // We recommend that you specify TLSv1.2_2018 unless your viewers are using - // browsers or devices that don’t support TLSv1.2. - // // When you’re using SNI only (you set SSLSupportMethod to sni-only), you // must specify TLSv1 or higher. // @@ -15243,8 +19331,7 @@ type ViewerCertificate struct { // // * sni-only – The distribution accepts HTTPS connections from only viewers // that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication). - // This is recommended. Most browsers and clients released after 2010 support - // SNI. + // This is recommended. Most browsers and clients support SNI. // // * vip – The distribution accepts HTTPS connections from all viewers // including those that don’t support SNI. This is not recommended, and @@ -15307,6 +19394,50 @@ func (s *ViewerCertificate) SetSSLSupportMethod(v string) *ViewerCertificate { return s } +const ( + // CachePolicyCookieBehaviorNone is a CachePolicyCookieBehavior enum value + CachePolicyCookieBehaviorNone = "none" + + // CachePolicyCookieBehaviorWhitelist is a CachePolicyCookieBehavior enum value + CachePolicyCookieBehaviorWhitelist = "whitelist" + + // CachePolicyCookieBehaviorAllExcept is a CachePolicyCookieBehavior enum value + CachePolicyCookieBehaviorAllExcept = "allExcept" + + // CachePolicyCookieBehaviorAll is a CachePolicyCookieBehavior enum value + CachePolicyCookieBehaviorAll = "all" +) + +const ( + // CachePolicyHeaderBehaviorNone is a CachePolicyHeaderBehavior enum value + CachePolicyHeaderBehaviorNone = "none" + + // CachePolicyHeaderBehaviorWhitelist is a CachePolicyHeaderBehavior enum value + CachePolicyHeaderBehaviorWhitelist = "whitelist" +) + +const ( + // CachePolicyQueryStringBehaviorNone is a CachePolicyQueryStringBehavior enum value + CachePolicyQueryStringBehaviorNone = "none" + + // CachePolicyQueryStringBehaviorWhitelist is a CachePolicyQueryStringBehavior enum value + CachePolicyQueryStringBehaviorWhitelist = "whitelist" + + // CachePolicyQueryStringBehaviorAllExcept is a CachePolicyQueryStringBehavior enum value + CachePolicyQueryStringBehaviorAllExcept = "allExcept" + + // CachePolicyQueryStringBehaviorAll is a CachePolicyQueryStringBehavior enum value + CachePolicyQueryStringBehaviorAll = "all" +) + +const ( + // CachePolicyTypeManaged is a CachePolicyType enum value + CachePolicyTypeManaged = "managed" + + // CachePolicyTypeCustom is a CachePolicyType enum value + CachePolicyTypeCustom = "custom" +) + const ( // CertificateSourceCloudfront is a CertificateSource enum value CertificateSourceCloudfront = "cloudfront" @@ -15416,6 +19547,9 @@ const ( // MinimumProtocolVersionTlsv122018 is a MinimumProtocolVersion enum value MinimumProtocolVersionTlsv122018 = "TLSv1.2_2018" + + // MinimumProtocolVersionTlsv122019 is a MinimumProtocolVersion enum value + MinimumProtocolVersionTlsv122019 = "TLSv1.2_2019" ) const ( @@ -15429,6 +19563,50 @@ const ( OriginProtocolPolicyHttpsOnly = "https-only" ) +const ( + // OriginRequestPolicyCookieBehaviorNone is a OriginRequestPolicyCookieBehavior enum value + OriginRequestPolicyCookieBehaviorNone = "none" + + // OriginRequestPolicyCookieBehaviorWhitelist is a OriginRequestPolicyCookieBehavior enum value + OriginRequestPolicyCookieBehaviorWhitelist = "whitelist" + + // OriginRequestPolicyCookieBehaviorAll is a OriginRequestPolicyCookieBehavior enum value + OriginRequestPolicyCookieBehaviorAll = "all" +) + +const ( + // OriginRequestPolicyHeaderBehaviorNone is a OriginRequestPolicyHeaderBehavior enum value + OriginRequestPolicyHeaderBehaviorNone = "none" + + // OriginRequestPolicyHeaderBehaviorWhitelist is a OriginRequestPolicyHeaderBehavior enum value + OriginRequestPolicyHeaderBehaviorWhitelist = "whitelist" + + // OriginRequestPolicyHeaderBehaviorAllViewer is a OriginRequestPolicyHeaderBehavior enum value + OriginRequestPolicyHeaderBehaviorAllViewer = "allViewer" + + // OriginRequestPolicyHeaderBehaviorAllViewerAndWhitelistCloudFront is a OriginRequestPolicyHeaderBehavior enum value + OriginRequestPolicyHeaderBehaviorAllViewerAndWhitelistCloudFront = "allViewerAndWhitelistCloudFront" +) + +const ( + // OriginRequestPolicyQueryStringBehaviorNone is a OriginRequestPolicyQueryStringBehavior enum value + OriginRequestPolicyQueryStringBehaviorNone = "none" + + // OriginRequestPolicyQueryStringBehaviorWhitelist is a OriginRequestPolicyQueryStringBehavior enum value + OriginRequestPolicyQueryStringBehaviorWhitelist = "whitelist" + + // OriginRequestPolicyQueryStringBehaviorAll is a OriginRequestPolicyQueryStringBehavior enum value + OriginRequestPolicyQueryStringBehaviorAll = "all" +) + +const ( + // OriginRequestPolicyTypeManaged is a OriginRequestPolicyType enum value + OriginRequestPolicyTypeManaged = "managed" + + // OriginRequestPolicyTypeCustom is a OriginRequestPolicyType enum value + OriginRequestPolicyTypeCustom = "custom" +) + const ( // PriceClassPriceClass100 is a PriceClass enum value PriceClassPriceClass100 = "PriceClass_100" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go index fb197f85b21..c9f335dd4da 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go @@ -8,7 +8,7 @@ // errors. For detailed information about CloudFront features, see the Amazon // CloudFront Developer Guide. // -// See https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26 for more information on this service. +// See https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31 for more information on this service. // // See cloudfront package documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudfront/ diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go index 43bad3e7566..533ff29608d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go @@ -22,6 +22,20 @@ const ( // The CNAME specified is already defined for CloudFront. ErrCodeCNAMEAlreadyExists = "CNAMEAlreadyExists" + // ErrCodeCachePolicyAlreadyExists for service response error code + // "CachePolicyAlreadyExists". + // + // A cache policy with this name already exists. You must provide a unique name. + // To modify an existing cache policy, use UpdateCachePolicy. + ErrCodeCachePolicyAlreadyExists = "CachePolicyAlreadyExists" + + // ErrCodeCachePolicyInUse for service response error code + // "CachePolicyInUse". + // + // Cannot delete the cache policy because it is attached to one or more cache + // behaviors. + ErrCodeCachePolicyInUse = "CachePolicyInUse" + // ErrCodeCannotChangeImmutablePublicKeyFields for service response error code // "CannotChangeImmutablePublicKeyFields". // @@ -72,6 +86,12 @@ const ( // The maximum size of a profile for field-level encryption was exceeded. ErrCodeFieldLevelEncryptionProfileSizeExceeded = "FieldLevelEncryptionProfileSizeExceeded" + // ErrCodeIllegalDelete for service response error code + // "IllegalDelete". + // + // You cannot delete a managed policy. + ErrCodeIllegalDelete = "IllegalDelete" + // ErrCodeIllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior for service response error code // "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior". // @@ -82,7 +102,7 @@ const ( // ErrCodeIllegalUpdate for service response error code // "IllegalUpdate". // - // Origin and CallerReference cannot be updated. + // The update contains modifications that are not allowed. ErrCodeIllegalUpdate = "IllegalUpdate" // ErrCodeInconsistentQuantities for service response error code @@ -133,7 +153,7 @@ const ( // ErrCodeInvalidIfMatchVersion for service response error code // "InvalidIfMatchVersion". // - // The If-Match version is missing or not valid for the distribution. + // The If-Match version is missing or not valid. ErrCodeInvalidIfMatchVersion = "InvalidIfMatchVersion" // ErrCodeInvalidLambdaFunctionAssociation for service response error code @@ -247,6 +267,12 @@ const ( // header is set. ErrCodeMissingBody = "MissingBody" + // ErrCodeNoSuchCachePolicy for service response error code + // "NoSuchCachePolicy". + // + // The cache policy does not exist. + ErrCodeNoSuchCachePolicy = "NoSuchCachePolicy" + // ErrCodeNoSuchCloudFrontOriginAccessIdentity for service response error code // "NoSuchCloudFrontOriginAccessIdentity". // @@ -283,6 +309,12 @@ const ( // No origin exists with the specified Origin Id. ErrCodeNoSuchOrigin = "NoSuchOrigin" + // ErrCodeNoSuchOriginRequestPolicy for service response error code + // "NoSuchOriginRequestPolicy". + // + // The origin request policy does not exist. + ErrCodeNoSuchOriginRequestPolicy = "NoSuchOriginRequestPolicy" + // ErrCodeNoSuchPublicKey for service response error code // "NoSuchPublicKey". // @@ -316,6 +348,20 @@ const ( // The Origin Access Identity specified is already in use. ErrCodeOriginAccessIdentityInUse = "CloudFrontOriginAccessIdentityInUse" + // ErrCodeOriginRequestPolicyAlreadyExists for service response error code + // "OriginRequestPolicyAlreadyExists". + // + // An origin request policy with this name already exists. You must provide + // a unique name. To modify an existing origin request policy, use UpdateOriginRequestPolicy. + ErrCodeOriginRequestPolicyAlreadyExists = "OriginRequestPolicyAlreadyExists" + + // ErrCodeOriginRequestPolicyInUse for service response error code + // "OriginRequestPolicyInUse". + // + // Cannot delete the origin request policy because it is attached to one or + // more cache behaviors. + ErrCodeOriginRequestPolicyInUse = "OriginRequestPolicyInUse" + // ErrCodePreconditionFailed for service response error code // "PreconditionFailed". // @@ -361,6 +407,14 @@ const ( // You cannot create more cache behaviors for the distribution. ErrCodeTooManyCacheBehaviors = "TooManyCacheBehaviors" + // ErrCodeTooManyCachePolicies for service response error code + // "TooManyCachePolicies". + // + // You have reached the maximum number of cache policies for this AWS account. + // For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyCachePolicies = "TooManyCachePolicies" + // ErrCodeTooManyCertificates for service response error code // "TooManyCertificates". // @@ -381,6 +435,22 @@ const ( // per cache behavior. ErrCodeTooManyCookieNamesInWhiteList = "TooManyCookieNamesInWhiteList" + // ErrCodeTooManyCookiesInCachePolicy for service response error code + // "TooManyCookiesInCachePolicy". + // + // The number of cookies in the cache policy exceeds the maximum. For more information, + // see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyCookiesInCachePolicy = "TooManyCookiesInCachePolicy" + + // ErrCodeTooManyCookiesInOriginRequestPolicy for service response error code + // "TooManyCookiesInOriginRequestPolicy". + // + // The number of cookies in the origin request policy exceeds the maximum. For + // more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyCookiesInOriginRequestPolicy = "TooManyCookiesInOriginRequestPolicy" + // ErrCodeTooManyDistributionCNAMEs for service response error code // "TooManyDistributionCNAMEs". // @@ -394,6 +464,14 @@ const ( // allowed. ErrCodeTooManyDistributions = "TooManyDistributions" + // ErrCodeTooManyDistributionsAssociatedToCachePolicy for service response error code + // "TooManyDistributionsAssociatedToCachePolicy". + // + // The maximum number of distributions have been associated with the specified + // cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyDistributionsAssociatedToCachePolicy = "TooManyDistributionsAssociatedToCachePolicy" + // ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig for service response error code // "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig". // @@ -401,6 +479,14 @@ const ( // configuration for field-level encryption. ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig = "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig" + // ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy for service response error code + // "TooManyDistributionsAssociatedToOriginRequestPolicy". + // + // The maximum number of distributions have been associated with the specified + // origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy = "TooManyDistributionsAssociatedToOriginRequestPolicy" + // ErrCodeTooManyDistributionsWithLambdaAssociations for service response error code // "TooManyDistributionsWithLambdaAssociations". // @@ -408,6 +494,13 @@ const ( // Lambda function associations per owner to be exceeded. ErrCodeTooManyDistributionsWithLambdaAssociations = "TooManyDistributionsWithLambdaAssociations" + // ErrCodeTooManyDistributionsWithSingleFunctionARN for service response error code + // "TooManyDistributionsWithSingleFunctionARN". + // + // The maximum number of distributions have been associated with the specified + // Lambda function. + ErrCodeTooManyDistributionsWithSingleFunctionARN = "TooManyDistributionsWithSingleFunctionARN" + // ErrCodeTooManyFieldLevelEncryptionConfigs for service response error code // "TooManyFieldLevelEncryptionConfigs". // @@ -449,12 +542,28 @@ const ( // been created. ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles = "TooManyFieldLevelEncryptionQueryArgProfiles" + // ErrCodeTooManyHeadersInCachePolicy for service response error code + // "TooManyHeadersInCachePolicy". + // + // The number of headers in the cache policy exceeds the maximum. For more information, + // see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyHeadersInCachePolicy = "TooManyHeadersInCachePolicy" + // ErrCodeTooManyHeadersInForwardedValues for service response error code // "TooManyHeadersInForwardedValues". // // Your request contains too many headers in forwarded values. ErrCodeTooManyHeadersInForwardedValues = "TooManyHeadersInForwardedValues" + // ErrCodeTooManyHeadersInOriginRequestPolicy for service response error code + // "TooManyHeadersInOriginRequestPolicy". + // + // The number of headers in the origin request policy exceeds the maximum. For + // more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyHeadersInOriginRequestPolicy = "TooManyHeadersInOriginRequestPolicy" + // ErrCodeTooManyInvalidationsInProgress for service response error code // "TooManyInvalidationsInProgress". // @@ -482,6 +591,14 @@ const ( // groups allowed. ErrCodeTooManyOriginGroupsPerDistribution = "TooManyOriginGroupsPerDistribution" + // ErrCodeTooManyOriginRequestPolicies for service response error code + // "TooManyOriginRequestPolicies". + // + // You have reached the maximum number of origin request policies for this AWS + // account. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyOriginRequestPolicies = "TooManyOriginRequestPolicies" + // ErrCodeTooManyOrigins for service response error code // "TooManyOrigins". // @@ -501,6 +618,22 @@ const ( // Your request contains too many query string parameters. ErrCodeTooManyQueryStringParameters = "TooManyQueryStringParameters" + // ErrCodeTooManyQueryStringsInCachePolicy for service response error code + // "TooManyQueryStringsInCachePolicy". + // + // The number of query strings in the cache policy exceeds the maximum. For + // more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyQueryStringsInCachePolicy = "TooManyQueryStringsInCachePolicy" + + // ErrCodeTooManyQueryStringsInOriginRequestPolicy for service response error code + // "TooManyQueryStringsInOriginRequestPolicy". + // + // The number of query strings in the origin request policy exceeds the maximum. + // For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyQueryStringsInOriginRequestPolicy = "TooManyQueryStringsInOriginRequestPolicy" + // ErrCodeTooManyStreamingDistributionCNAMEs for service response error code // "TooManyStreamingDistributionCNAMEs". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/service.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/service.go index be2ca42f187..28338550858 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/service.go @@ -63,7 +63,7 @@ func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, SigningRegion: signingRegion, PartitionID: partitionID, Endpoint: endpoint, - APIVersion: "2019-03-26", + APIVersion: "2020-05-31", }, handlers, ), diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go index 56b3c461c6d..b86f0fcea8d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go @@ -85,6 +85,8 @@ func (c *CloudHSMV2) CopyBackupToRegionRequest(input *CopyBackupToRegionInput) ( // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CopyBackupToRegion func (c *CloudHSMV2) CopyBackupToRegion(input *CopyBackupToRegionInput) (*CopyBackupToRegionOutput, error) { @@ -180,6 +182,8 @@ func (c *CloudHSMV2) CreateClusterRequest(input *CreateClusterInput) (req *reque // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateCluster func (c *CloudHSMV2) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { @@ -466,6 +470,8 @@ func (c *CloudHSMV2) DeleteClusterRequest(input *DeleteClusterInput) (req *reque // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteCluster func (c *CloudHSMV2) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { @@ -670,6 +676,8 @@ func (c *CloudHSMV2) DescribeBackupsRequest(input *DescribeBackupsInput) (req *r // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeBackups func (c *CloudHSMV2) DescribeBackups(input *DescribeBackupsInput) (*DescribeBackupsOutput, error) { @@ -827,6 +835,8 @@ func (c *CloudHSMV2) DescribeClustersRequest(input *DescribeClustersInput) (req // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeClusters func (c *CloudHSMV2) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { @@ -1082,6 +1092,8 @@ func (c *CloudHSMV2) ListTagsRequest(input *ListTagsInput) (req *request.Request // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/ListTags func (c *CloudHSMV2) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { @@ -1324,6 +1336,8 @@ func (c *CloudHSMV2) TagResourceRequest(input *TagResourceInput) (req *request.R // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/TagResource func (c *CloudHSMV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -1420,6 +1434,8 @@ func (c *CloudHSMV2) UntagResourceRequest(input *UntagResourceInput) (req *reque // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/UntagResource func (c *CloudHSMV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -1476,13 +1492,14 @@ type Backup struct { SourceBackup *string `type:"string"` // The identifier (ID) of the cluster containing the source backup from which - // the new backup was copied. . + // the new backup was copied. SourceCluster *string `type:"string"` - // The AWS region that contains the source backup from which the new backup + // The AWS Region that contains the source backup from which the new backup // was copied. SourceRegion *string `type:"string"` + // The list of tags for the backup. TagList []*Tag `min:"1" type:"list"` } @@ -1900,6 +1917,8 @@ func (s *CloudHsmServiceException) RequestID() string { return s.RespMetadata.RequestID } +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. type CloudHsmTagException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1997,6 +2016,7 @@ type Cluster struct { // zone. SubnetMapping map[string]*string `type:"map"` + // The list of tags for the cluster. TagList []*Tag `min:"1" type:"list"` // The identifier (ID) of the virtual private cloud (VPC) that contains the @@ -2111,6 +2131,10 @@ type CopyBackupToRegionInput struct { // DestinationRegion is a required field DestinationRegion *string `type:"string" required:"true"` + // Tags to apply to the destination backup during creation. If you specify tags, + // only these tags will be applied to the destination backup. If you do not + // specify tags, the service copies tags from the source backup to the destination + // backup. TagList []*Tag `min:"1" type:"list"` } @@ -2226,6 +2250,7 @@ type CreateClusterInput struct { // SubnetIds is a required field SubnetIds []*string `min:"1" type:"list" required:"true"` + // Tags to apply to the CloudHSM cluster during creation. TagList []*Tag `min:"1" type:"list"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go index a99c421f3f4..9f72ea42eaf 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go @@ -42,6 +42,9 @@ const ( // ErrCodeCloudHsmTagException for service response error code // "CloudHsmTagException". + // + // The request was rejected because of a tagging failure. Verify the tag conditions + // in all applicable policies, and then retry the request. ErrCodeCloudHsmTagException = "CloudHsmTagException" ) 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 635d88c5b8e..5d7f1bb2a4f 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 @@ -246,7 +246,7 @@ func (c *CloudWatch) DeleteDashboardsRequest(input *DeleteDashboardsInput) (req // DeleteDashboards API operation for Amazon CloudWatch. // -// Deletes all dashboards that you specify. You may specify up to 100 dashboards +// Deletes all dashboards that you specify. You can specify up to 100 dashboards // to delete. If there is an error during this call, no dashboards are deleted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -335,8 +335,7 @@ func (c *CloudWatch) DeleteInsightRulesRequest(input *DeleteInsightRulesInput) ( // 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. +// historical data from the first time the rule was created might 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 @@ -1420,7 +1419,7 @@ func (c *CloudWatch) GetInsightRuleReportRequest(input *GetInsightRuleReportInpu // point. // // * MaxContributorValue -- the value of the top contributor for each data -// point. The identity of the contributor may change for each data point +// point. The identity of the contributor might 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 @@ -1569,9 +1568,9 @@ func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) (req *reque // If you omit Unit in your request, all data that was collected with any unit // is returned, along with the corresponding units that were specified when // the data was reported to CloudWatch. If you specify a unit, the operation -// returns only data data that was collected with that unit specified. If you -// specify a unit that does not match the data collected, the results of the -// operation are null. CloudWatch does not perform unit conversions. +// returns only data that was collected with that unit specified. If you specify +// a unit that does not match the data collected, the results of the operation +// are null. CloudWatch does not perform unit conversions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2091,9 +2090,13 @@ func (c *CloudWatch) ListMetricsRequest(input *ListMetricsInput) (req *request.R // Up to 500 results are returned for any one call. To retrieve additional results, // use the returned token with subsequent calls. // -// After you create a metric, allow up to fifteen minutes before the metric -// appears. Statistics about the metric, however, are available sooner using -// GetMetricData (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) +// After you create a metric, allow up to 15 minutes before the metric appears. +// You can see statistics about the metric sooner by using GetMetricData (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) +// or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html). +// +// ListMetrics doesn't return information about metrics if those metrics haven't +// reported data in the past two weeks. To retrieve those metrics, use GetMetricData +// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) // or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2630,8 +2633,7 @@ func (c *CloudWatch) PutInsightRuleRequest(input *PutInsightRuleInput) (req *req // 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. +// historical data from the first time the rule was created might 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 @@ -2982,8 +2984,8 @@ func (c *CloudWatch) SetAlarmStateRequest(input *SetAlarmStateInput) (req *reque // DescribeAlarmHistory (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html). // // If you use SetAlarmState on a composite alarm, the composite alarm is not -// guaranteed to return to its actual state. It will return to its actual state -// only once any of its children alarms change state. It is also re-evaluated +// guaranteed to return to its actual state. It returns to its actual state +// only once any of its children alarms change state. It is also reevaluated // if you update its configuration. // // If an alarm triggers EC2 Auto Scaling policies or application Auto Scaling @@ -3076,7 +3078,7 @@ func (c *CloudWatch) TagResourceRequest(input *TagResourceInput) (req *request.R // Contributor Insights rules. // // 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 +// them to scope user permissions by granting a user permission to access or // change only resources with certain tag values. // // Tags don't have any semantic meaning to AWS and are interpreted strictly @@ -4321,8 +4323,8 @@ type DescribeAlarmsInput struct { // is not returned. // // If you specify ChildrenOfAlarmName, you cannot specify any other parameters - // in the request except for MaxRecords and NextToken. If you do so, you will - // receive a validation error. + // in the request except for MaxRecords and NextToken. If you do so, you receive + // a validation error. // // Only the Alarm Name, ARN, StateValue (OK/ALARM/INSUFFICIENT_DATA), and StateUpdatedTimestamp // information are returned by this operation when you use this parameter. To @@ -4344,8 +4346,8 @@ type DescribeAlarmsInput struct { // alarm that you specify in ParentsOfAlarmName is not returned. // // If you specify ParentsOfAlarmName, you cannot specify any other parameters - // in the request except for MaxRecords and NextToken. If you do so, you will - // receive a validation error. + // in the request except for MaxRecords and NextToken. If you do so, you receive + // a validation error. // // Only the Alarm Name and ARN are returned by this operation when you use this // parameter. To get complete information about these alarms, perform another @@ -4624,7 +4626,7 @@ 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. + // in the future, the maximum value might be different. MaxResults *int64 `min:"1" type:"integer"` // Reserved for future use. @@ -4698,16 +4700,20 @@ func (s *DescribeInsightRulesOutput) SetNextToken(v string) *DescribeInsightRule return s } -// Expands the identity of a metric. +// A dimension is a name/value pair that is part of the identity of a metric. +// You can assign up to 10 dimensions to a metric. Because dimensions are part +// of the unique identifier for a metric, whenever you add a unique name/value +// pair to one of your metrics, you are creating a new variation of that metric. type Dimension struct { _ struct{} `type:"structure"` - // The name of the dimension. + // The name of the dimension. Dimension names cannot contain blank spaces or + // non-ASCII characters. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The value representing the dimension measurement. + // The value of the dimension. // // Value is a required field Value *string `min:"1" type:"string" required:"true"` @@ -5142,7 +5148,7 @@ type GetInsightRuleReportInput struct { // point. // // * MaxContributorValue -- the value of the top contributor for each data - // point. The identity of the contributor may change for each data point + // point. The identity of the contributor might 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 @@ -5496,7 +5502,7 @@ type GetMetricDataOutput struct { _ struct{} `type:"structure"` // Contains a message about this GetMetricData operation, if the operation results - // in such a message. An example of a message that may be returned is Maximum + // in such a message. An example of a message that might be returned is Maximum // number of allowed metrics exceeded. If there is a message, as much of the // operation as possible is still executed. // @@ -5640,9 +5646,9 @@ type GetMetricStatisticsInput struct { // The unit for a given metric. If you omit Unit, all data that was collected // with any unit is returned, along with the corresponding units that were specified // when the data was reported to CloudWatch. If you specify a unit, the operation - // returns only data data that was collected with that unit specified. If you - // specify a unit that does not match the data collected, the results of the - // operation are null. CloudWatch does not perform unit conversions. + // returns only data that was collected with that unit specified. If you specify + // a unit that does not match the data collected, the results of the operation + // are null. CloudWatch does not perform unit conversions. Unit *string `type:"string" enum:"StandardUnit"` } @@ -5880,7 +5886,7 @@ func (s *GetMetricWidgetImageInput) SetOutputFormat(v string) *GetMetricWidgetIm type GetMetricWidgetImageOutput struct { _ struct{} `type:"structure"` - // The image of the graph, in the output format specified. + // The image of the graph, in the output format specified. The output is base64-encoded. // // MetricWidgetImage is automatically base64 encoded/decoded by the SDK. MetricWidgetImage []byte `type:"blob"` @@ -6263,6 +6269,15 @@ type ListMetricsInput struct { // The token returned by a previous call to indicate that there is more data // available. NextToken *string `type:"string"` + + // To filter the results to show only metrics that have had data points published + // in the past three hours, specify this parameter with a value of PT3H. This + // is the only valid value for this parameter. + // + // The results that are returned are an approximation of the value you specify. + // There is a low probability that the returned results include metrics with + // last published data as much as 40 minutes more than the specified time interval. + RecentlyActive *string `type:"string" enum:"RecentlyActive"` } // String returns the string representation @@ -6325,10 +6340,16 @@ func (s *ListMetricsInput) SetNextToken(v string) *ListMetricsInput { return s } +// SetRecentlyActive sets the RecentlyActive field's value. +func (s *ListMetricsInput) SetRecentlyActive(v string) *ListMetricsInput { + s.RecentlyActive = &v + return s +} + type ListMetricsOutput struct { _ struct{} `type:"structure"` - // The metrics. + // The metrics that match your request. Metrics []*Metric `type:"list"` // The token that marks the start of the next batch of returned results. @@ -6366,7 +6387,7 @@ type ListTagsForResourceInput struct { // // The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name // - // For more information on ARN format, see Resource Types Defined by Amazon + // For more information about ARN format, see Resource Types Defined by Amazon // CloudWatch (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies) // in the Amazon Web Services General Reference. // @@ -7251,9 +7272,9 @@ type MetricStat struct { // In a Get operation, if you omit Unit then all data that was collected with // any unit is returned, along with the corresponding units that were specified // when the data was reported to CloudWatch. If you specify a unit, the operation - // returns only data data that was collected with that unit specified. If you - // specify a unit that does not match the data collected, the results of the - // operation are null. CloudWatch does not perform unit conversions. + // returns only data that was collected with that unit specified. If you specify + // a unit that does not match the data collected, the results of the operation + // are null. CloudWatch does not perform unit conversions. Unit *string `type:"string" enum:"StandardUnit"` } @@ -7512,8 +7533,7 @@ type PutCompositeAlarmInput struct { // The description for the composite alarm. AlarmDescription *string `type:"string"` - // The name for the composite alarm. This name must be unique within your AWS - // account. + // The name for the composite alarm. This name must be unique within the Region. // // AlarmName is a required field AlarmName *string `min:"1" type:"string" required:"true"` @@ -7767,7 +7787,7 @@ type PutDashboardOutput struct { // // If this result includes only warning messages, then the input was valid enough // for the dashboard to be created or modified, but some elements of the dashboard - // may not render. + // might not render. // // If this result includes error messages, the input was not valid and the operation // failed. @@ -7928,7 +7948,7 @@ type PutMetricAlarmInput struct { // The description for the alarm. AlarmDescription *string `type:"string"` - // The name for the alarm. This name must be unique within your AWS account. + // The name for the alarm. This name must be unique within the Region. // // AlarmName is a required field AlarmName *string `min:"1" type:"string" required:"true"` @@ -8045,7 +8065,7 @@ type PutMetricAlarmInput struct { // a metric that does not have sub-minute resolution, the alarm still attempts // to gather data at the period rate that you specify. In this case, it does // not receive data for the attempts that do not correspond to a one-minute - // data resolution, and the alarm may often lapse into INSUFFICENT_DATA status. + // data resolution, and the alarm might often lapse into INSUFFICENT_DATA status. // Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which // has a higher charge than other alarms. For more information about pricing, // see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/). @@ -8064,7 +8084,7 @@ type PutMetricAlarmInput struct { // as many as 50 tags with an alarm. // // 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 + // them to scope user permissions by granting a user permission to access or // change only resources with certain tag values. Tags []*Tag `type:"list"` @@ -8098,12 +8118,12 @@ type PutMetricAlarmInput struct { // Percent, are aggregated separately. // // If you don't specify Unit, CloudWatch retrieves all unit types that have - // been published for the metric and attempts to evaluate the alarm. Usually - // metrics are published with only one unit, so the alarm will work as intended. + // been published for the metric and attempts to evaluate the alarm. Usually, + // metrics are published with only one unit, so the alarm works as intended. // // However, if the metric is published with multiple types of units and you - // don't specify a unit, the alarm's behavior is not defined and will behave - // un-predictably. + // don't specify a unit, the alarm's behavior is not defined and it behaves + // predictably. // // We recommend omitting Unit so that you don't inadvertently specify an incorrect // unit that is not published for this metric. Doing so causes the alarm to @@ -8485,8 +8505,7 @@ func (s *Range) SetStartTime(v time.Time) *Range { type SetAlarmStateInput struct { _ struct{} `type:"structure"` - // The name for the alarm. This name must be unique within the AWS account. - // The maximum length is 255 characters. + // The name of the alarm. // // AlarmName is a required field AlarmName *string `min:"1" type:"string" required:"true"` @@ -8726,7 +8745,7 @@ type TagResourceInput struct { // // The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name // - // For more information on ARN format, see Resource Types Defined by Amazon + // For more information about ARN format, see Resource Types Defined by Amazon // CloudWatch (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies) // in the Amazon Web Services General Reference. // @@ -8813,7 +8832,7 @@ type UntagResourceInput struct { // // The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name // - // For more information on ARN format, see Resource Types Defined by Amazon + // For more information about ARN format, see Resource Types Defined by Amazon // CloudWatch (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies) // in the Amazon Web Services General Reference. // @@ -8934,6 +8953,11 @@ const ( HistoryItemTypeAction = "Action" ) +const ( + // RecentlyActivePt3h is a RecentlyActive enum value + RecentlyActivePt3h = "PT3H" +) + const ( // ScanByTimestampDescending is a ScanBy enum value ScanByTimestampDescending = "TimestampDescending" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go index 2069fda2168..afcd2604448 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go @@ -81,6 +81,9 @@ func (c *CloudWatchEvents) ActivateEventSourceRequest(input *ActivateEventSource // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ActivateEventSource func (c *CloudWatchEvents) ActivateEventSource(input *ActivateEventSourceInput) (*ActivateEventSourceOutput, error) { req, out := c.ActivateEventSourceRequest(input) @@ -178,6 +181,9 @@ func (c *CloudWatchEvents) CreateEventBusRequest(input *CreateEventBusInput) (re // * LimitExceededException // You tried to create more rules or add more targets to a rule than is allowed. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateEventBus func (c *CloudWatchEvents) CreateEventBus(input *CreateEventBusInput) (*CreateEventBusOutput, error) { req, out := c.CreateEventBusRequest(input) @@ -290,6 +296,9 @@ func (c *CloudWatchEvents) CreatePartnerEventSourceRequest(input *CreatePartnerE // * LimitExceededException // You tried to create more rules or add more targets to a rule than is allowed. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreatePartnerEventSource func (c *CloudWatchEvents) CreatePartnerEventSource(input *CreatePartnerEventSourceInput) (*CreatePartnerEventSourceOutput, error) { req, out := c.CreatePartnerEventSourceRequest(input) @@ -385,6 +394,9 @@ func (c *CloudWatchEvents) DeactivateEventSourceRequest(input *DeactivateEventSo // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeactivateEventSource func (c *CloudWatchEvents) DeactivateEventSource(input *DeactivateEventSourceInput) (*DeactivateEventSourceOutput, error) { req, out := c.DeactivateEventSourceRequest(input) @@ -557,6 +569,9 @@ func (c *CloudWatchEvents) DeletePartnerEventSourceRequest(input *DeletePartnerE // * ConcurrentModificationException // There is concurrent modification on a rule or target. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeletePartnerEventSource func (c *CloudWatchEvents) DeletePartnerEventSource(input *DeletePartnerEventSourceInput) (*DeletePartnerEventSourceOutput, error) { req, out := c.DeletePartnerEventSourceRequest(input) @@ -835,6 +850,9 @@ func (c *CloudWatchEvents) DescribeEventSourceRequest(input *DescribeEventSource // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeEventSource func (c *CloudWatchEvents) DescribeEventSource(input *DescribeEventSourceInput) (*DescribeEventSourceOutput, error) { req, out := c.DescribeEventSourceRequest(input) @@ -920,6 +938,9 @@ func (c *CloudWatchEvents) DescribePartnerEventSourceRequest(input *DescribePart // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribePartnerEventSource func (c *CloudWatchEvents) DescribePartnerEventSource(input *DescribePartnerEventSourceInput) (*DescribePartnerEventSourceOutput, error) { req, out := c.DescribePartnerEventSourceRequest(input) @@ -1362,6 +1383,9 @@ func (c *CloudWatchEvents) ListEventSourcesRequest(input *ListEventSourcesInput) // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListEventSources func (c *CloudWatchEvents) ListEventSources(input *ListEventSourcesInput) (*ListEventSourcesOutput, error) { req, out := c.ListEventSourcesRequest(input) @@ -1446,6 +1470,9 @@ func (c *CloudWatchEvents) ListPartnerEventSourceAccountsRequest(input *ListPart // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSourceAccounts func (c *CloudWatchEvents) ListPartnerEventSourceAccounts(input *ListPartnerEventSourceAccountsInput) (*ListPartnerEventSourceAccountsOutput, error) { req, out := c.ListPartnerEventSourceAccountsRequest(input) @@ -1526,6 +1553,9 @@ func (c *CloudWatchEvents) ListPartnerEventSourcesRequest(input *ListPartnerEven // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSources func (c *CloudWatchEvents) ListPartnerEventSources(input *ListPartnerEventSourcesInput) (*ListPartnerEventSourcesOutput, error) { req, out := c.ListPartnerEventSourcesRequest(input) @@ -2020,6 +2050,9 @@ func (c *CloudWatchEvents) PutPartnerEventsRequest(input *PutPartnerEventsInput) // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutPartnerEvents func (c *CloudWatchEvents) PutPartnerEvents(input *PutPartnerEventsInput) (*PutPartnerEventsOutput, error) { req, out := c.PutPartnerEventsRequest(input) @@ -2088,8 +2121,9 @@ func (c *CloudWatchEvents) PutPermissionRequest(input *PutPermissionInput) (req // PutPermission API operation for Amazon CloudWatch Events. // // Running PutPermission permits the specified AWS account or AWS organization -// to put events to the specified event bus. CloudWatch Events rules in your -// account are triggered by these events arriving to an event bus in your account. +// to put events to the specified event bus. Amazon EventBridge (CloudWatch +// Events) rules in your account are triggered by these events arriving to an +// event bus in your account. // // For another account to send events to your account, that external account // must have an EventBridge rule with your account's event bus as a target. @@ -2383,6 +2417,8 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque // // * The default event bus of another AWS account // +// * Amazon API Gateway REST APIs +// // Creating rules with built-in targets is supported only in the AWS Management // Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances // API call, EC2 StopInstances API call, and EC2 TerminateInstances API call. @@ -2393,12 +2429,13 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque // on multiple EC2 instances with one rule, you can use the RunCommandParameters // field. // -// To be able to make API calls against the resources that you own, Amazon CloudWatch -// Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, -// EventBridge relies on resource-based policies. For EC2 instances, Kinesis -// data streams, and AWS Step Functions state machines, EventBridge relies on -// IAM roles that you specify in the RoleARN argument in PutTargets. For more -// information, see Authentication and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) +// To be able to make API calls against the resources that you own, Amazon EventBridge +// (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and +// Amazon SNS resources, EventBridge relies on resource-based policies. For +// EC2 instances, Kinesis data streams, AWS Step Functions state machines and +// API Gateway REST APIs, EventBridge relies on IAM roles that you specify in +// the RoleARN argument in PutTargets. For more information, see Authentication +// and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) // in the Amazon EventBridge User Guide. // // If another AWS account is in the same region and has granted you permission @@ -2408,7 +2445,8 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque // you run PutTargets. If your account sends events to another account, your // account is charged for each sent event. Each event sent to another account // is charged as a custom event. The account receiving the event is not charged. -// For more information, see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/). +// For more information, see Amazon EventBridge (CloudWatch Events) Pricing +// (https://aws.amazon.com/eventbridge/pricing/). // // Input, InputPath, and InputTransformer are not available with PutTarget if // the target is an event bus of a different AWS account. @@ -2936,8 +2974,8 @@ func (c *CloudWatchEvents) UntagResourceRequest(input *UntagResourceInput) (req // UntagResource API operation for Amazon CloudWatch Events. // -// Removes one or more tags from the specified EventBridge resource. In CloudWatch -// Events, rules and event buses can be tagged. +// Removes one or more tags from the specified EventBridge resource. In Amazon +// EventBridge (CloudWatch Events, rules and event buses can be tagged. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4611,6 +4649,52 @@ func (s *EventSource) SetState(v string) *EventSource { return s } +// These are custom parameter to be used when the target is an API Gateway REST +// APIs. +type HttpParameters struct { + _ struct{} `type:"structure"` + + // The headers that need to be sent as part of request invoking the API Gateway + // REST API. + HeaderParameters map[string]*string `type:"map"` + + // The path parameter values to be used to populate API Gateway REST API path + // wildcards ("*"). + PathParameterValues []*string `type:"list"` + + // The query string keys/values that need to be sent as part of request invoking + // the API Gateway REST API. + QueryStringParameters map[string]*string `type:"map"` +} + +// String returns the string representation +func (s HttpParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpParameters) GoString() string { + return s.String() +} + +// SetHeaderParameters sets the HeaderParameters field's value. +func (s *HttpParameters) SetHeaderParameters(v map[string]*string) *HttpParameters { + s.HeaderParameters = v + return s +} + +// SetPathParameterValues sets the PathParameterValues field's value. +func (s *HttpParameters) SetPathParameterValues(v []*string) *HttpParameters { + s.PathParameterValues = v + return s +} + +// SetQueryStringParameters sets the QueryStringParameters field's value. +func (s *HttpParameters) SetQueryStringParameters(v map[string]*string) *HttpParameters { + s.QueryStringParameters = v + return s +} + // Contains the parameters needed for you to provide custom input to a target // based on one or more pieces of data extracted from the event. type InputTransformer struct { @@ -5863,6 +5947,62 @@ func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *N return s } +// The operation you are attempting is not available in this region. +type OperationDisabledException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s OperationDisabledException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OperationDisabledException) GoString() string { + return s.String() +} + +func newErrorOperationDisabledException(v protocol.ResponseMetadata) error { + return &OperationDisabledException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *OperationDisabledException) Code() string { + return "OperationDisabledException" +} + +// Message returns the exception's message. +func (s *OperationDisabledException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *OperationDisabledException) OrigErr() error { + return nil +} + +func (s *OperationDisabledException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *OperationDisabledException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *OperationDisabledException) RequestID() string { + return s.RespMetadata.RequestID +} + // A partner event source is created by an SaaS partner. If a customer creates // a partner event bus that matches this event source, that AWS account can // receive events from the partner's applications or services. @@ -7611,6 +7751,14 @@ type Target struct { // in the Amazon EC2 Container Service Developer Guide. EcsParameters *EcsParameters `type:"structure"` + // Contains the HTTP parameters to use when the target is a API Gateway REST + // endpoint. + // + // If you specify an API Gateway REST API as a target, you can use this parameter + // to specify headers, path parameter, query string keys/values as part of your + // target invoking request. + HttpParameters *HttpParameters `type:"structure"` + // The ID of the target. // // Id is a required field @@ -7729,6 +7877,12 @@ func (s *Target) SetEcsParameters(v *EcsParameters) *Target { return s } +// SetHttpParameters sets the HttpParameters field's value. +func (s *Target) SetHttpParameters(v *HttpParameters) *Target { + s.HttpParameters = v + return s +} + // SetId sets the Id field's value. func (s *Target) SetId(v string) *Target { s.Id = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/errors.go index 059007e401b..9de2a8c22a6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/errors.go @@ -49,6 +49,12 @@ const ( // or UntagResource. ErrCodeManagedRuleException = "ManagedRuleException" + // ErrCodeOperationDisabledException for service response error code + // "OperationDisabledException". + // + // The operation you are attempting is not available in this region. + ErrCodeOperationDisabledException = "OperationDisabledException" + // ErrCodePolicyLengthExceededException for service response error code // "PolicyLengthExceededException". // @@ -75,6 +81,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidStateException": newErrorInvalidStateException, "LimitExceededException": newErrorLimitExceededException, "ManagedRuleException": newErrorManagedRuleException, + "OperationDisabledException": newErrorOperationDisabledException, "PolicyLengthExceededException": newErrorPolicyLengthExceededException, "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, "ResourceNotFoundException": newErrorResourceNotFoundException, 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 add39aea141..cc89d30723e 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 @@ -92,6 +92,85 @@ func (c *CodeBuild) BatchDeleteBuildsWithContext(ctx aws.Context, input *BatchDe return out, req.Send() } +const opBatchGetBuildBatches = "BatchGetBuildBatches" + +// BatchGetBuildBatchesRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetBuildBatches operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchGetBuildBatches for more information on using the BatchGetBuildBatches +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchGetBuildBatchesRequest method. +// req, resp := client.BatchGetBuildBatchesRequest(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/BatchGetBuildBatches +func (c *CodeBuild) BatchGetBuildBatchesRequest(input *BatchGetBuildBatchesInput) (req *request.Request, output *BatchGetBuildBatchesOutput) { + op := &request.Operation{ + Name: opBatchGetBuildBatches, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetBuildBatchesInput{} + } + + output = &BatchGetBuildBatchesOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetBuildBatches API operation for AWS CodeBuild. +// +// Retrieves information about one or more batch builds. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 BatchGetBuildBatches for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuildBatches +func (c *CodeBuild) BatchGetBuildBatches(input *BatchGetBuildBatchesInput) (*BatchGetBuildBatchesOutput, error) { + req, out := c.BatchGetBuildBatchesRequest(input) + return out, req.Send() +} + +// BatchGetBuildBatchesWithContext is the same as BatchGetBuildBatches with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetBuildBatches for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) BatchGetBuildBatchesWithContext(ctx aws.Context, input *BatchGetBuildBatchesInput, opts ...request.Option) (*BatchGetBuildBatchesOutput, error) { + req, out := c.BatchGetBuildBatchesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchGetBuilds = "BatchGetBuilds" // BatchGetBuildsRequest generates a "aws/request.Request" representing the @@ -680,6 +759,85 @@ func (c *CodeBuild) CreateWebhookWithContext(ctx aws.Context, input *CreateWebho return out, req.Send() } +const opDeleteBuildBatch = "DeleteBuildBatch" + +// DeleteBuildBatchRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBuildBatch operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteBuildBatch for more information on using the DeleteBuildBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteBuildBatchRequest method. +// req, resp := client.DeleteBuildBatchRequest(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/DeleteBuildBatch +func (c *CodeBuild) DeleteBuildBatchRequest(input *DeleteBuildBatchInput) (req *request.Request, output *DeleteBuildBatchOutput) { + op := &request.Operation{ + Name: opDeleteBuildBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteBuildBatchInput{} + } + + output = &DeleteBuildBatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteBuildBatch API operation for AWS CodeBuild. +// +// Deletes a batch 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 DeleteBuildBatch for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteBuildBatch +func (c *CodeBuild) DeleteBuildBatch(input *DeleteBuildBatchInput) (*DeleteBuildBatchOutput, error) { + req, out := c.DeleteBuildBatchRequest(input) + return out, req.Send() +} + +// DeleteBuildBatchWithContext is the same as DeleteBuildBatch with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBuildBatch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) DeleteBuildBatchWithContext(ctx aws.Context, input *DeleteBuildBatchInput, opts ...request.Option) (*DeleteBuildBatchOutput, error) { + req, out := c.DeleteBuildBatchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteProject = "DeleteProject" // DeleteProjectRequest generates a "aws/request.Request" representing the @@ -1174,6 +1332,143 @@ func (c *CodeBuild) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebho return out, req.Send() } +const opDescribeCodeCoverages = "DescribeCodeCoverages" + +// DescribeCodeCoveragesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCodeCoverages operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeCodeCoverages for more information on using the DescribeCodeCoverages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeCodeCoveragesRequest method. +// req, resp := client.DescribeCodeCoveragesRequest(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/DescribeCodeCoverages +func (c *CodeBuild) DescribeCodeCoveragesRequest(input *DescribeCodeCoveragesInput) (req *request.Request, output *DescribeCodeCoveragesOutput) { + op := &request.Operation{ + Name: opDescribeCodeCoverages, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeCodeCoveragesInput{} + } + + output = &DescribeCodeCoveragesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCodeCoverages API operation for AWS CodeBuild. +// +// Retrieves one or more code coverage 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 DescribeCodeCoverages for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeCodeCoverages +func (c *CodeBuild) DescribeCodeCoverages(input *DescribeCodeCoveragesInput) (*DescribeCodeCoveragesOutput, error) { + req, out := c.DescribeCodeCoveragesRequest(input) + return out, req.Send() +} + +// DescribeCodeCoveragesWithContext is the same as DescribeCodeCoverages with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCodeCoverages for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) DescribeCodeCoveragesWithContext(ctx aws.Context, input *DescribeCodeCoveragesInput, opts ...request.Option) (*DescribeCodeCoveragesOutput, error) { + req, out := c.DescribeCodeCoveragesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeCodeCoveragesPages iterates over the pages of a DescribeCodeCoverages operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCodeCoverages 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 DescribeCodeCoverages operation. +// pageNum := 0 +// err := client.DescribeCodeCoveragesPages(params, +// func(page *codebuild.DescribeCodeCoveragesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) DescribeCodeCoveragesPages(input *DescribeCodeCoveragesInput, fn func(*DescribeCodeCoveragesOutput, bool) bool) error { + return c.DescribeCodeCoveragesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeCodeCoveragesPagesWithContext same as DescribeCodeCoveragesPages 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 *CodeBuild) DescribeCodeCoveragesPagesWithContext(ctx aws.Context, input *DescribeCodeCoveragesInput, fn func(*DescribeCodeCoveragesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeCodeCoveragesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeCodeCoveragesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeCodeCoveragesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeTestCases = "DescribeTestCases" // DescribeTestCasesRequest generates a "aws/request.Request" representing the @@ -1566,128 +1861,128 @@ func (c *CodeBuild) InvalidateProjectCacheWithContext(ctx aws.Context, input *In return out, req.Send() } -const opListBuilds = "ListBuilds" +const opListBuildBatches = "ListBuildBatches" -// ListBuildsRequest generates a "aws/request.Request" representing the -// client's request for the ListBuilds operation. The "output" return +// ListBuildBatchesRequest generates a "aws/request.Request" representing the +// client's request for the ListBuildBatches operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListBuilds for more information on using the ListBuilds +// See ListBuildBatches for more information on using the ListBuildBatches // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListBuildsRequest method. -// req, resp := client.ListBuildsRequest(params) +// // Example sending a request using the ListBuildBatchesRequest method. +// req, resp := client.ListBuildBatchesRequest(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/ListBuilds -func (c *CodeBuild) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatches +func (c *CodeBuild) ListBuildBatchesRequest(input *ListBuildBatchesInput) (req *request.Request, output *ListBuildBatchesOutput) { op := &request.Operation{ - Name: opListBuilds, + Name: opListBuildBatches, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, - LimitToken: "", + LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { - input = &ListBuildsInput{} + input = &ListBuildBatchesInput{} } - output = &ListBuildsOutput{} + output = &ListBuildBatchesOutput{} req = c.newRequest(op, input, output) return } -// ListBuilds API operation for AWS CodeBuild. +// ListBuildBatches API operation for AWS CodeBuild. // -// Gets a list of build IDs, with each build ID representing a single build. +// Retrieves the identifiers of your build batches in the current 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 // the error. // // See the AWS API reference guide for AWS CodeBuild's -// API operation ListBuilds for usage and error information. +// API operation ListBuildBatches for usage and error information. // // Returned Error Types: // * InvalidInputException // The input value that was provided is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds -func (c *CodeBuild) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) { - req, out := c.ListBuildsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatches +func (c *CodeBuild) ListBuildBatches(input *ListBuildBatchesInput) (*ListBuildBatchesOutput, error) { + req, out := c.ListBuildBatchesRequest(input) return out, req.Send() } -// ListBuildsWithContext is the same as ListBuilds with the addition of +// ListBuildBatchesWithContext is the same as ListBuildBatches with the addition of // the ability to pass a context and additional request options. // -// See ListBuilds for details on how to use this API operation. +// See ListBuildBatches for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) { - req, out := c.ListBuildsRequest(input) +func (c *CodeBuild) ListBuildBatchesWithContext(ctx aws.Context, input *ListBuildBatchesInput, opts ...request.Option) (*ListBuildBatchesOutput, error) { + req, out := c.ListBuildBatchesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListBuildsPages iterates over the pages of a ListBuilds operation, +// ListBuildBatchesPages iterates over the pages of a ListBuildBatches operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListBuilds method for more information on how to use this operation. +// See ListBuildBatches 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 ListBuilds operation. +// // Example iterating over at most 3 pages of a ListBuildBatches operation. // pageNum := 0 -// err := client.ListBuildsPages(params, -// func(page *codebuild.ListBuildsOutput, lastPage bool) bool { +// err := client.ListBuildBatchesPages(params, +// func(page *codebuild.ListBuildBatchesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *CodeBuild) ListBuildsPages(input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool) error { - return c.ListBuildsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CodeBuild) ListBuildBatchesPages(input *ListBuildBatchesInput, fn func(*ListBuildBatchesOutput, bool) bool) error { + return c.ListBuildBatchesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListBuildsPagesWithContext same as ListBuildsPages except +// ListBuildBatchesPagesWithContext same as ListBuildBatchesPages 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 *CodeBuild) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool, opts ...request.Option) error { +func (c *CodeBuild) ListBuildBatchesPagesWithContext(ctx aws.Context, input *ListBuildBatchesInput, fn func(*ListBuildBatchesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListBuildsInput + var inCpy *ListBuildBatchesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListBuildsRequest(inCpy) + req, _ := c.ListBuildBatchesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1695,7 +1990,7 @@ func (c *CodeBuild) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuild } for p.Next() { - if !fn(p.Page().(*ListBuildsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListBuildBatchesOutput), !p.HasNextPage()) { break } } @@ -1703,7 +1998,284 @@ func (c *CodeBuild) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuild return p.Err() } -const opListBuildsForProject = "ListBuildsForProject" +const opListBuildBatchesForProject = "ListBuildBatchesForProject" + +// ListBuildBatchesForProjectRequest generates a "aws/request.Request" representing the +// client's request for the ListBuildBatchesForProject operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListBuildBatchesForProject for more information on using the ListBuildBatchesForProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListBuildBatchesForProjectRequest method. +// req, resp := client.ListBuildBatchesForProjectRequest(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/ListBuildBatchesForProject +func (c *CodeBuild) ListBuildBatchesForProjectRequest(input *ListBuildBatchesForProjectInput) (req *request.Request, output *ListBuildBatchesForProjectOutput) { + op := &request.Operation{ + Name: opListBuildBatchesForProject, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBuildBatchesForProjectInput{} + } + + output = &ListBuildBatchesForProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBuildBatchesForProject API operation for AWS CodeBuild. +// +// Retrieves the identifiers of the build batches for a specific 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 ListBuildBatchesForProject for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatchesForProject +func (c *CodeBuild) ListBuildBatchesForProject(input *ListBuildBatchesForProjectInput) (*ListBuildBatchesForProjectOutput, error) { + req, out := c.ListBuildBatchesForProjectRequest(input) + return out, req.Send() +} + +// ListBuildBatchesForProjectWithContext is the same as ListBuildBatchesForProject with the addition of +// the ability to pass a context and additional request options. +// +// See ListBuildBatchesForProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) ListBuildBatchesForProjectWithContext(ctx aws.Context, input *ListBuildBatchesForProjectInput, opts ...request.Option) (*ListBuildBatchesForProjectOutput, error) { + req, out := c.ListBuildBatchesForProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBuildBatchesForProjectPages iterates over the pages of a ListBuildBatchesForProject operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBuildBatchesForProject 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 ListBuildBatchesForProject operation. +// pageNum := 0 +// err := client.ListBuildBatchesForProjectPages(params, +// func(page *codebuild.ListBuildBatchesForProjectOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListBuildBatchesForProjectPages(input *ListBuildBatchesForProjectInput, fn func(*ListBuildBatchesForProjectOutput, bool) bool) error { + return c.ListBuildBatchesForProjectPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBuildBatchesForProjectPagesWithContext same as ListBuildBatchesForProjectPages 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 *CodeBuild) ListBuildBatchesForProjectPagesWithContext(ctx aws.Context, input *ListBuildBatchesForProjectInput, fn func(*ListBuildBatchesForProjectOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBuildBatchesForProjectInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBuildBatchesForProjectRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBuildBatchesForProjectOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListBuilds = "ListBuilds" + +// ListBuildsRequest generates a "aws/request.Request" representing the +// client's request for the ListBuilds operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListBuilds for more information on using the ListBuilds +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListBuildsRequest method. +// req, resp := client.ListBuildsRequest(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/ListBuilds +func (c *CodeBuild) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) { + op := &request.Operation{ + Name: opListBuilds, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBuildsInput{} + } + + output = &ListBuildsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBuilds API operation for AWS CodeBuild. +// +// Gets a list of build IDs, 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 ListBuilds for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds +func (c *CodeBuild) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) { + req, out := c.ListBuildsRequest(input) + return out, req.Send() +} + +// ListBuildsWithContext is the same as ListBuilds with the addition of +// the ability to pass a context and additional request options. +// +// See ListBuilds for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) { + req, out := c.ListBuildsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBuildsPages iterates over the pages of a ListBuilds operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBuilds 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 ListBuilds operation. +// pageNum := 0 +// err := client.ListBuildsPages(params, +// func(page *codebuild.ListBuildsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListBuildsPages(input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool) error { + return c.ListBuildsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBuildsPagesWithContext same as ListBuildsPages 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 *CodeBuild) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBuildsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBuildsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBuildsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListBuildsForProject = "ListBuildsForProject" // ListBuildsForProjectRequest generates a "aws/request.Request" representing the // client's request for the ListBuildsForProject operation. The "output" return @@ -2796,6 +3368,11 @@ func (c *CodeBuild) ListSourceCredentialsRequest(input *ListSourceCredentialsInp // // See the AWS API reference guide for AWS CodeBuild's // API operation ListSourceCredentials for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials func (c *CodeBuild) ListSourceCredentials(input *ListSourceCredentialsInput) (*ListSourceCredentialsOutput, error) { req, out := c.ListSourceCredentialsRequest(input) @@ -2900,25 +3477,192 @@ func (c *CodeBuild) PutResourcePolicyWithContext(ctx aws.Context, input *PutReso return out, req.Send() } -const opStartBuild = "StartBuild" +const opRetryBuild = "RetryBuild" -// StartBuildRequest generates a "aws/request.Request" representing the -// client's request for the StartBuild operation. The "output" return +// RetryBuildRequest generates a "aws/request.Request" representing the +// client's request for the RetryBuild operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StartBuild for more information on using the StartBuild +// See RetryBuild for more information on using the RetryBuild // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StartBuildRequest method. -// req, resp := client.StartBuildRequest(params) +// // Example sending a request using the RetryBuildRequest method. +// req, resp := client.RetryBuildRequest(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/RetryBuild +func (c *CodeBuild) RetryBuildRequest(input *RetryBuildInput) (req *request.Request, output *RetryBuildOutput) { + op := &request.Operation{ + Name: opRetryBuild, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RetryBuildInput{} + } + + output = &RetryBuildOutput{} + req = c.newRequest(op, input, output) + return +} + +// RetryBuild API operation for AWS CodeBuild. +// +// Restarts a 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 RetryBuild for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// * 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/RetryBuild +func (c *CodeBuild) RetryBuild(input *RetryBuildInput) (*RetryBuildOutput, error) { + req, out := c.RetryBuildRequest(input) + return out, req.Send() +} + +// RetryBuildWithContext is the same as RetryBuild with the addition of +// the ability to pass a context and additional request options. +// +// See RetryBuild for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) RetryBuildWithContext(ctx aws.Context, input *RetryBuildInput, opts ...request.Option) (*RetryBuildOutput, error) { + req, out := c.RetryBuildRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRetryBuildBatch = "RetryBuildBatch" + +// RetryBuildBatchRequest generates a "aws/request.Request" representing the +// client's request for the RetryBuildBatch operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RetryBuildBatch for more information on using the RetryBuildBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RetryBuildBatchRequest method. +// req, resp := client.RetryBuildBatchRequest(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/RetryBuildBatch +func (c *CodeBuild) RetryBuildBatchRequest(input *RetryBuildBatchInput) (req *request.Request, output *RetryBuildBatchOutput) { + op := &request.Operation{ + Name: opRetryBuildBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RetryBuildBatchInput{} + } + + output = &RetryBuildBatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// RetryBuildBatch API operation for AWS CodeBuild. +// +// Restarts a batch 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 RetryBuildBatch for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/RetryBuildBatch +func (c *CodeBuild) RetryBuildBatch(input *RetryBuildBatchInput) (*RetryBuildBatchOutput, error) { + req, out := c.RetryBuildBatchRequest(input) + return out, req.Send() +} + +// RetryBuildBatchWithContext is the same as RetryBuildBatch with the addition of +// the ability to pass a context and additional request options. +// +// See RetryBuildBatch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) RetryBuildBatchWithContext(ctx aws.Context, input *RetryBuildBatchInput, opts ...request.Option) (*RetryBuildBatchOutput, error) { + req, out := c.RetryBuildBatchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartBuild = "StartBuild" + +// StartBuildRequest generates a "aws/request.Request" representing the +// client's request for the StartBuild operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartBuild for more information on using the StartBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartBuildRequest method. +// req, resp := client.StartBuildRequest(params) // // err := req.Send() // if err == nil { // resp is now filled @@ -2985,6 +3729,88 @@ func (c *CodeBuild) StartBuildWithContext(ctx aws.Context, input *StartBuildInpu return out, req.Send() } +const opStartBuildBatch = "StartBuildBatch" + +// StartBuildBatchRequest generates a "aws/request.Request" representing the +// client's request for the StartBuildBatch operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartBuildBatch for more information on using the StartBuildBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartBuildBatchRequest method. +// req, resp := client.StartBuildBatchRequest(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/StartBuildBatch +func (c *CodeBuild) StartBuildBatchRequest(input *StartBuildBatchInput) (req *request.Request, output *StartBuildBatchOutput) { + op := &request.Operation{ + Name: opStartBuildBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartBuildBatchInput{} + } + + output = &StartBuildBatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartBuildBatch API operation for AWS CodeBuild. +// +// Starts a batch build for a 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 StartBuildBatch for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuildBatch +func (c *CodeBuild) StartBuildBatch(input *StartBuildBatchInput) (*StartBuildBatchOutput, error) { + req, out := c.StartBuildBatchRequest(input) + return out, req.Send() +} + +// StartBuildBatchWithContext is the same as StartBuildBatch with the addition of +// the ability to pass a context and additional request options. +// +// See StartBuildBatch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) StartBuildBatchWithContext(ctx aws.Context, input *StartBuildBatchInput, opts ...request.Option) (*StartBuildBatchOutput, error) { + req, out := c.StartBuildBatchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStopBuild = "StopBuild" // StopBuildRequest generates a "aws/request.Request" representing the @@ -3067,6 +3893,88 @@ func (c *CodeBuild) StopBuildWithContext(ctx aws.Context, input *StopBuildInput, return out, req.Send() } +const opStopBuildBatch = "StopBuildBatch" + +// StopBuildBatchRequest generates a "aws/request.Request" representing the +// client's request for the StopBuildBatch operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopBuildBatch for more information on using the StopBuildBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopBuildBatchRequest method. +// req, resp := client.StopBuildBatchRequest(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/StopBuildBatch +func (c *CodeBuild) StopBuildBatchRequest(input *StopBuildBatchInput) (req *request.Request, output *StopBuildBatchOutput) { + op := &request.Operation{ + Name: opStopBuildBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopBuildBatchInput{} + } + + output = &StopBuildBatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopBuildBatch API operation for AWS CodeBuild. +// +// Stops a running batch 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 StopBuildBatch for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuildBatch +func (c *CodeBuild) StopBuildBatch(input *StopBuildBatchInput) (*StopBuildBatchOutput, error) { + req, out := c.StopBuildBatchRequest(input) + return out, req.Send() +} + +// StopBuildBatchWithContext is the same as StopBuildBatch with the addition of +// the ability to pass a context and additional request options. +// +// See StopBuildBatch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) StopBuildBatchWithContext(ctx aws.Context, input *StopBuildBatchInput, opts ...request.Option) (*StopBuildBatchOutput, error) { + req, out := c.StopBuildBatchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateProject = "UpdateProject" // UpdateProjectRequest generates a "aws/request.Request" representing the @@ -3447,13 +4355,83 @@ func (s *BatchDeleteBuildsOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *Bat return s } -type BatchGetBuildsInput struct { +type BatchGetBuildBatchesInput struct { _ struct{} `type:"structure"` - // The IDs of the builds. + // An array that contains the batch build identifiers to retrieve. // // Ids is a required field - Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"` + Ids []*string `locationName:"ids" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetBuildBatchesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetBuildBatchesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetBuildBatchesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetBuildBatchesInput"} + if s.Ids == nil { + invalidParams.Add(request.NewErrParamRequired("Ids")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIds sets the Ids field's value. +func (s *BatchGetBuildBatchesInput) SetIds(v []*string) *BatchGetBuildBatchesInput { + s.Ids = v + return s +} + +type BatchGetBuildBatchesOutput struct { + _ struct{} `type:"structure"` + + // An array of BuildBatch objects that represent the retrieved batch builds. + BuildBatches []*BuildBatch `locationName:"buildBatches" type:"list"` + + // An array that contains the identifiers of any batch builds that are not found. + BuildBatchesNotFound []*string `locationName:"buildBatchesNotFound" type:"list"` +} + +// String returns the string representation +func (s BatchGetBuildBatchesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetBuildBatchesOutput) GoString() string { + return s.String() +} + +// SetBuildBatches sets the BuildBatches field's value. +func (s *BatchGetBuildBatchesOutput) SetBuildBatches(v []*BuildBatch) *BatchGetBuildBatchesOutput { + s.BuildBatches = v + return s +} + +// SetBuildBatchesNotFound sets the BuildBatchesNotFound field's value. +func (s *BatchGetBuildBatchesOutput) SetBuildBatchesNotFound(v []*string) *BatchGetBuildBatchesOutput { + s.BuildBatchesNotFound = v + return s +} + +type BatchGetBuildsInput struct { + _ struct{} `type:"structure"` + + // The IDs of the builds. + // + // Ids is a required field + Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"` } // String returns the string representation @@ -3743,6 +4721,41 @@ func (s *BatchGetReportsOutput) SetReportsNotFound(v []*string) *BatchGetReports return s } +// Specifies restrictions for the batch build. +type BatchRestrictions struct { + _ struct{} `type:"structure"` + + // An array of strings that specify the compute types that are allowed for the + // batch build. See Build environment compute types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) + // in the AWS CodeBuild User Guide for these values. + ComputeTypesAllowed []*string `locationName:"computeTypesAllowed" type:"list"` + + // Specifies the maximum number of builds allowed. + MaximumBuildsAllowed *int64 `locationName:"maximumBuildsAllowed" type:"integer"` +} + +// String returns the string representation +func (s BatchRestrictions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchRestrictions) GoString() string { + return s.String() +} + +// SetComputeTypesAllowed sets the ComputeTypesAllowed field's value. +func (s *BatchRestrictions) SetComputeTypesAllowed(v []*string) *BatchRestrictions { + s.ComputeTypesAllowed = v + return s +} + +// SetMaximumBuildsAllowed sets the MaximumBuildsAllowed field's value. +func (s *BatchRestrictions) SetMaximumBuildsAllowed(v int64) *BatchRestrictions { + s.MaximumBuildsAllowed = &v + return s +} + // Information about a build. type Build struct { _ struct{} `type:"structure"` @@ -3753,6 +4766,9 @@ type Build struct { // Information about the output artifacts for the build. Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"` + // The ARN of the batch build that this build is a member of, if applicable. + BuildBatchArn *string `locationName:"buildBatchArn" type:"string"` + // Whether the build is complete. True if complete; otherwise, false. BuildComplete *bool `locationName:"buildComplete" type:"boolean"` @@ -3782,6 +4798,9 @@ type Build struct { // The current build phase. CurrentPhase *string `locationName:"currentPhase" type:"string"` + // Contains information about the debug session for this build. + DebugSession *DebugSession `locationName:"debugSession" type:"structure"` + // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be // used for encrypting the build output artifacts. // @@ -3927,6 +4946,12 @@ func (s *Build) SetArtifacts(v *BuildArtifacts) *Build { return s } +// SetBuildBatchArn sets the BuildBatchArn field's value. +func (s *Build) SetBuildBatchArn(v string) *Build { + s.BuildBatchArn = &v + return s +} + // SetBuildComplete sets the BuildComplete field's value. func (s *Build) SetBuildComplete(v bool) *Build { s.BuildComplete = &v @@ -3957,6 +4982,12 @@ func (s *Build) SetCurrentPhase(v string) *Build { return s } +// SetDebugSession sets the DebugSession field's value. +func (s *Build) SetDebugSession(v *DebugSession) *Build { + s.DebugSession = v + return s +} + // SetEncryptionKey sets the EncryptionKey field's value. func (s *Build) SetEncryptionKey(v string) *Build { s.EncryptionKey = &v @@ -4179,826 +5210,889 @@ func (s *BuildArtifacts) SetSha256sum(v string) *BuildArtifacts { return s } -// Information about a build that could not be successfully deleted. -type BuildNotDeleted struct { +// Contains information about a batch build. +type BuildBatch struct { _ struct{} `type:"structure"` - // The ID of the build that could not be successfully deleted. - Id *string `locationName:"id" min:"1" type:"string"` + // The ARN of the batch build. + Arn *string `locationName:"arn" min:"1" type:"string"` - // Additional information about the build that could not be successfully deleted. - StatusCode *string `locationName:"statusCode" type:"string"` -} + // A BuildArtifacts object the defines the build artifacts for this batch build. + Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"` -// String returns the string representation -func (s BuildNotDeleted) String() string { - return awsutil.Prettify(s) -} + // Contains configuration information about a batch build project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` -// GoString returns the string representation -func (s BuildNotDeleted) GoString() string { - return s.String() -} + // The number of the batch build. For each project, the buildBatchNumber of + // its first batch build is 1. The buildBatchNumber of each subsequent batch + // build is incremented by 1. If a batch build is deleted, the buildBatchNumber + // of other batch builds does not change. + BuildBatchNumber *int64 `locationName:"buildBatchNumber" type:"long"` -// SetId sets the Id field's value. -func (s *BuildNotDeleted) SetId(v string) *BuildNotDeleted { - s.Id = &v - return s -} + // The status of the batch build. + BuildBatchStatus *string `locationName:"buildBatchStatus" type:"string" enum:"StatusType"` -// SetStatusCode sets the StatusCode field's value. -func (s *BuildNotDeleted) SetStatusCode(v string) *BuildNotDeleted { - s.StatusCode = &v - return s -} + // An array of BuildGroup objects that define the build groups for the batch + // build. + BuildGroups []*BuildGroup `locationName:"buildGroups" type:"list"` -// Information about a stage for a build. -type BuildPhase struct { - _ struct{} `type:"structure"` + // Specifies the maximum amount of time, in minutes, that the build in a batch + // must be completed in. + BuildTimeoutInMinutes *int64 `locationName:"buildTimeoutInMinutes" type:"integer"` - // Additional information about a build phase, especially to help troubleshoot - // a failed build. - Contexts []*PhaseContext `locationName:"contexts" type:"list"` + // Information about the cache for the build project. + Cache *ProjectCache `locationName:"cache" type:"structure"` - // How long, in seconds, between the starting and ending times of the build's - // phase. - DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"` + // Indicates if the batch build is complete. + Complete *bool `locationName:"complete" type:"boolean"` - // When the build phase ended, expressed in Unix time format. - EndTime *time.Time `locationName:"endTime" type:"timestamp"` + // The current phase of the batch build. + CurrentPhase *string `locationName:"currentPhase" type:"string"` - // The current status of the build phase. Valid values include: - // - // * FAILED: The build phase failed. - // - // * FAULT: The build phase faulted. - // - // * IN_PROGRESS: The build phase is still in progress. - // - // * QUEUED: The build has been submitted and is queued behind other submitted - // builds. - // - // * STOPPED: The build phase stopped. + // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be + // used for encrypting the batch build output artifacts. // - // * SUCCEEDED: The build phase succeeded. + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. // - // * TIMED_OUT: The build phase timed out. - PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"` + // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, + // the CMK's alias (using the format alias/alias-name ). + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` - // The name of the build phase. Valid values include: - // - // * BUILD: Core build activities typically occur in this build phase. + // The date and time that the batch build ended. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // Information about the build environment of the build project. + Environment *ProjectEnvironment `locationName:"environment" type:"structure"` + + // An array of ProjectFileSystemLocation objects for the batch build project. + // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, + // mountPoint, and type of a file system created using Amazon Elastic File System. + FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` + + // The identifier of the batch build. + Id *string `locationName:"id" min:"1" type:"string"` + + // The entity that started the batch build. Valid values include: // - // * COMPLETED: The build has been completed. + // * If AWS CodePipeline started the build, the pipeline's name (for example, + // codepipeline/my-demo-pipeline). // - // * DOWNLOAD_SOURCE: Source code is being downloaded in this build phase. + // * If an AWS Identity and Access Management (IAM) user started the build, + // the user's name. // - // * FINALIZING: The build process is completing in this build phase. + // * If the Jenkins plugin for AWS CodeBuild started the build, the string + // CodeBuild-Jenkins-Plugin. + Initiator *string `locationName:"initiator" type:"string"` + + // Information about logs for a build project. These can be logs in Amazon CloudWatch + // Logs, built in a specified S3 bucket, or both. + LogConfig *LogsConfig `locationName:"logConfig" type:"structure"` + + // An array of BuildBatchPhase objects the specify the phases of the batch build. + Phases []*BuildBatchPhase `locationName:"phases" type:"list"` + + // The name of the batch build project. + ProjectName *string `locationName:"projectName" min:"1" type:"string"` + + // Specifies the amount of time, in minutes, that the batch build is allowed + // to be queued before it times out. + QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" type:"integer"` + + // The identifier of the resolved version of this batch build's source code. // - // * INSTALL: Installation activities typically occur in this build phase. + // * For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit + // ID. // - // * POST_BUILD: Post-build activities typically occur in this build phase. + // * For AWS CodePipeline, the source revision provided by AWS CodePipeline. // - // * PRE_BUILD: Pre-build activities typically occur in this build phase. + // * For Amazon Simple Storage Service (Amazon S3), this does not apply. + ResolvedSourceVersion *string `locationName:"resolvedSourceVersion" min:"1" type:"string"` + + // An array of BuildArtifacts objects the define the build artifacts for this + // batch build. + SecondaryArtifacts []*BuildArtifacts `locationName:"secondaryArtifacts" type:"list"` + + // An array of ProjectSourceVersion objects. Each ProjectSourceVersion must + // be one of: // - // * PROVISIONING: The build environment is being set up. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // - // * QUEUED: The build has been submitted and is queued behind other submitted - // builds. + // * 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. + // If a pull request ID is specified, it must use the format pr/pull-request-ID + // (for example, pr/25). If a branch name is specified, the branch's HEAD + // commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. // - // * SUBMITTED: The build has been submitted. + // * For Bitbucket: the commit ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a branch name + // is specified, the branch's HEAD commit ID is used. If not specified, the + // default branch's HEAD commit ID is used. // - // * UPLOAD_ARTIFACTS: Build output artifacts are being uploaded to the output - // location. - PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildPhaseType"` + // * For Amazon Simple Storage Service (Amazon S3): the version ID of the + // object that represents the build input ZIP file to use. + SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` - // When the build phase started, expressed in Unix time format. + // An array of ProjectSource objects that define the sources for the batch build. + SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` + + // The name of a service role used for builds in the batch. + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` + + // Information about the build input source code for the build project. + Source *ProjectSource `locationName:"source" type:"structure"` + + // The identifier of the version of the source code to be built. + SourceVersion *string `locationName:"sourceVersion" min:"1" type:"string"` + + // The date and time that the batch build started. StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // Information about the VPC configuration that AWS CodeBuild accesses. + VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` } // String returns the string representation -func (s BuildPhase) String() string { +func (s BuildBatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BuildPhase) GoString() string { +func (s BuildBatch) GoString() string { return s.String() } -// SetContexts sets the Contexts field's value. -func (s *BuildPhase) SetContexts(v []*PhaseContext) *BuildPhase { - s.Contexts = v +// SetArn sets the Arn field's value. +func (s *BuildBatch) SetArn(v string) *BuildBatch { + s.Arn = &v return s } -// SetDurationInSeconds sets the DurationInSeconds field's value. -func (s *BuildPhase) SetDurationInSeconds(v int64) *BuildPhase { - s.DurationInSeconds = &v +// SetArtifacts sets the Artifacts field's value. +func (s *BuildBatch) SetArtifacts(v *BuildArtifacts) *BuildBatch { + s.Artifacts = v return s } -// SetEndTime sets the EndTime field's value. -func (s *BuildPhase) SetEndTime(v time.Time) *BuildPhase { - s.EndTime = &v +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *BuildBatch) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *BuildBatch { + s.BuildBatchConfig = v return s } -// SetPhaseStatus sets the PhaseStatus field's value. -func (s *BuildPhase) SetPhaseStatus(v string) *BuildPhase { - s.PhaseStatus = &v +// SetBuildBatchNumber sets the BuildBatchNumber field's value. +func (s *BuildBatch) SetBuildBatchNumber(v int64) *BuildBatch { + s.BuildBatchNumber = &v return s } -// SetPhaseType sets the PhaseType field's value. -func (s *BuildPhase) SetPhaseType(v string) *BuildPhase { - s.PhaseType = &v +// SetBuildBatchStatus sets the BuildBatchStatus field's value. +func (s *BuildBatch) SetBuildBatchStatus(v string) *BuildBatch { + s.BuildBatchStatus = &v return s } -// SetStartTime sets the StartTime field's value. -func (s *BuildPhase) SetStartTime(v time.Time) *BuildPhase { - s.StartTime = &v +// SetBuildGroups sets the BuildGroups field's value. +func (s *BuildBatch) SetBuildGroups(v []*BuildGroup) *BuildBatch { + s.BuildGroups = v return s } -// Information about Amazon CloudWatch Logs for a build project. -type CloudWatchLogsConfig struct { - _ struct{} `type:"structure"` +// SetBuildTimeoutInMinutes sets the BuildTimeoutInMinutes field's value. +func (s *BuildBatch) SetBuildTimeoutInMinutes(v int64) *BuildBatch { + s.BuildTimeoutInMinutes = &v + return s +} - // The group name of the logs in Amazon CloudWatch Logs. For more information, - // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). - GroupName *string `locationName:"groupName" type:"string"` +// SetCache sets the Cache field's value. +func (s *BuildBatch) SetCache(v *ProjectCache) *BuildBatch { + s.Cache = v + return s +} - // The current status of the logs in Amazon CloudWatch Logs for a build project. - // Valid values are: - // - // * ENABLED: Amazon CloudWatch Logs are enabled for this build project. - // - // * DISABLED: Amazon CloudWatch Logs are not enabled for this build project. - // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` +// SetComplete sets the Complete field's value. +func (s *BuildBatch) SetComplete(v bool) *BuildBatch { + s.Complete = &v + return s +} - // The prefix of the stream name of the Amazon CloudWatch Logs. For more information, - // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). - StreamName *string `locationName:"streamName" type:"string"` +// SetCurrentPhase sets the CurrentPhase field's value. +func (s *BuildBatch) SetCurrentPhase(v string) *BuildBatch { + s.CurrentPhase = &v + return s } -// String returns the string representation -func (s CloudWatchLogsConfig) String() string { - return awsutil.Prettify(s) +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *BuildBatch) SetEncryptionKey(v string) *BuildBatch { + s.EncryptionKey = &v + return s } -// GoString returns the string representation -func (s CloudWatchLogsConfig) GoString() string { - return s.String() +// SetEndTime sets the EndTime field's value. +func (s *BuildBatch) SetEndTime(v time.Time) *BuildBatch { + s.EndTime = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CloudWatchLogsConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsConfig"} - if s.Status == nil { - invalidParams.Add(request.NewErrParamRequired("Status")) - } +// SetEnvironment sets the Environment field's value. +func (s *BuildBatch) SetEnvironment(v *ProjectEnvironment) *BuildBatch { + s.Environment = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *BuildBatch) SetFileSystemLocations(v []*ProjectFileSystemLocation) *BuildBatch { + s.FileSystemLocations = v + return s } -// SetGroupName sets the GroupName field's value. -func (s *CloudWatchLogsConfig) SetGroupName(v string) *CloudWatchLogsConfig { - s.GroupName = &v +// SetId sets the Id field's value. +func (s *BuildBatch) SetId(v string) *BuildBatch { + s.Id = &v return s } -// SetStatus sets the Status field's value. -func (s *CloudWatchLogsConfig) SetStatus(v string) *CloudWatchLogsConfig { - s.Status = &v +// SetInitiator sets the Initiator field's value. +func (s *BuildBatch) SetInitiator(v string) *BuildBatch { + s.Initiator = &v return s } -// SetStreamName sets the StreamName field's value. -func (s *CloudWatchLogsConfig) SetStreamName(v string) *CloudWatchLogsConfig { - s.StreamName = &v +// SetLogConfig sets the LogConfig field's value. +func (s *BuildBatch) SetLogConfig(v *LogsConfig) *BuildBatch { + s.LogConfig = v return s } -type CreateProjectInput struct { - _ struct{} `type:"structure"` +// SetPhases sets the Phases field's value. +func (s *BuildBatch) SetPhases(v []*BuildBatchPhase) *BuildBatch { + s.Phases = v + return s +} - // Information about the build output artifacts for the build project. - // - // Artifacts is a required field - Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure" required:"true"` +// SetProjectName sets the ProjectName field's value. +func (s *BuildBatch) SetProjectName(v string) *BuildBatch { + s.ProjectName = &v + return s +} - // Set this to true to generate a publicly accessible URL for your project's - // build badge. - BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *BuildBatch) SetQueuedTimeoutInMinutes(v int64) *BuildBatch { + s.QueuedTimeoutInMinutes = &v + return s +} - // Stores recently used information so that it can be quickly accessed at a - // later time. - Cache *ProjectCache `locationName:"cache" type:"structure"` +// SetResolvedSourceVersion sets the ResolvedSourceVersion field's value. +func (s *BuildBatch) SetResolvedSourceVersion(v string) *BuildBatch { + s.ResolvedSourceVersion = &v + return s +} - // A description that makes the build project easy to identify. - Description *string `locationName:"description" type:"string"` +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *BuildBatch) SetSecondaryArtifacts(v []*BuildArtifacts) *BuildBatch { + s.SecondaryArtifacts = v + return s +} - // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be - // used for encrypting the build output artifacts. - // - // You can use a cross-account KMS key to encrypt the build output artifacts - // if your service role has permission to that key. - // - // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). - EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *BuildBatch) SetSecondarySourceVersions(v []*ProjectSourceVersion) *BuildBatch { + s.SecondarySourceVersions = v + return s +} - // Information about the build environment for the build project. - // - // Environment is a required field - Environment *ProjectEnvironment `locationName:"environment" type:"structure" required:"true"` +// SetSecondarySources sets the SecondarySources field's value. +func (s *BuildBatch) SetSecondarySources(v []*ProjectSource) *BuildBatch { + s.SecondarySources = v + return s +} - // An array of ProjectFileSystemLocation objects for a CodeBuild build project. - // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, - // mountPoint, and type of a file system created using Amazon Elastic File System. - FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` +// SetServiceRole sets the ServiceRole field's value. +func (s *BuildBatch) SetServiceRole(v string) *BuildBatch { + s.ServiceRole = &v + return s +} - // Information about logs for the build project. These can be logs in Amazon - // CloudWatch Logs, logs uploaded to a specified S3 bucket, or both. - LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"` +// SetSource sets the Source field's value. +func (s *BuildBatch) SetSource(v *ProjectSource) *BuildBatch { + s.Source = v + return s +} - // The name of the build project. - // - // Name is a required field - Name *string `locationName:"name" min:"2" type:"string" required:"true"` +// SetSourceVersion sets the SourceVersion field's value. +func (s *BuildBatch) SetSourceVersion(v string) *BuildBatch { + s.SourceVersion = &v + return s +} - // The number of minutes a build is allowed to be queued before it times out. - QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"` +// SetStartTime sets the StartTime field's value. +func (s *BuildBatch) SetStartTime(v time.Time) *BuildBatch { + s.StartTime = &v + return s +} - // An array of ProjectArtifacts objects. - SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` +// SetVpcConfig sets the VpcConfig field's value. +func (s *BuildBatch) SetVpcConfig(v *VpcConfig) *BuildBatch { + s.VpcConfig = v + return s +} - // An array of ProjectSourceVersion objects. If secondarySourceVersions is specified - // at the build level, then they take precedence over these secondarySourceVersions - // (at the project level). - SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` +// Specifies filters when retrieving batch builds. +type BuildBatchFilter struct { + _ struct{} `type:"structure"` - // An array of ProjectSource objects. - SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` + // The status of the batch builds to retrieve. Only batch builds that have this + // status will be retrieved. + Status *string `locationName:"status" type:"string" enum:"StatusType"` +} - // The ARN of the AWS Identity and Access Management (IAM) role that enables - // AWS CodeBuild to interact with dependent AWS services on behalf of the AWS - // account. - // - // ServiceRole is a required field - ServiceRole *string `locationName:"serviceRole" min:"1" type:"string" required:"true"` +// String returns the string representation +func (s BuildBatchFilter) String() string { + return awsutil.Prettify(s) +} - // Information about the build input source code for the build project. - // - // Source is a required field - Source *ProjectSource `locationName:"source" type:"structure" required:"true"` +// GoString returns the string representation +func (s BuildBatchFilter) GoString() string { + return s.String() +} - // 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: +// SetStatus sets the Status field's value. +func (s *BuildBatchFilter) SetStatus(v string) *BuildBatchFilter { + s.Status = &v + return s +} + +// Contains information about a stage for a batch build. +type BuildBatchPhase struct { + _ struct{} `type:"structure"` + + // Additional information about the batch build phase. Especially to help troubleshoot + // a failed btach build. + Contexts []*PhaseContext `locationName:"contexts" type:"list"` + + // How long, in seconds, between the starting and ending times of the batch + // build's phase. + DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"` + + // When the batch build phase ended, expressed in Unix time format. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The current status of the batch build phase. Valid values include: // - // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. + // FAILED // - // * 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. - // If a pull request ID is specified, it must use the format pr/pull-request-ID - // (for example pr/25). If a branch name is specified, the branch's HEAD - // commit ID is used. If not specified, the default branch's HEAD commit - // ID is used. + // The build phase failed. // - // * For Bitbucket: the commit ID, branch name, or tag name that corresponds - // to the version of the source code you want to build. If a branch name - // is specified, the branch's HEAD commit ID is used. If not specified, the - // default branch's HEAD commit ID is used. + // FAULT // - // * For Amazon Simple Storage Service (Amazon S3): the version ID of the - // object that represents the build input ZIP file to use. + // The build phase faulted. // - // If sourceVersion is specified at the build level, then that version takes - // precedence over this sourceVersion (at the project level). + // IN_PROGRESS // - // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) - // in the AWS CodeBuild User Guide. - SourceVersion *string `locationName:"sourceVersion" type:"string"` - - // A list of tag key and value pairs associated with this build project. + // The build phase is still in progress. // - // These tags are available for use by AWS services that support AWS CodeBuild - // build project tags. - Tags []*Tag `locationName:"tags" type:"list"` + // QUEUED + // + // The build has been submitted and is queued behind other submitted builds. + // + // STOPPED + // + // The build phase stopped. + // + // SUCCEEDED + // + // The build phase succeeded. + // + // TIMED_OUT + // + // The build phase timed out. + PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"` - // How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait - // before it times out any build that has not been marked as completed. The - // default is 60 minutes. - TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"` + // The name of the batch build phase. Valid values include: + // + // COMBINE_ARTIFACTS + // + // Build output artifacts are being combined and uploaded to the output location. + // + // DOWNLOAD_BATCHSPEC + // + // The batch build specification is being downloaded. + // + // FAILED + // + // One or more of the builds failed. + // + // IN_PROGRESS + // + // The batch build is in progress. + // + // STOPPED + // + // The batch build was stopped. + // + // SUBMITTED + // + // The btach build has been submitted. + // + // SUCCEEDED + // + // The batch build succeeded. + PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildBatchPhaseType"` - // VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC. - VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` + // When the batch build phase started, expressed in Unix time format. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` } // String returns the string representation -func (s CreateProjectInput) String() string { +func (s BuildBatchPhase) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateProjectInput) GoString() string { +func (s BuildBatchPhase) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateProjectInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"} - if s.Artifacts == nil { - invalidParams.Add(request.NewErrParamRequired("Artifacts")) - } - if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1)) - } - if s.Environment == nil { - invalidParams.Add(request.NewErrParamRequired("Environment")) - } - 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.QueuedTimeoutInMinutes != nil && *s.QueuedTimeoutInMinutes < 5 { - invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutes", 5)) - } - if s.ServiceRole == nil { - invalidParams.Add(request.NewErrParamRequired("ServiceRole")) - } - if s.ServiceRole != nil && len(*s.ServiceRole) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1)) - } - if s.Source == nil { - invalidParams.Add(request.NewErrParamRequired("Source")) - } - if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 5 { - invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 5)) - } - if s.Artifacts != nil { - if err := s.Artifacts.Validate(); err != nil { - invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams)) - } - } - if s.Cache != nil { - if err := s.Cache.Validate(); err != nil { - invalidParams.AddNested("Cache", err.(request.ErrInvalidParams)) - } - } - if s.Environment != nil { - if err := s.Environment.Validate(); err != nil { - invalidParams.AddNested("Environment", err.(request.ErrInvalidParams)) - } - } - if s.LogsConfig != nil { - if err := s.LogsConfig.Validate(); err != nil { - invalidParams.AddNested("LogsConfig", err.(request.ErrInvalidParams)) - } - } - if s.SecondaryArtifacts != nil { - for i, v := range s.SecondaryArtifacts { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifacts", i), err.(request.ErrInvalidParams)) - } - } - } - if s.SecondarySourceVersions != nil { - for i, v := range s.SecondarySourceVersions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourceVersions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.SecondarySources != nil { - for i, v := range s.SecondarySources { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySources", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Source != nil { - if err := s.Source.Validate(); err != nil { - invalidParams.AddNested("Source", 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.VpcConfig != nil { - if err := s.VpcConfig.Validate(); err != nil { - invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetArtifacts sets the Artifacts field's value. -func (s *CreateProjectInput) SetArtifacts(v *ProjectArtifacts) *CreateProjectInput { - s.Artifacts = v +// SetContexts sets the Contexts field's value. +func (s *BuildBatchPhase) SetContexts(v []*PhaseContext) *BuildBatchPhase { + s.Contexts = v return s } -// SetBadgeEnabled sets the BadgeEnabled field's value. -func (s *CreateProjectInput) SetBadgeEnabled(v bool) *CreateProjectInput { - s.BadgeEnabled = &v +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *BuildBatchPhase) SetDurationInSeconds(v int64) *BuildBatchPhase { + s.DurationInSeconds = &v return s } -// SetCache sets the Cache field's value. -func (s *CreateProjectInput) SetCache(v *ProjectCache) *CreateProjectInput { - s.Cache = v +// SetEndTime sets the EndTime field's value. +func (s *BuildBatchPhase) SetEndTime(v time.Time) *BuildBatchPhase { + s.EndTime = &v return s } -// SetDescription sets the Description field's value. -func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput { - s.Description = &v +// SetPhaseStatus sets the PhaseStatus field's value. +func (s *BuildBatchPhase) SetPhaseStatus(v string) *BuildBatchPhase { + s.PhaseStatus = &v return s } -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *CreateProjectInput) SetEncryptionKey(v string) *CreateProjectInput { - s.EncryptionKey = &v +// SetPhaseType sets the PhaseType field's value. +func (s *BuildBatchPhase) SetPhaseType(v string) *BuildBatchPhase { + s.PhaseType = &v return s } -// SetEnvironment sets the Environment field's value. -func (s *CreateProjectInput) SetEnvironment(v *ProjectEnvironment) *CreateProjectInput { - s.Environment = v +// SetStartTime sets the StartTime field's value. +func (s *BuildBatchPhase) SetStartTime(v time.Time) *BuildBatchPhase { + s.StartTime = &v return s } -// SetFileSystemLocations sets the FileSystemLocations field's value. -func (s *CreateProjectInput) SetFileSystemLocations(v []*ProjectFileSystemLocation) *CreateProjectInput { - s.FileSystemLocations = v - return s -} +// Contains information about a batch build build group. Build groups are used +// to combine builds that can run in parallel, while still being able to set +// dependencies on other build groups. +type BuildGroup struct { + _ struct{} `type:"structure"` -// SetLogsConfig sets the LogsConfig field's value. -func (s *CreateProjectInput) SetLogsConfig(v *LogsConfig) *CreateProjectInput { - s.LogsConfig = v - return s -} + // A BuildSummary object that contains a summary of the current build group. + CurrentBuildSummary *BuildSummary `locationName:"currentBuildSummary" type:"structure"` -// SetName sets the Name field's value. -func (s *CreateProjectInput) SetName(v string) *CreateProjectInput { - s.Name = &v - return s -} + // An array of strings that contain the identifiers of the build groups that + // this build group depends on. + DependsOn []*string `locationName:"dependsOn" type:"list"` -// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. -func (s *CreateProjectInput) SetQueuedTimeoutInMinutes(v int64) *CreateProjectInput { - s.QueuedTimeoutInMinutes = &v - return s -} + // Contains the identifier of the build group. + Identifier *string `locationName:"identifier" type:"string"` -// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. -func (s *CreateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *CreateProjectInput { - s.SecondaryArtifacts = v - return s -} + // Specifies if failures in this build group can be ignored. + IgnoreFailure *bool `locationName:"ignoreFailure" type:"boolean"` -// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. -func (s *CreateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *CreateProjectInput { - s.SecondarySourceVersions = v - return s + // An array of BuildSummary objects that contain summaries of previous build + // groups. + PriorBuildSummaryList []*BuildSummary `locationName:"priorBuildSummaryList" type:"list"` } -// SetSecondarySources sets the SecondarySources field's value. -func (s *CreateProjectInput) SetSecondarySources(v []*ProjectSource) *CreateProjectInput { - s.SecondarySources = v - return s +// String returns the string representation +func (s BuildGroup) String() string { + return awsutil.Prettify(s) } -// SetServiceRole sets the ServiceRole field's value. -func (s *CreateProjectInput) SetServiceRole(v string) *CreateProjectInput { - s.ServiceRole = &v - return s +// GoString returns the string representation +func (s BuildGroup) GoString() string { + return s.String() } -// SetSource sets the Source field's value. -func (s *CreateProjectInput) SetSource(v *ProjectSource) *CreateProjectInput { - s.Source = v +// SetCurrentBuildSummary sets the CurrentBuildSummary field's value. +func (s *BuildGroup) SetCurrentBuildSummary(v *BuildSummary) *BuildGroup { + s.CurrentBuildSummary = v return s } -// SetSourceVersion sets the SourceVersion field's value. -func (s *CreateProjectInput) SetSourceVersion(v string) *CreateProjectInput { - s.SourceVersion = &v +// SetDependsOn sets the DependsOn field's value. +func (s *BuildGroup) SetDependsOn(v []*string) *BuildGroup { + s.DependsOn = v return s } -// SetTags sets the Tags field's value. -func (s *CreateProjectInput) SetTags(v []*Tag) *CreateProjectInput { - s.Tags = v +// SetIdentifier sets the Identifier field's value. +func (s *BuildGroup) SetIdentifier(v string) *BuildGroup { + s.Identifier = &v return s } -// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. -func (s *CreateProjectInput) SetTimeoutInMinutes(v int64) *CreateProjectInput { - s.TimeoutInMinutes = &v +// SetIgnoreFailure sets the IgnoreFailure field's value. +func (s *BuildGroup) SetIgnoreFailure(v bool) *BuildGroup { + s.IgnoreFailure = &v return s } -// SetVpcConfig sets the VpcConfig field's value. -func (s *CreateProjectInput) SetVpcConfig(v *VpcConfig) *CreateProjectInput { - s.VpcConfig = v +// SetPriorBuildSummaryList sets the PriorBuildSummaryList field's value. +func (s *BuildGroup) SetPriorBuildSummaryList(v []*BuildSummary) *BuildGroup { + s.PriorBuildSummaryList = v return s } -type CreateProjectOutput struct { +// Information about a build that could not be successfully deleted. +type BuildNotDeleted struct { _ struct{} `type:"structure"` - // Information about the build project that was created. - Project *Project `locationName:"project" type:"structure"` + // The ID of the build that could not be successfully deleted. + Id *string `locationName:"id" min:"1" type:"string"` + + // Additional information about the build that could not be successfully deleted. + StatusCode *string `locationName:"statusCode" type:"string"` } // String returns the string representation -func (s CreateProjectOutput) String() string { +func (s BuildNotDeleted) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateProjectOutput) GoString() string { +func (s BuildNotDeleted) GoString() string { return s.String() } -// SetProject sets the Project field's value. -func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput { - s.Project = v +// SetId sets the Id field's value. +func (s *BuildNotDeleted) SetId(v string) *BuildNotDeleted { + s.Id = &v return s } -type CreateReportGroupInput struct { +// SetStatusCode sets the StatusCode field's value. +func (s *BuildNotDeleted) SetStatusCode(v string) *BuildNotDeleted { + s.StatusCode = &v + return s +} + +// Information about a stage for a build. +type BuildPhase 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"` + // Additional information about a build phase, especially to help troubleshoot + // a failed build. + Contexts []*PhaseContext `locationName:"contexts" type:"list"` - // The name of the report group. - // - // Name is a required field - Name *string `locationName:"name" min:"2" type:"string" required:"true"` + // How long, in seconds, between the starting and ending times of the build's + // phase. + DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"` - // A list of tag key and value pairs associated with this report group. - // - // These tags are available for use by AWS services that support AWS CodeBuild - // report group tags. - Tags []*Tag `locationName:"tags" type:"list"` + // When the build phase ended, expressed in Unix time format. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` - // The type of report group. + // The current status of the build phase. Valid values include: // - // 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) -} + // FAILED + // + // The build phase failed. + // + // FAULT + // + // The build phase faulted. + // + // IN_PROGRESS + // + // The build phase is still in progress. + // + // QUEUED + // + // The build has been submitted and is queued behind other submitted builds. + // + // STOPPED + // + // The build phase stopped. + // + // SUCCEEDED + // + // The build phase succeeded. + // + // TIMED_OUT + // + // The build phase timed out. + PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"` -// GoString returns the string representation -func (s CreateReportGroupInput) GoString() string { - return s.String() -} + // The name of the build phase. Valid values include: + // + // * BUILD: Core build activities typically occur in this build phase. + // + // * COMPLETED: The build has been completed. + // + // * DOWNLOAD_SOURCE: Source code is being downloaded in this build phase. + // + // * FINALIZING: The build process is completing in this build phase. + // + // * INSTALL: Installation activities typically occur in this build phase. + // + // * POST_BUILD: Post-build activities typically occur in this build phase. + // + // * PRE_BUILD: Pre-build activities typically occur in this build phase. + // + // * PROVISIONING: The build environment is being set up. + // + // * QUEUED: The build has been submitted and is queued behind other submitted + // builds. + // + // * SUBMITTED: The build has been submitted. + // + // * UPLOAD_ARTIFACTS: Build output artifacts are being uploaded to the output + // location. + PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildPhaseType"` -// 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 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)) - } - } - } + // When the build phase started, expressed in Unix time format. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// String returns the string representation +func (s BuildPhase) String() string { + return awsutil.Prettify(s) } -// SetExportConfig sets the ExportConfig field's value. -func (s *CreateReportGroupInput) SetExportConfig(v *ReportExportConfig) *CreateReportGroupInput { - s.ExportConfig = v +// GoString returns the string representation +func (s BuildPhase) GoString() string { + return s.String() +} + +// SetContexts sets the Contexts field's value. +func (s *BuildPhase) SetContexts(v []*PhaseContext) *BuildPhase { + s.Contexts = v return s } -// SetName sets the Name field's value. -func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput { - s.Name = &v +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *BuildPhase) SetDurationInSeconds(v int64) *BuildPhase { + s.DurationInSeconds = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateReportGroupInput) SetTags(v []*Tag) *CreateReportGroupInput { - s.Tags = v +// SetEndTime sets the EndTime field's value. +func (s *BuildPhase) SetEndTime(v time.Time) *BuildPhase { + s.EndTime = &v return s } -// SetType sets the Type field's value. -func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput { - s.Type = &v +// SetPhaseStatus sets the PhaseStatus field's value. +func (s *BuildPhase) SetPhaseStatus(v string) *BuildPhase { + s.PhaseStatus = &v return s } -type CreateReportGroupOutput struct { +// SetPhaseType sets the PhaseType field's value. +func (s *BuildPhase) SetPhaseType(v string) *BuildPhase { + s.PhaseType = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *BuildPhase) SetStartTime(v time.Time) *BuildPhase { + s.StartTime = &v + return s +} + +// Contains information that defines how the AWS CodeBuild build project reports +// the build status to the source provider. +type BuildStatusConfig struct { _ struct{} `type:"structure"` - // Information about the report group that was created. - ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"` + // Specifies the context of the build status CodeBuild sends to the source provider. + // The usage of this parameter depends on the source provider. + // + // Bitbucket + // + // This parameter is used for the name parameter in the Bitbucket commit status. + // For more information, see build (https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) + // in the Bitbucket API documentation. + // + // GitHub/GitHub Enterprise Server + // + // This parameter is used for the context parameter in the GitHub commit status. + // For more information, see Create a commit status (https://developer.github.com/v3/repos/statuses/#create-a-commit-status) + // in the GitHub developer guide. + Context *string `locationName:"context" type:"string"` + + // Specifies the target url of the build status CodeBuild sends to the source + // provider. The usage of this parameter depends on the source provider. + // + // Bitbucket + // + // This parameter is used for the url parameter in the Bitbucket commit status. + // For more information, see build (https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) + // in the Bitbucket API documentation. + // + // GitHub/GitHub Enterprise Server + // + // This parameter is used for the target_url parameter in the GitHub commit + // status. For more information, see Create a commit status (https://developer.github.com/v3/repos/statuses/#create-a-commit-status) + // in the GitHub developer guide. + TargetUrl *string `locationName:"targetUrl" type:"string"` } // String returns the string representation -func (s CreateReportGroupOutput) String() string { +func (s BuildStatusConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateReportGroupOutput) GoString() string { +func (s BuildStatusConfig) GoString() string { return s.String() } -// SetReportGroup sets the ReportGroup field's value. -func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput { - s.ReportGroup = v +// SetContext sets the Context field's value. +func (s *BuildStatusConfig) SetContext(v string) *BuildStatusConfig { + s.Context = &v return s } -type CreateWebhookInput struct { +// SetTargetUrl sets the TargetUrl field's value. +func (s *BuildStatusConfig) SetTargetUrl(v string) *BuildStatusConfig { + s.TargetUrl = &v + return s +} + +// Contains summary information about a batch build group. +type BuildSummary struct { _ struct{} `type:"structure"` - // A regular expression used to determine which repository branches are built - // when a webhook is triggered. If the name of a branch matches the regular - // expression, then it is built. If branchFilter is empty, then all branches - // are built. - // - // It is recommended that you use filterGroups instead of branchFilter. - BranchFilter *string `locationName:"branchFilter" type:"string"` + // The batch build ARN. + Arn *string `locationName:"arn" type:"string"` - // An array of arrays of WebhookFilter objects used to determine which webhooks - // are triggered. At least one WebhookFilter in the array must specify EVENT - // as its type. + // The status of the build group. // - // For a build to be triggered, at least one filter group in the filterGroups - // array must pass. For a filter group to pass, each of its filters must pass. - FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` - - // The name of the AWS CodeBuild project. + // FAILED // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` + // The build group failed. + // + // FAULT + // + // The build group faulted. + // + // IN_PROGRESS + // + // The build group is still in progress. + // + // STOPPED + // + // The build group stopped. + // + // SUCCEEDED + // + // The build group succeeded. + // + // TIMED_OUT + // + // The build group timed out. + BuildStatus *string `locationName:"buildStatus" type:"string" enum:"StatusType"` + + // A ResolvedArtifact object that represents the primary build artifacts for + // the build group. + PrimaryArtifact *ResolvedArtifact `locationName:"primaryArtifact" type:"structure"` + + // When the build was started, expressed in Unix time format. + RequestedOn *time.Time `locationName:"requestedOn" type:"timestamp"` + + // An array of ResolvedArtifact objects that represents the secondary build + // artifacts for the build group. + SecondaryArtifacts []*ResolvedArtifact `locationName:"secondaryArtifacts" type:"list"` } // String returns the string representation -func (s CreateWebhookInput) String() string { +func (s BuildSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateWebhookInput) GoString() string { +func (s BuildSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateWebhookInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"} - if s.ProjectName == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectName")) - } - if s.ProjectName != nil && len(*s.ProjectName) < 2 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBranchFilter sets the BranchFilter field's value. -func (s *CreateWebhookInput) SetBranchFilter(v string) *CreateWebhookInput { - s.BranchFilter = &v +// SetArn sets the Arn field's value. +func (s *BuildSummary) SetArn(v string) *BuildSummary { + s.Arn = &v return s } -// SetFilterGroups sets the FilterGroups field's value. -func (s *CreateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *CreateWebhookInput { - s.FilterGroups = v +// SetBuildStatus sets the BuildStatus field's value. +func (s *BuildSummary) SetBuildStatus(v string) *BuildSummary { + s.BuildStatus = &v return s } -// SetProjectName sets the ProjectName field's value. -func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput { - s.ProjectName = &v +// SetPrimaryArtifact sets the PrimaryArtifact field's value. +func (s *BuildSummary) SetPrimaryArtifact(v *ResolvedArtifact) *BuildSummary { + s.PrimaryArtifact = v return s } -type CreateWebhookOutput struct { - _ struct{} `type:"structure"` - - // Information about a webhook that connects repository events to a build project - // in AWS CodeBuild. - Webhook *Webhook `locationName:"webhook" type:"structure"` -} - -// String returns the string representation -func (s CreateWebhookOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateWebhookOutput) GoString() string { - return s.String() +// SetRequestedOn sets the RequestedOn field's value. +func (s *BuildSummary) SetRequestedOn(v time.Time) *BuildSummary { + s.RequestedOn = &v + return s } -// SetWebhook sets the Webhook field's value. -func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput { - s.Webhook = v +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *BuildSummary) SetSecondaryArtifacts(v []*ResolvedArtifact) *BuildSummary { + s.SecondaryArtifacts = v return s } -type DeleteProjectInput struct { +// Information about Amazon CloudWatch Logs for a build project. +type CloudWatchLogsConfig struct { _ struct{} `type:"structure"` - // The name of the build project. + // The group name of the logs in Amazon CloudWatch Logs. For more information, + // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). + GroupName *string `locationName:"groupName" type:"string"` + + // The current status of the logs in Amazon CloudWatch Logs for a build project. + // Valid values are: // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // * ENABLED: Amazon CloudWatch Logs are enabled for this build project. + // + // * DISABLED: Amazon CloudWatch Logs are not enabled for this build project. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` + + // The prefix of the stream name of the Amazon CloudWatch Logs. For more information, + // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). + StreamName *string `locationName:"streamName" type:"string"` } // String returns the string representation -func (s DeleteProjectInput) String() string { +func (s CloudWatchLogsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteProjectInput) GoString() string { +func (s CloudWatchLogsConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteProjectInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"} - 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 *CloudWatchLogsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsConfig"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) } if invalidParams.Len() > 0 { @@ -5007,354 +6101,447 @@ func (s *DeleteProjectInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput { - s.Name = &v +// SetGroupName sets the GroupName field's value. +func (s *CloudWatchLogsConfig) SetGroupName(v string) *CloudWatchLogsConfig { + s.GroupName = &v return s } -type DeleteProjectOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteProjectOutput) String() string { - return awsutil.Prettify(s) +// SetStatus sets the Status field's value. +func (s *CloudWatchLogsConfig) SetStatus(v string) *CloudWatchLogsConfig { + s.Status = &v + return s } -// GoString returns the string representation -func (s DeleteProjectOutput) GoString() string { - return s.String() +// SetStreamName sets the StreamName field's value. +func (s *CloudWatchLogsConfig) SetStreamName(v string) *CloudWatchLogsConfig { + s.StreamName = &v + return s } -type DeleteReportGroupInput struct { +// Contains code coverage report information. +// +// Line coverage measures how many statements your tests cover. A statement +// is a single instruction, not including comments, conditionals, etc. +// +// Branch coverage determines if your tests cover every possible branch of a +// control structure, such as an if or case statement. +type CodeCoverage 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) -} + // The percentage of branches that are covered by your tests. + BranchCoveragePercentage *float64 `locationName:"branchCoveragePercentage" type:"double"` -// GoString returns the string representation -func (s DeleteReportGroupInput) GoString() string { - return s.String() -} + // The number of conditional branches that are covered by your tests. + BranchesCovered *int64 `locationName:"branchesCovered" type:"integer"` -// 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)) - } + // The number of conditional branches that are not covered by your tests. + BranchesMissed *int64 `locationName:"branchesMissed" type:"integer"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The date and time that the tests were run. + Expired *time.Time `locationName:"expired" type:"timestamp"` -// SetArn sets the Arn field's value. -func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput { - s.Arn = &v - return s -} + // The path of the test report file. + FilePath *string `locationName:"filePath" min:"1" type:"string"` -type DeleteReportGroupOutput struct { - _ struct{} `type:"structure"` -} + // The identifier of the code coverage report. + Id *string `locationName:"id" min:"1" type:"string"` -// String returns the string representation -func (s DeleteReportGroupOutput) String() string { - return awsutil.Prettify(s) -} + // The percentage of lines that are covered by your tests. + LineCoveragePercentage *float64 `locationName:"lineCoveragePercentage" type:"double"` -// GoString returns the string representation -func (s DeleteReportGroupOutput) GoString() string { - return s.String() -} + // The number of lines that are covered by your tests. + LinesCovered *int64 `locationName:"linesCovered" type:"integer"` -type DeleteReportInput struct { - _ struct{} `type:"structure"` + // The number of lines that are not covered by your tests. + LinesMissed *int64 `locationName:"linesMissed" type:"integer"` - // The ARN of the report to delete. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + // The ARN of the report. + ReportARN *string `locationName:"reportARN" min:"1" type:"string"` } // String returns the string representation -func (s DeleteReportInput) String() string { +func (s CodeCoverage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReportInput) GoString() string { +func (s CodeCoverage) 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 +// SetBranchCoveragePercentage sets the BranchCoveragePercentage field's value. +func (s *CodeCoverage) SetBranchCoveragePercentage(v float64) *CodeCoverage { + s.BranchCoveragePercentage = &v + return s } -// SetArn sets the Arn field's value. -func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput { - s.Arn = &v +// SetBranchesCovered sets the BranchesCovered field's value. +func (s *CodeCoverage) SetBranchesCovered(v int64) *CodeCoverage { + s.BranchesCovered = &v return s } -type DeleteReportOutput struct { - _ struct{} `type:"structure"` +// SetBranchesMissed sets the BranchesMissed field's value. +func (s *CodeCoverage) SetBranchesMissed(v int64) *CodeCoverage { + s.BranchesMissed = &v + return s } -// String returns the string representation -func (s DeleteReportOutput) String() string { - return awsutil.Prettify(s) +// SetExpired sets the Expired field's value. +func (s *CodeCoverage) SetExpired(v time.Time) *CodeCoverage { + s.Expired = &v + return s } -// GoString returns the string representation -func (s DeleteReportOutput) GoString() string { - return s.String() +// SetFilePath sets the FilePath field's value. +func (s *CodeCoverage) SetFilePath(v string) *CodeCoverage { + s.FilePath = &v + return s } -type DeleteResourcePolicyInput struct { - _ struct{} `type:"structure"` - - // The ARN of the resource that is associated with the resource policy. - // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` +// SetId sets the Id field's value. +func (s *CodeCoverage) SetId(v string) *CodeCoverage { + s.Id = &v + return s } -// String returns the string representation -func (s DeleteResourcePolicyInput) String() string { - return awsutil.Prettify(s) +// SetLineCoveragePercentage sets the LineCoveragePercentage field's value. +func (s *CodeCoverage) SetLineCoveragePercentage(v float64) *CodeCoverage { + s.LineCoveragePercentage = &v + return s } -// GoString returns the string representation -func (s DeleteResourcePolicyInput) GoString() string { - return s.String() +// SetLinesCovered sets the LinesCovered field's value. +func (s *CodeCoverage) SetLinesCovered(v int64) *CodeCoverage { + s.LinesCovered = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} - 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 +// SetLinesMissed sets the LinesMissed field's value. +func (s *CodeCoverage) SetLinesMissed(v int64) *CodeCoverage { + s.LinesMissed = &v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { - s.ResourceArn = &v +// SetReportARN sets the ReportARN field's value. +func (s *CodeCoverage) SetReportARN(v string) *CodeCoverage { + s.ReportARN = &v return s } -type DeleteResourcePolicyOutput struct { +// Contains a summary of a code coverage report. +// +// Line coverage measures how many statements your tests cover. A statement +// is a single instruction, not including comments, conditionals, etc. +// +// Branch coverage determines if your tests cover every possible branch of a +// control structure, such as an if or case statement. +type CodeCoverageReportSummary struct { _ struct{} `type:"structure"` -} -// String returns the string representation -func (s DeleteResourcePolicyOutput) String() string { - return awsutil.Prettify(s) -} + // The percentage of branches that are covered by your tests. + BranchCoveragePercentage *float64 `locationName:"branchCoveragePercentage" type:"double"` -// GoString returns the string representation -func (s DeleteResourcePolicyOutput) GoString() string { - return s.String() -} + // The number of conditional branches that are covered by your tests. + BranchesCovered *int64 `locationName:"branchesCovered" type:"integer"` -type DeleteSourceCredentialsInput struct { - _ struct{} `type:"structure"` + // The number of conditional branches that are not covered by your tests. + BranchesMissed *int64 `locationName:"branchesMissed" type:"integer"` - // The Amazon Resource Name (ARN) of the token. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + // The percentage of lines that are covered by your tests. + LineCoveragePercentage *float64 `locationName:"lineCoveragePercentage" type:"double"` + + // The number of lines that are covered by your tests. + LinesCovered *int64 `locationName:"linesCovered" type:"integer"` + + // The number of lines that are not covered by your tests. + LinesMissed *int64 `locationName:"linesMissed" type:"integer"` } // String returns the string representation -func (s DeleteSourceCredentialsInput) String() string { +func (s CodeCoverageReportSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSourceCredentialsInput) GoString() string { +func (s CodeCoverageReportSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSourceCredentialsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSourceCredentialsInput"} - 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 +// SetBranchCoveragePercentage sets the BranchCoveragePercentage field's value. +func (s *CodeCoverageReportSummary) SetBranchCoveragePercentage(v float64) *CodeCoverageReportSummary { + s.BranchCoveragePercentage = &v + return s } -// SetArn sets the Arn field's value. -func (s *DeleteSourceCredentialsInput) SetArn(v string) *DeleteSourceCredentialsInput { - s.Arn = &v +// SetBranchesCovered sets the BranchesCovered field's value. +func (s *CodeCoverageReportSummary) SetBranchesCovered(v int64) *CodeCoverageReportSummary { + s.BranchesCovered = &v return s } -type DeleteSourceCredentialsOutput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the token. - Arn *string `locationName:"arn" min:"1" type:"string"` +// SetBranchesMissed sets the BranchesMissed field's value. +func (s *CodeCoverageReportSummary) SetBranchesMissed(v int64) *CodeCoverageReportSummary { + s.BranchesMissed = &v + return s } -// String returns the string representation -func (s DeleteSourceCredentialsOutput) String() string { - return awsutil.Prettify(s) +// SetLineCoveragePercentage sets the LineCoveragePercentage field's value. +func (s *CodeCoverageReportSummary) SetLineCoveragePercentage(v float64) *CodeCoverageReportSummary { + s.LineCoveragePercentage = &v + return s } -// GoString returns the string representation -func (s DeleteSourceCredentialsOutput) GoString() string { - return s.String() +// SetLinesCovered sets the LinesCovered field's value. +func (s *CodeCoverageReportSummary) SetLinesCovered(v int64) *CodeCoverageReportSummary { + s.LinesCovered = &v + return s } -// SetArn sets the Arn field's value. -func (s *DeleteSourceCredentialsOutput) SetArn(v string) *DeleteSourceCredentialsOutput { - s.Arn = &v +// SetLinesMissed sets the LinesMissed field's value. +func (s *CodeCoverageReportSummary) SetLinesMissed(v int64) *CodeCoverageReportSummary { + s.LinesMissed = &v return s } -type DeleteWebhookInput struct { +type CreateProjectInput struct { _ struct{} `type:"structure"` - // The name of the AWS CodeBuild project. + // Information about the build output artifacts for the build project. // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` -} - -// String returns the string representation -func (s DeleteWebhookInput) String() string { - return awsutil.Prettify(s) -} + // Artifacts is a required field + Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure" required:"true"` -// GoString returns the string representation -func (s DeleteWebhookInput) GoString() string { - return s.String() -} + // Set this to true to generate a publicly accessible URL for your project's + // build badge. + BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteWebhookInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"} - if s.ProjectName == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectName")) - } - if s.ProjectName != nil && len(*s.ProjectName) < 2 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) - } + // A ProjectBuildBatchConfig object that defines the batch build options for + // the project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // Stores recently used information so that it can be quickly accessed at a + // later time. + Cache *ProjectCache `locationName:"cache" type:"structure"` -// SetProjectName sets the ProjectName field's value. -func (s *DeleteWebhookInput) SetProjectName(v string) *DeleteWebhookInput { - s.ProjectName = &v - return s -} + // A description that makes the build project easy to identify. + Description *string `locationName:"description" type:"string"` -type DeleteWebhookOutput struct { - _ struct{} `type:"structure"` -} + // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be + // used for encrypting the build output artifacts. + // + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. + // + // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, + // the CMK's alias (using the format alias/alias-name ). + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` -// String returns the string representation -func (s DeleteWebhookOutput) String() string { - return awsutil.Prettify(s) -} + // Information about the build environment for the build project. + // + // Environment is a required field + Environment *ProjectEnvironment `locationName:"environment" type:"structure" required:"true"` -// GoString returns the string representation -func (s DeleteWebhookOutput) GoString() string { - return s.String() -} + // An array of ProjectFileSystemLocation objects for a CodeBuild build project. + // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, + // mountPoint, and type of a file system created using Amazon Elastic File System. + FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` -type DescribeTestCasesInput struct { - _ struct{} `type:"structure"` + // Information about logs for the build project. These can be logs in Amazon + // CloudWatch Logs, logs uploaded to a specified S3 bucket, or both. + LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"` - // A TestCaseFilter object used to filter the returned reports. - Filter *TestCaseFilter `locationName:"filter" type:"structure"` + // The name of the build project. + // + // Name is a required field + Name *string `locationName:"name" min:"2" type:"string" required:"true"` - // 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"` + // The number of minutes a build is allowed to be queued before it times out. + QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" 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"` + // An array of ProjectArtifacts objects. + SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` - // The ARN of the report for which test cases are returned. + // An array of ProjectSourceVersion objects. If secondarySourceVersions is specified + // at the build level, then they take precedence over these secondarySourceVersions + // (at the project level). + SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` + + // An array of ProjectSource objects. + SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` + + // The ARN of the AWS Identity and Access Management (IAM) role that enables + // AWS CodeBuild to interact with dependent AWS services on behalf of the AWS + // account. // - // ReportArn is a required field - ReportArn *string `locationName:"reportArn" type:"string" required:"true"` + // ServiceRole is a required field + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string" required:"true"` + + // Information about the build input source code for the build project. + // + // Source is a required field + Source *ProjectSource `locationName:"source" type:"structure" required:"true"` + + // 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, 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. + // If a pull request ID is specified, it must use the format pr/pull-request-ID + // (for example pr/25). If a branch name is specified, the branch's HEAD + // commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // * For Bitbucket: the commit ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a branch name + // is specified, the branch's HEAD commit ID is used. If not specified, the + // default branch's HEAD commit ID is used. + // + // * For Amazon Simple Storage Service (Amazon S3): the version ID of the + // object that represents the build input ZIP file to use. + // + // If sourceVersion is specified at the build level, then that version takes + // precedence over this sourceVersion (at the project level). + // + // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) + // in the AWS CodeBuild User Guide. + SourceVersion *string `locationName:"sourceVersion" type:"string"` + + // A list of tag key and value pairs associated with this build project. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // build project tags. + Tags []*Tag `locationName:"tags" type:"list"` + + // How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait + // before it times out any build that has not been marked as completed. The + // default is 60 minutes. + TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"` + + // VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC. + VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` } // String returns the string representation -func (s DescribeTestCasesInput) String() string { +func (s CreateProjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTestCasesInput) GoString() string { +func (s CreateProjectInput) 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)) +func (s *CreateProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"} + if s.Artifacts == nil { + invalidParams.Add(request.NewErrParamRequired("Artifacts")) } - if s.ReportArn == nil { - invalidParams.Add(request.NewErrParamRequired("ReportArn")) + if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1)) + } + if s.Environment == nil { + invalidParams.Add(request.NewErrParamRequired("Environment")) + } + 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.QueuedTimeoutInMinutes != nil && *s.QueuedTimeoutInMinutes < 5 { + invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutes", 5)) + } + if s.ServiceRole == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceRole")) + } + if s.ServiceRole != nil && len(*s.ServiceRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1)) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 5 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 5)) + } + if s.Artifacts != nil { + if err := s.Artifacts.Validate(); err != nil { + invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams)) + } + } + if s.BuildBatchConfig != nil { + if err := s.BuildBatchConfig.Validate(); err != nil { + invalidParams.AddNested("BuildBatchConfig", err.(request.ErrInvalidParams)) + } + } + if s.Cache != nil { + if err := s.Cache.Validate(); err != nil { + invalidParams.AddNested("Cache", err.(request.ErrInvalidParams)) + } + } + if s.Environment != nil { + if err := s.Environment.Validate(); err != nil { + invalidParams.AddNested("Environment", err.(request.ErrInvalidParams)) + } + } + if s.LogsConfig != nil { + if err := s.LogsConfig.Validate(); err != nil { + invalidParams.AddNested("LogsConfig", err.(request.ErrInvalidParams)) + } + } + if s.SecondaryArtifacts != nil { + for i, v := range s.SecondaryArtifacts { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifacts", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SecondarySourceVersions != nil { + for i, v := range s.SecondarySourceVersions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourceVersions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SecondarySources != nil { + for i, v := range s.SecondarySources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySources", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Source != nil { + if err := s.Source.Validate(); err != nil { + invalidParams.AddNested("Source", 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.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -5363,234 +6550,214 @@ func (s *DescribeTestCasesInput) Validate() error { return nil } -// SetFilter sets the Filter field's value. -func (s *DescribeTestCasesInput) SetFilter(v *TestCaseFilter) *DescribeTestCasesInput { - s.Filter = v +// SetArtifacts sets the Artifacts field's value. +func (s *CreateProjectInput) SetArtifacts(v *ProjectArtifacts) *CreateProjectInput { + s.Artifacts = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput { - s.MaxResults = &v +// SetBadgeEnabled sets the BadgeEnabled field's value. +func (s *CreateProjectInput) SetBadgeEnabled(v bool) *CreateProjectInput { + s.BadgeEnabled = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput { - s.NextToken = &v +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *CreateProjectInput) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *CreateProjectInput { + s.BuildBatchConfig = v return s } -// SetReportArn sets the ReportArn field's value. -func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput { - s.ReportArn = &v +// SetCache sets the Cache field's value. +func (s *CreateProjectInput) SetCache(v *ProjectCache) *CreateProjectInput { + s.Cache = 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"` +// SetDescription sets the Description field's value. +func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput { + s.Description = &v + return s } -// String returns the string representation -func (s DescribeTestCasesOutput) String() string { - return awsutil.Prettify(s) +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *CreateProjectInput) SetEncryptionKey(v string) *CreateProjectInput { + s.EncryptionKey = &v + return s } -// GoString returns the string representation -func (s DescribeTestCasesOutput) GoString() string { - return s.String() +// SetEnvironment sets the Environment field's value. +func (s *CreateProjectInput) SetEnvironment(v *ProjectEnvironment) *CreateProjectInput { + s.Environment = v + return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput { - s.NextToken = &v +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *CreateProjectInput) SetFileSystemLocations(v []*ProjectFileSystemLocation) *CreateProjectInput { + s.FileSystemLocations = v return s } -// SetTestCases sets the TestCases field's value. -func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput { - s.TestCases = v +// SetLogsConfig sets the LogsConfig field's value. +func (s *CreateProjectInput) SetLogsConfig(v *LogsConfig) *CreateProjectInput { + s.LogsConfig = v return s } -// Information about a Docker image that is managed by AWS CodeBuild. -type EnvironmentImage struct { - _ struct{} `type:"structure"` - - // The description of the Docker image. - Description *string `locationName:"description" type:"string"` - - // The name of the Docker image. - Name *string `locationName:"name" type:"string"` - - // A list of environment image versions. - Versions []*string `locationName:"versions" type:"list"` +// SetName sets the Name field's value. +func (s *CreateProjectInput) SetName(v string) *CreateProjectInput { + s.Name = &v + return s } -// String returns the string representation -func (s EnvironmentImage) String() string { - return awsutil.Prettify(s) +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *CreateProjectInput) SetQueuedTimeoutInMinutes(v int64) *CreateProjectInput { + s.QueuedTimeoutInMinutes = &v + return s } -// GoString returns the string representation -func (s EnvironmentImage) GoString() string { - return s.String() +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *CreateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *CreateProjectInput { + s.SecondaryArtifacts = v + return s } -// SetDescription sets the Description field's value. -func (s *EnvironmentImage) SetDescription(v string) *EnvironmentImage { - s.Description = &v +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *CreateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *CreateProjectInput { + s.SecondarySourceVersions = v return s } -// SetName sets the Name field's value. -func (s *EnvironmentImage) SetName(v string) *EnvironmentImage { - s.Name = &v +// SetSecondarySources sets the SecondarySources field's value. +func (s *CreateProjectInput) SetSecondarySources(v []*ProjectSource) *CreateProjectInput { + s.SecondarySources = v return s } -// SetVersions sets the Versions field's value. -func (s *EnvironmentImage) SetVersions(v []*string) *EnvironmentImage { - s.Versions = v +// SetServiceRole sets the ServiceRole field's value. +func (s *CreateProjectInput) SetServiceRole(v string) *CreateProjectInput { + s.ServiceRole = &v return s } -// A set of Docker images that are related by programming language and are managed -// by AWS CodeBuild. -type EnvironmentLanguage struct { - _ struct{} `type:"structure"` - - // The list of Docker images that are related by the specified programming language. - Images []*EnvironmentImage `locationName:"images" type:"list"` - - // The programming language for the Docker images. - Language *string `locationName:"language" type:"string" enum:"LanguageType"` +// SetSource sets the Source field's value. +func (s *CreateProjectInput) SetSource(v *ProjectSource) *CreateProjectInput { + s.Source = v + return s } -// String returns the string representation -func (s EnvironmentLanguage) String() string { - return awsutil.Prettify(s) +// SetSourceVersion sets the SourceVersion field's value. +func (s *CreateProjectInput) SetSourceVersion(v string) *CreateProjectInput { + s.SourceVersion = &v + return s } -// GoString returns the string representation -func (s EnvironmentLanguage) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *CreateProjectInput) SetTags(v []*Tag) *CreateProjectInput { + s.Tags = v + return s } -// SetImages sets the Images field's value. -func (s *EnvironmentLanguage) SetImages(v []*EnvironmentImage) *EnvironmentLanguage { - s.Images = v +// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. +func (s *CreateProjectInput) SetTimeoutInMinutes(v int64) *CreateProjectInput { + s.TimeoutInMinutes = &v return s } -// SetLanguage sets the Language field's value. -func (s *EnvironmentLanguage) SetLanguage(v string) *EnvironmentLanguage { - s.Language = &v +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateProjectInput) SetVpcConfig(v *VpcConfig) *CreateProjectInput { + s.VpcConfig = v return s } -// A set of Docker images that are related by platform and are managed by AWS -// CodeBuild. -type EnvironmentPlatform struct { +type CreateProjectOutput struct { _ struct{} `type:"structure"` - // The list of programming languages that are available for the specified platform. - Languages []*EnvironmentLanguage `locationName:"languages" type:"list"` - - // The platform's name. - Platform *string `locationName:"platform" type:"string" enum:"PlatformType"` + // Information about the build project that was created. + Project *Project `locationName:"project" type:"structure"` } // String returns the string representation -func (s EnvironmentPlatform) String() string { +func (s CreateProjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnvironmentPlatform) GoString() string { +func (s CreateProjectOutput) GoString() string { return s.String() } -// SetLanguages sets the Languages field's value. -func (s *EnvironmentPlatform) SetLanguages(v []*EnvironmentLanguage) *EnvironmentPlatform { - s.Languages = v - return s -} - -// SetPlatform sets the Platform field's value. -func (s *EnvironmentPlatform) SetPlatform(v string) *EnvironmentPlatform { - s.Platform = &v +// SetProject sets the Project field's value. +func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput { + s.Project = v return s } -// Information about an environment variable for a build project or a build. -type EnvironmentVariable struct { +type CreateReportGroupInput struct { _ struct{} `type:"structure"` - // The name or key of the environment variable. + // A ReportExportConfig object that contains information about where the report + // group test results are exported. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // ExportConfig is a required field + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure" required:"true"` - // The type of environment variable. Valid values include: - // - // * PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems - // Manager Parameter Store. To learn how to specify a parameter store environment - // variable, see parameter store reference-key in the buildspec file (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#parameter-store-build-spec). - // - // * PLAINTEXT: An environment variable in plain text format. This is the - // default value. + // The name of the report group. // - // * SECRETS_MANAGER: An environment variable stored in AWS Secrets Manager. - // To learn how to specify a secrets manager environment variable, see secrets - // manager reference-key in the buildspec file (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#secrets-manager-build-spec). - Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"` + // Name is a required field + Name *string `locationName:"name" min:"2" type:"string" required:"true"` - // The value of the environment variable. + // A list of tag key and value pairs associated with this report group. // - // We strongly discourage the use of PLAINTEXT environment variables to store - // sensitive values, especially AWS secret key IDs and secret access keys. PLAINTEXT - // environment variables can be displayed in plain text using the AWS CodeBuild - // console and the AWS Command Line Interface (AWS CLI). For sensitive values, - // we recommend you use an environment variable of type PARAMETER_STORE or SECRETS_MANAGER. + // These tags are available for use by AWS services that support AWS CodeBuild + // report group tags. + Tags []*Tag `locationName:"tags" type:"list"` + + // The type of report group. // - // Value is a required field - Value *string `locationName:"value" type:"string" required:"true"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ReportType"` } // String returns the string representation -func (s EnvironmentVariable) String() string { +func (s CreateReportGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnvironmentVariable) GoString() string { +func (s CreateReportGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EnvironmentVariable) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"} +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) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.Name != nil && len(*s.Name) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Name", 2)) } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + 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 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 { @@ -5599,89 +6766,99 @@ func (s *EnvironmentVariable) Validate() error { 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 *EnvironmentVariable) SetName(v string) *EnvironmentVariable { +func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput { s.Name = &v return s } -// SetType sets the Type field's value. -func (s *EnvironmentVariable) SetType(v string) *EnvironmentVariable { - s.Type = &v +// SetTags sets the Tags field's value. +func (s *CreateReportGroupInput) SetTags(v []*Tag) *CreateReportGroupInput { + s.Tags = v return s } -// SetValue sets the Value field's value. -func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable { - s.Value = &v +// SetType sets the Type field's value. +func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput { + s.Type = &v return s } -// Information about an exported environment variable. -type ExportedEnvironmentVariable struct { +type CreateReportGroupOutput struct { _ struct{} `type:"structure"` - // The name of this exported environment variable. - Name *string `locationName:"name" min:"1" type:"string"` - - // The value assigned to this exported environment variable. - // - // During a build, the value of a variable is available starting with the install - // phase. It can be updated between the start of the install phase and the end - // of the post_build phase. After the post_build phase ends, the value of exported - // variables cannot change. - Value *string `locationName:"value" type:"string"` + // Information about the report group that was created. + ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"` } // String returns the string representation -func (s ExportedEnvironmentVariable) String() string { +func (s CreateReportGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportedEnvironmentVariable) GoString() string { +func (s CreateReportGroupOutput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *ExportedEnvironmentVariable) SetName(v string) *ExportedEnvironmentVariable { - s.Name = &v - return s -} - -// SetValue sets the Value field's value. -func (s *ExportedEnvironmentVariable) SetValue(v string) *ExportedEnvironmentVariable { - s.Value = &v +// SetReportGroup sets the ReportGroup field's value. +func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput { + s.ReportGroup = v return s } -type GetResourcePolicyInput struct { +type CreateWebhookInput struct { _ struct{} `type:"structure"` - // The ARN of the resource that is associated with the resource policy. + // A regular expression used to determine which repository branches are built + // when a webhook is triggered. If the name of a branch matches the regular + // expression, then it is built. If branchFilter is empty, then all branches + // are built. // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + // It is recommended that you use filterGroups instead of branchFilter. + BranchFilter *string `locationName:"branchFilter" type:"string"` + + // Specifies the type of build this webhook will trigger. + BuildType *string `locationName:"buildType" type:"string" enum:"WebhookBuildType"` + + // An array of arrays of WebhookFilter objects used to determine which webhooks + // are triggered. At least one WebhookFilter in the array must specify EVENT + // as its type. + // + // For a build to be triggered, at least one filter group in the filterGroups + // array must pass. For a filter group to pass, each of its filters must pass. + FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` + + // The name of the AWS CodeBuild project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` } // String returns the string representation -func (s GetResourcePolicyInput) String() string { +func (s CreateWebhookInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResourcePolicyInput) GoString() string { +func (s CreateWebhookInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *CreateWebhookInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.ProjectName != nil && len(*s.ProjectName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) } if invalidParams.Len() > 0 { @@ -5690,133 +6867,117 @@ func (s *GetResourcePolicyInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { - s.ResourceArn = &v +// SetBranchFilter sets the BranchFilter field's value. +func (s *CreateWebhookInput) SetBranchFilter(v string) *CreateWebhookInput { + s.BranchFilter = &v return s } -type GetResourcePolicyOutput struct { +// SetBuildType sets the BuildType field's value. +func (s *CreateWebhookInput) SetBuildType(v string) *CreateWebhookInput { + s.BuildType = &v + return s +} + +// SetFilterGroups sets the FilterGroups field's value. +func (s *CreateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *CreateWebhookInput { + s.FilterGroups = v + return s +} + +// SetProjectName sets the ProjectName field's value. +func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput { + s.ProjectName = &v + return s +} + +type CreateWebhookOutput struct { _ struct{} `type:"structure"` - // The resource policy for the resource identified by the input ARN parameter. - Policy *string `locationName:"policy" min:"1" type:"string"` + // Information about a webhook that connects repository events to a build project + // in AWS CodeBuild. + Webhook *Webhook `locationName:"webhook" type:"structure"` } // String returns the string representation -func (s GetResourcePolicyOutput) String() string { +func (s CreateWebhookOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResourcePolicyOutput) GoString() string { +func (s CreateWebhookOutput) GoString() string { return s.String() } -// SetPolicy sets the Policy field's value. -func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput { - s.Policy = &v +// SetWebhook sets the Webhook field's value. +func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput { + s.Webhook = v return s } -// Information about the Git submodules configuration for an AWS CodeBuild build -// project. -type GitSubmodulesConfig struct { +// Contains information about the debug session for a build. For more information, +// see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html). +type DebugSession struct { _ struct{} `type:"structure"` - // Set to true to fetch Git submodules for your AWS CodeBuild build project. - // - // FetchSubmodules is a required field - FetchSubmodules *bool `locationName:"fetchSubmodules" type:"boolean" required:"true"` + // Specifies if session debugging is enabled for this build. + SessionEnabled *bool `locationName:"sessionEnabled" type:"boolean"` + + // Contains the identifier of the Session Manager session used for the build. + // To work with the paused build, you open this session to examine, control, + // and resume the build. + SessionTarget *string `locationName:"sessionTarget" min:"1" type:"string"` } // String returns the string representation -func (s GitSubmodulesConfig) String() string { +func (s DebugSession) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GitSubmodulesConfig) GoString() string { +func (s DebugSession) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GitSubmodulesConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GitSubmodulesConfig"} - if s.FetchSubmodules == nil { - invalidParams.Add(request.NewErrParamRequired("FetchSubmodules")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSessionEnabled sets the SessionEnabled field's value. +func (s *DebugSession) SetSessionEnabled(v bool) *DebugSession { + s.SessionEnabled = &v + return s } -// SetFetchSubmodules sets the FetchSubmodules field's value. -func (s *GitSubmodulesConfig) SetFetchSubmodules(v bool) *GitSubmodulesConfig { - s.FetchSubmodules = &v +// SetSessionTarget sets the SessionTarget field's value. +func (s *DebugSession) SetSessionTarget(v string) *DebugSession { + s.SessionTarget = &v return s } -type ImportSourceCredentialsInput struct { +type DeleteBuildBatchInput struct { _ struct{} `type:"structure"` - // The type of authentication used to connect to a GitHub, GitHub Enterprise, - // or Bitbucket repository. An OAUTH connection is not supported by the API - // and must be created using the AWS CodeBuild console. - // - // AuthType is a required field - AuthType *string `locationName:"authType" type:"string" required:"true" enum:"AuthType"` - - // The source provider used for this project. - // - // ServerType is a required field - ServerType *string `locationName:"serverType" type:"string" required:"true" enum:"ServerType"` - - // Set to false to prevent overwriting the repository source credentials. Set - // to true to overwrite the repository source credentials. The default value - // is true. - ShouldOverwrite *bool `locationName:"shouldOverwrite" type:"boolean"` - - // For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, - // this is the app password. + // The identifier of the batch build to delete. // - // Token is a required field - Token *string `locationName:"token" min:"1" type:"string" required:"true" sensitive:"true"` - - // The Bitbucket username when the authType is BASIC_AUTH. This parameter is - // not valid for other types of source providers or connections. - Username *string `locationName:"username" min:"1" type:"string"` + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ImportSourceCredentialsInput) String() string { +func (s DeleteBuildBatchInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ImportSourceCredentialsInput) GoString() string { +func (s DeleteBuildBatchInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ImportSourceCredentialsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImportSourceCredentialsInput"} - if s.AuthType == nil { - invalidParams.Add(request.NewErrParamRequired("AuthType")) - } - if s.ServerType == nil { - invalidParams.Add(request.NewErrParamRequired("ServerType")) - } - if s.Token == nil { - invalidParams.Add(request.NewErrParamRequired("Token")) - } - if s.Token != nil && len(*s.Token) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Token", 1)) +func (s *DeleteBuildBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBuildBatchInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.Username != nil && len(*s.Username) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -5825,142 +6986,192 @@ func (s *ImportSourceCredentialsInput) Validate() error { return nil } -// SetAuthType sets the AuthType field's value. -func (s *ImportSourceCredentialsInput) SetAuthType(v string) *ImportSourceCredentialsInput { - s.AuthType = &v +// SetId sets the Id field's value. +func (s *DeleteBuildBatchInput) SetId(v string) *DeleteBuildBatchInput { + s.Id = &v return s } -// SetServerType sets the ServerType field's value. -func (s *ImportSourceCredentialsInput) SetServerType(v string) *ImportSourceCredentialsInput { - s.ServerType = &v - return s +type DeleteBuildBatchOutput struct { + _ struct{} `type:"structure"` + + // An array of strings that contain the identifiers of the builds that were + // deleted. + BuildsDeleted []*string `locationName:"buildsDeleted" min:"1" type:"list"` + + // An array of BuildNotDeleted objects that specify the builds that could not + // be deleted. + BuildsNotDeleted []*BuildNotDeleted `locationName:"buildsNotDeleted" type:"list"` + + // The status code. + StatusCode *string `locationName:"statusCode" type:"string"` } -// SetShouldOverwrite sets the ShouldOverwrite field's value. -func (s *ImportSourceCredentialsInput) SetShouldOverwrite(v bool) *ImportSourceCredentialsInput { - s.ShouldOverwrite = &v +// String returns the string representation +func (s DeleteBuildBatchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBuildBatchOutput) GoString() string { + return s.String() +} + +// SetBuildsDeleted sets the BuildsDeleted field's value. +func (s *DeleteBuildBatchOutput) SetBuildsDeleted(v []*string) *DeleteBuildBatchOutput { + s.BuildsDeleted = v return s } -// SetToken sets the Token field's value. -func (s *ImportSourceCredentialsInput) SetToken(v string) *ImportSourceCredentialsInput { - s.Token = &v +// SetBuildsNotDeleted sets the BuildsNotDeleted field's value. +func (s *DeleteBuildBatchOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *DeleteBuildBatchOutput { + s.BuildsNotDeleted = v return s } -// SetUsername sets the Username field's value. -func (s *ImportSourceCredentialsInput) SetUsername(v string) *ImportSourceCredentialsInput { - s.Username = &v +// SetStatusCode sets the StatusCode field's value. +func (s *DeleteBuildBatchOutput) SetStatusCode(v string) *DeleteBuildBatchOutput { + s.StatusCode = &v return s } -type ImportSourceCredentialsOutput struct { +type DeleteProjectInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the token. - Arn *string `locationName:"arn" min:"1" type:"string"` + // The name of the build project. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ImportSourceCredentialsOutput) String() string { +func (s DeleteProjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ImportSourceCredentialsOutput) GoString() string { +func (s DeleteProjectInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ImportSourceCredentialsOutput) SetArn(v string) *ImportSourceCredentialsOutput { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"} + 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 } -// The input value that was provided is not valid. -type InvalidInputException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetName sets the Name field's value. +func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput { + s.Name = &v + return s +} - Message_ *string `locationName:"message" type:"string"` +type DeleteProjectOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation -func (s InvalidInputException) String() string { +func (s DeleteProjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidInputException) GoString() string { +func (s DeleteProjectOutput) GoString() string { return s.String() } -func newErrorInvalidInputException(v protocol.ResponseMetadata) error { - return &InvalidInputException{ - RespMetadata: v, - } -} +type DeleteReportGroupInput struct { + _ struct{} `type:"structure"` -// Code returns the exception type name. -func (s *InvalidInputException) Code() string { - return "InvalidInputException" + // The ARN of the report group to delete. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } -// Message returns the exception's message. -func (s *InvalidInputException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// String returns the string representation +func (s DeleteReportGroupInput) String() string { + return awsutil.Prettify(s) } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidInputException) OrigErr() error { +// 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 } -func (s *InvalidInputException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetArn sets the Arn field's value. +func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput { + s.Arn = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidInputException) StatusCode() int { - return s.RespMetadata.StatusCode +type DeleteReportGroupOutput struct { + _ struct{} `type:"structure"` } -// RequestID returns the service's response RequestID for request. -func (s *InvalidInputException) RequestID() string { - return s.RespMetadata.RequestID +// String returns the string representation +func (s DeleteReportGroupOutput) String() string { + return awsutil.Prettify(s) } -type InvalidateProjectCacheInput struct { +// GoString returns the string representation +func (s DeleteReportGroupOutput) GoString() string { + return s.String() +} + +type DeleteReportInput struct { _ struct{} `type:"structure"` - // The name of the AWS CodeBuild build project that the cache is reset for. + // The ARN of the report to delete. // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s InvalidateProjectCacheInput) String() string { +func (s DeleteReportInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidateProjectCacheInput) GoString() string { +func (s DeleteReportInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InvalidateProjectCacheInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InvalidateProjectCacheInput"} - if s.ProjectName == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectName")) +func (s *DeleteReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReportInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.ProjectName != nil && len(*s.ProjectName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if invalidParams.Len() > 0 { @@ -5969,68 +7180,53 @@ func (s *InvalidateProjectCacheInput) Validate() error { return nil } -// SetProjectName sets the ProjectName field's value. -func (s *InvalidateProjectCacheInput) SetProjectName(v string) *InvalidateProjectCacheInput { - s.ProjectName = &v +// SetArn sets the Arn field's value. +func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput { + s.Arn = &v return s } -type InvalidateProjectCacheOutput struct { +type DeleteReportOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s InvalidateProjectCacheOutput) String() string { +func (s DeleteReportOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidateProjectCacheOutput) GoString() string { +func (s DeleteReportOutput) GoString() string { return s.String() } -type ListBuildsForProjectInput struct { +type DeleteResourcePolicyInput 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" type:"string"` - - // The name of the AWS CodeBuild project. - // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` - - // The order to list build IDs. Valid values include: - // - // * ASCENDING: List the build IDs in ascending order by build ID. + // The ARN of the resource that is associated with the resource policy. // - // * DESCENDING: List the build IDs in descending order by build ID. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListBuildsForProjectInput) String() string { +func (s DeleteResourcePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsForProjectInput) GoString() string { +func (s DeleteResourcePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListBuildsForProjectInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListBuildsForProjectInput"} - if s.ProjectName == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectName")) +func (s *DeleteResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.ProjectName != nil && len(*s.ProjectName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -6039,223 +7235,203 @@ func (s *ListBuildsForProjectInput) Validate() error { return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsForProjectInput) SetNextToken(v string) *ListBuildsForProjectInput { - s.NextToken = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { + s.ResourceArn = &v return s } -// SetProjectName sets the ProjectName field's value. -func (s *ListBuildsForProjectInput) SetProjectName(v string) *ListBuildsForProjectInput { - s.ProjectName = &v - return s +type DeleteResourcePolicyOutput struct { + _ struct{} `type:"structure"` } -// SetSortOrder sets the SortOrder field's value. -func (s *ListBuildsForProjectInput) SetSortOrder(v string) *ListBuildsForProjectInput { - s.SortOrder = &v - return s +// String returns the string representation +func (s DeleteResourcePolicyOutput) String() string { + return awsutil.Prettify(s) } -type ListBuildsForProjectOutput struct { - _ struct{} `type:"structure"` +// GoString returns the string representation +func (s DeleteResourcePolicyOutput) GoString() string { + return s.String() +} - // A list of build IDs for the specified build project, with each build ID representing - // a single build. - Ids []*string `locationName:"ids" min:"1" type:"list"` +type DeleteSourceCredentialsInput 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 Amazon Resource Name (ARN) of the token. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListBuildsForProjectOutput) String() string { +func (s DeleteSourceCredentialsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsForProjectOutput) GoString() string { +func (s DeleteSourceCredentialsInput) GoString() string { return s.String() } -// SetIds sets the Ids field's value. -func (s *ListBuildsForProjectOutput) SetIds(v []*string) *ListBuildsForProjectOutput { - s.Ids = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSourceCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSourceCredentialsInput"} + 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 } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsForProjectOutput) SetNextToken(v string) *ListBuildsForProjectOutput { - s.NextToken = &v +// SetArn sets the Arn field's value. +func (s *DeleteSourceCredentialsInput) SetArn(v string) *DeleteSourceCredentialsInput { + s.Arn = &v return s } -type ListBuildsInput struct { +type DeleteSourceCredentialsOutput 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" type:"string"` - - // The order to list build IDs. Valid values include: - // - // * ASCENDING: List the build IDs in ascending order by build ID. - // - // * DESCENDING: List the build IDs in descending order by build ID. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // The Amazon Resource Name (ARN) of the token. + Arn *string `locationName:"arn" min:"1" type:"string"` } // String returns the string representation -func (s ListBuildsInput) String() string { +func (s DeleteSourceCredentialsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsInput) GoString() string { +func (s DeleteSourceCredentialsOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput { - s.NextToken = &v - return s -} - -// SetSortOrder sets the SortOrder field's value. -func (s *ListBuildsInput) SetSortOrder(v string) *ListBuildsInput { - s.SortOrder = &v +// SetArn sets the Arn field's value. +func (s *DeleteSourceCredentialsOutput) SetArn(v string) *DeleteSourceCredentialsOutput { + s.Arn = &v return s } -type ListBuildsOutput struct { +type DeleteWebhookInput struct { _ struct{} `type:"structure"` - // A list of build IDs, with each build ID representing a single build. - 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 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 name of the AWS CodeBuild project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` } // String returns the string representation -func (s ListBuildsOutput) String() string { +func (s DeleteWebhookInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsOutput) GoString() string { +func (s DeleteWebhookInput) GoString() string { return s.String() } -// SetIds sets the Ids field's value. -func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { - s.Ids = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWebhookInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) + } + if s.ProjectName != nil && len(*s.ProjectName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { - s.NextToken = &v +// SetProjectName sets the ProjectName field's value. +func (s *DeleteWebhookInput) SetProjectName(v string) *DeleteWebhookInput { + s.ProjectName = &v return s } -type ListCuratedEnvironmentImagesInput struct { +type DeleteWebhookOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s ListCuratedEnvironmentImagesInput) String() string { +func (s DeleteWebhookOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCuratedEnvironmentImagesInput) GoString() string { +func (s DeleteWebhookOutput) GoString() string { return s.String() } -type ListCuratedEnvironmentImagesOutput struct { +type DescribeCodeCoveragesInput 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) -} + // The maximum line coverage percentage to report. + MaxLineCoveragePercentage *float64 `locationName:"maxLineCoveragePercentage" type:"double"` -// GoString returns the string representation -func (s ListCuratedEnvironmentImagesOutput) GoString() string { - return s.String() -} + // The maximum number of results to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` -// SetPlatforms sets the Platforms field's value. -func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput { - s.Platforms = v - return s -} + // The minimum line coverage percentage to report. + MinLineCoveragePercentage *float64 `locationName:"minLineCoveragePercentage" type:"double"` -type ListProjectsInput struct { - _ struct{} `type:"structure"` + // The nextToken value returned from a previous call to DescribeCodeCoverages. + // This specifies the next item to return. To return the beginning of the list, + // exclude this parameter. + NextToken *string `locationName:"nextToken" type:"string"` - // 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 ARN of the report for which test cases are returned. + // + // ReportArn is a required field + ReportArn *string `locationName:"reportArn" min:"1" type:"string" required:"true"` - // The criterion to be used to list build project names. Valid values include: + // Specifies how the results are sorted. Possible values are: // - // * CREATED_TIME: List based on when each build project was created. + // FILE_PATH // - // * LAST_MODIFIED_TIME: List based on when information about each build - // project was last changed. + // The results are sorted by file path. // - // * NAME: List based on each build project's name. + // LINE_COVERAGE_PERCENTAGE // - // 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 results are sorted by the percentage of lines that are covered. + SortBy *string `locationName:"sortBy" type:"string" enum:"ReportCodeCoverageSortByType"` - // 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. + // Specifies if the results are sorted in ascending or descending order. SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s ListProjectsInput) String() string { +func (s DescribeCodeCoveragesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProjectsInput) GoString() string { +func (s DescribeCodeCoveragesInput) 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 *DescribeCodeCoveragesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCodeCoveragesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ReportArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReportArn")) + } + if s.ReportArn != nil && len(*s.ReportArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReportArn", 1)) } if invalidParams.Len() > 0 { @@ -6264,66 +7440,90 @@ func (s *ListProjectsInput) Validate() error { return nil } +// SetMaxLineCoveragePercentage sets the MaxLineCoveragePercentage field's value. +func (s *DescribeCodeCoveragesInput) SetMaxLineCoveragePercentage(v float64) *DescribeCodeCoveragesInput { + s.MaxLineCoveragePercentage = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeCodeCoveragesInput) SetMaxResults(v int64) *DescribeCodeCoveragesInput { + s.MaxResults = &v + return s +} + +// SetMinLineCoveragePercentage sets the MinLineCoveragePercentage field's value. +func (s *DescribeCodeCoveragesInput) SetMinLineCoveragePercentage(v float64) *DescribeCodeCoveragesInput { + s.MinLineCoveragePercentage = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { +func (s *DescribeCodeCoveragesInput) SetNextToken(v string) *DescribeCodeCoveragesInput { s.NextToken = &v return s } +// SetReportArn sets the ReportArn field's value. +func (s *DescribeCodeCoveragesInput) SetReportArn(v string) *DescribeCodeCoveragesInput { + s.ReportArn = &v + return s +} + // SetSortBy sets the SortBy field's value. -func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { +func (s *DescribeCodeCoveragesInput) SetSortBy(v string) *DescribeCodeCoveragesInput { s.SortBy = &v return s } // SetSortOrder sets the SortOrder field's value. -func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput { +func (s *DescribeCodeCoveragesInput) SetSortOrder(v string) *DescribeCodeCoveragesInput { s.SortOrder = &v return s } -type ListProjectsOutput struct { +type DescribeCodeCoveragesOutput 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"` + // An array of CodeCoverage objects that contain the results. + CodeCoverages []*CodeCoverage `locationName:"codeCoverages" type:"list"` - // The list of build project names, with each build project name representing - // a single build project. - Projects []*string `locationName:"projects" min:"1" type:"list"` + // If there are more items to return, this contains a token that is passed to + // a subsequent call to DescribeCodeCoverages to retrieve the next set of items. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s ListProjectsOutput) String() string { +func (s DescribeCodeCoveragesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProjectsOutput) GoString() string { +func (s DescribeCodeCoveragesOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { - s.NextToken = &v +// SetCodeCoverages sets the CodeCoverages field's value. +func (s *DescribeCodeCoveragesOutput) SetCodeCoverages(v []*CodeCoverage) *DescribeCodeCoveragesOutput { + s.CodeCoverages = v return s } -// SetProjects sets the Projects field's value. -func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { - s.Projects = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeCodeCoveragesOutput) SetNextToken(v string) *DescribeCodeCoveragesOutput { + s.NextToken = &v return s } -type ListReportGroupsInput struct { +type DescribeTestCasesInput 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. + // 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 @@ -6335,36 +7535,31 @@ type ListReportGroupsInput struct { // 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. + // The ARN of the report for which test cases are returned. // - // * 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"` + // ReportArn is a required field + ReportArn *string `locationName:"reportArn" type:"string" required:"true"` } // String returns the string representation -func (s ListReportGroupsInput) String() string { +func (s DescribeTestCasesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportGroupsInput) GoString() string { +func (s DescribeTestCasesInput) 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"} +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 @@ -6372,31 +7567,31 @@ func (s *ListReportGroupsInput) Validate() error { 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 *ListReportGroupsInput) SetMaxResults(v int64) *ListReportGroupsInput { +func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListReportGroupsInput) SetNextToken(v string) *ListReportGroupsInput { +func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput { 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 +// SetReportArn sets the ReportArn field's value. +func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput { + s.ReportArn = &v return s } -type ListReportGroupsOutput struct { +type DescribeTestCasesOutput struct { _ struct{} `type:"structure"` // During a previous call, the maximum number of items that can be returned @@ -6408,201 +7603,198 @@ type ListReportGroupsOutput struct { // 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"` + // The returned list of test cases. + TestCases []*TestCase `locationName:"testCases" type:"list"` } // String returns the string representation -func (s ListReportGroupsOutput) String() string { +func (s DescribeTestCasesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportGroupsOutput) GoString() string { +func (s DescribeTestCasesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListReportGroupsOutput) SetNextToken(v string) *ListReportGroupsOutput { +func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput { s.NextToken = &v return s } -// SetReportGroups sets the ReportGroups field's value. -func (s *ListReportGroupsOutput) SetReportGroups(v []*string) *ListReportGroupsOutput { - s.ReportGroups = v +// SetTestCases sets the TestCases field's value. +func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput { + s.TestCases = v return s } -type ListReportsForReportGroupInput struct { +// Information about a Docker image that is managed by AWS CodeBuild. +type EnvironmentImage 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 description of the Docker image. + Description *string `locationName:"description" 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"` + // The name of the Docker image. + Name *string `locationName:"name" type:"string"` - // Use to specify whether the results are returned in ascending or descending - // order. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // A list of environment image versions. + Versions []*string `locationName:"versions" type:"list"` } // String returns the string representation -func (s ListReportsForReportGroupInput) String() string { +func (s EnvironmentImage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportsForReportGroupInput) GoString() string { +func (s EnvironmentImage) 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 +// SetDescription sets the Description field's value. +func (s *EnvironmentImage) SetDescription(v string) *EnvironmentImage { + s.Description = &v + return s } -// SetFilter sets the Filter field's value. -func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput { - s.Filter = v +// SetName sets the Name field's value. +func (s *EnvironmentImage) SetName(v string) *EnvironmentImage { + s.Name = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput { - s.MaxResults = &v +// SetVersions sets the Versions field's value. +func (s *EnvironmentImage) SetVersions(v []*string) *EnvironmentImage { + s.Versions = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput { - s.NextToken = &v - return s +// A set of Docker images that are related by programming language and are managed +// by AWS CodeBuild. +type EnvironmentLanguage struct { + _ struct{} `type:"structure"` + + // The list of Docker images that are related by the specified programming language. + Images []*EnvironmentImage `locationName:"images" type:"list"` + + // The programming language for the Docker images. + Language *string `locationName:"language" type:"string" enum:"LanguageType"` } -// SetReportGroupArn sets the ReportGroupArn field's value. -func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput { - s.ReportGroupArn = &v +// String returns the string representation +func (s EnvironmentLanguage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnvironmentLanguage) GoString() string { + return s.String() +} + +// SetImages sets the Images field's value. +func (s *EnvironmentLanguage) SetImages(v []*EnvironmentImage) *EnvironmentLanguage { + s.Images = v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput { - s.SortOrder = &v +// SetLanguage sets the Language field's value. +func (s *EnvironmentLanguage) SetLanguage(v string) *EnvironmentLanguage { + s.Language = &v return s } -type ListReportsForReportGroupOutput struct { +// A set of Docker images that are related by platform and are managed by AWS +// CodeBuild. +type EnvironmentPlatform 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 programming languages that are available for the specified platform. + Languages []*EnvironmentLanguage `locationName:"languages" type:"list"` - // The list of returned report group ARNs. - Reports []*string `locationName:"reports" min:"1" type:"list"` + // The platform's name. + Platform *string `locationName:"platform" type:"string" enum:"PlatformType"` } // String returns the string representation -func (s ListReportsForReportGroupOutput) String() string { +func (s EnvironmentPlatform) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportsForReportGroupOutput) GoString() string { +func (s EnvironmentPlatform) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput { - s.NextToken = &v +// SetLanguages sets the Languages field's value. +func (s *EnvironmentPlatform) SetLanguages(v []*EnvironmentLanguage) *EnvironmentPlatform { + s.Languages = v return s } -// SetReports sets the Reports field's value. -func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput { - s.Reports = v +// SetPlatform sets the Platform field's value. +func (s *EnvironmentPlatform) SetPlatform(v string) *EnvironmentPlatform { + s.Platform = &v return s } -type ListReportsInput struct { +// Information about an environment variable for a build project or a build. +type EnvironmentVariable 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 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"` + // The name or key of the environment variable. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // 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 type of environment variable. Valid values include: + // + // * PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems + // Manager Parameter Store. To learn how to specify a parameter store environment + // variable, see parameter store reference-key in the buildspec file (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#parameter-store-build-spec). + // + // * PLAINTEXT: An environment variable in plain text format. This is the + // default value. + // + // * SECRETS_MANAGER: An environment variable stored in AWS Secrets Manager. + // To learn how to specify a secrets manager environment variable, see secrets + // manager reference-key in the buildspec file (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#secrets-manager-build-spec). + Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"` - // Specifies the sort order for the list of returned reports. Valid values are: + // The value of the environment variable. // - // * ASCENDING: return reports in chronological order based on their creation - // date. + // We strongly discourage the use of PLAINTEXT environment variables to store + // sensitive values, especially AWS secret key IDs and secret access keys. PLAINTEXT + // environment variables can be displayed in plain text using the AWS CodeBuild + // console and the AWS Command Line Interface (AWS CLI). For sensitive values, + // we recommend you use an environment variable of type PARAMETER_STORE or SECRETS_MANAGER. // - // * DESCENDING: return reports in the reverse chronological order based - // on their creation date. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` } // String returns the string representation -func (s ListReportsInput) String() string { +func (s EnvironmentVariable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportsInput) GoString() string { +func (s EnvironmentVariable) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListReportsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListReportsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *EnvironmentVariable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"} + 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.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) } if invalidParams.Len() > 0 { @@ -6611,120 +7803,89 @@ func (s *ListReportsInput) Validate() error { return nil } -// SetFilter sets the Filter field's value. -func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput { - s.Filter = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListReportsInput) SetMaxResults(v int64) *ListReportsInput { - s.MaxResults = &v +// SetName sets the Name field's value. +func (s *EnvironmentVariable) SetName(v string) *EnvironmentVariable { + s.Name = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReportsInput) SetNextToken(v string) *ListReportsInput { - s.NextToken = &v +// SetType sets the Type field's value. +func (s *EnvironmentVariable) SetType(v string) *EnvironmentVariable { + s.Type = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListReportsInput) SetSortOrder(v string) *ListReportsInput { - s.SortOrder = &v +// SetValue sets the Value field's value. +func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable { + s.Value = &v return s } -type ListReportsOutput struct { +// Information about an exported environment variable. +type ExportedEnvironmentVariable 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 name of this exported environment variable. + Name *string `locationName:"name" min:"1" type:"string"` - // The list of returned ARNs for the reports in the current AWS account. - Reports []*string `locationName:"reports" min:"1" type:"list"` + // The value assigned to this exported environment variable. + // + // During a build, the value of a variable is available starting with the install + // phase. It can be updated between the start of the install phase and the end + // of the post_build phase. After the post_build phase ends, the value of exported + // variables cannot change. + Value *string `locationName:"value" type:"string"` } // String returns the string representation -func (s ListReportsOutput) String() string { +func (s ExportedEnvironmentVariable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportsOutput) GoString() string { +func (s ExportedEnvironmentVariable) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *ExportedEnvironmentVariable) SetName(v string) *ExportedEnvironmentVariable { + s.Name = &v return s } -// SetReports sets the Reports field's value. -func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput { - s.Reports = v +// SetValue sets the Value field's value. +func (s *ExportedEnvironmentVariable) SetValue(v string) *ExportedEnvironmentVariable { + s.Value = &v return s } -type ListSharedProjectsInput struct { +type GetResourcePolicyInput struct { _ struct{} `type:"structure"` - // The maximum number of paginated shared build projects returned per response. - // Use nextToken to iterate pages in the list of returned Project 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" min:"1" type:"string"` - - // The criterion to be used to list build projects shared with the current AWS - // account or user. Valid values include: - // - // * ARN: List based on the ARN. - // - // * MODIFIED_TIME: List based on when information about the shared project - // was last changed. - SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"` - - // The order in which to list shared build projects. Valid values include: - // - // * ASCENDING: List in ascending order. + // The ARN of the resource that is associated with the resource policy. // - // * DESCENDING: List in descending order. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListSharedProjectsInput) String() string { +func (s GetResourcePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedProjectsInput) GoString() string { +func (s GetResourcePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListSharedProjectsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListSharedProjectsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *GetResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -6733,118 +7894,133 @@ func (s *ListSharedProjectsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListSharedProjectsInput) SetMaxResults(v int64) *ListSharedProjectsInput { - s.MaxResults = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { + s.ResourceArn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedProjectsInput) SetNextToken(v string) *ListSharedProjectsInput { - s.NextToken = &v - return s +type GetResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // The resource policy for the resource identified by the input ARN parameter. + Policy *string `locationName:"policy" min:"1" type:"string"` } -// SetSortBy sets the SortBy field's value. -func (s *ListSharedProjectsInput) SetSortBy(v string) *ListSharedProjectsInput { - s.SortBy = &v - return s +// String returns the string representation +func (s GetResourcePolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetSortOrder sets the SortOrder field's value. -func (s *ListSharedProjectsInput) SetSortOrder(v string) *ListSharedProjectsInput { - s.SortOrder = &v +// GoString returns the string representation +func (s GetResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetPolicy sets the Policy field's value. +func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput { + s.Policy = &v return s } -type ListSharedProjectsOutput struct { +// Information about the Git submodules configuration for an AWS CodeBuild build +// project. +type GitSubmodulesConfig 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 build projects shared with the current AWS account - // or user. - Projects []*string `locationName:"projects" min:"1" type:"list"` + // Set to true to fetch Git submodules for your AWS CodeBuild build project. + // + // FetchSubmodules is a required field + FetchSubmodules *bool `locationName:"fetchSubmodules" type:"boolean" required:"true"` } // String returns the string representation -func (s ListSharedProjectsOutput) String() string { +func (s GitSubmodulesConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedProjectsOutput) GoString() string { +func (s GitSubmodulesConfig) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedProjectsOutput) SetNextToken(v string) *ListSharedProjectsOutput { - s.NextToken = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GitSubmodulesConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GitSubmodulesConfig"} + if s.FetchSubmodules == nil { + invalidParams.Add(request.NewErrParamRequired("FetchSubmodules")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetProjects sets the Projects field's value. -func (s *ListSharedProjectsOutput) SetProjects(v []*string) *ListSharedProjectsOutput { - s.Projects = v +// SetFetchSubmodules sets the FetchSubmodules field's value. +func (s *GitSubmodulesConfig) SetFetchSubmodules(v bool) *GitSubmodulesConfig { + s.FetchSubmodules = &v return s } -type ListSharedReportGroupsInput struct { +type ImportSourceCredentialsInput struct { _ struct{} `type:"structure"` - // The maximum number of paginated shared report groups 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 report groups shared with the current AWS - // account or user. Valid values include: - // - // * ARN: List based on the ARN. + // The type of authentication used to connect to a GitHub, GitHub Enterprise, + // or Bitbucket repository. An OAUTH connection is not supported by the API + // and must be created using the AWS CodeBuild console. // - // * MODIFIED_TIME: List based on when information about the shared report - // group was last changed. - SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"` + // AuthType is a required field + AuthType *string `locationName:"authType" type:"string" required:"true" enum:"AuthType"` - // The order in which to list shared report groups. Valid values include: + // The source provider used for this project. // - // * ASCENDING: List in ascending order. + // ServerType is a required field + ServerType *string `locationName:"serverType" type:"string" required:"true" enum:"ServerType"` + + // Set to false to prevent overwriting the repository source credentials. Set + // to true to overwrite the repository source credentials. The default value + // is true. + ShouldOverwrite *bool `locationName:"shouldOverwrite" type:"boolean"` + + // For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, + // this is the app password. // - // * DESCENDING: List in descending order. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // Token is a required field + Token *string `locationName:"token" min:"1" type:"string" required:"true" sensitive:"true"` + + // The Bitbucket username when the authType is BASIC_AUTH. This parameter is + // not valid for other types of source providers or connections. + Username *string `locationName:"username" min:"1" type:"string"` } // String returns the string representation -func (s ListSharedReportGroupsInput) String() string { +func (s ImportSourceCredentialsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedReportGroupsInput) GoString() string { +func (s ImportSourceCredentialsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListSharedReportGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListSharedReportGroupsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *ImportSourceCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportSourceCredentialsInput"} + if s.AuthType == nil { + invalidParams.Add(request.NewErrParamRequired("AuthType")) + } + if s.ServerType == nil { + invalidParams.Add(request.NewErrParamRequired("ServerType")) + } + 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.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) } if invalidParams.Len() > 0 { @@ -6853,144 +8029,142 @@ func (s *ListSharedReportGroupsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListSharedReportGroupsInput) SetMaxResults(v int64) *ListSharedReportGroupsInput { - s.MaxResults = &v +// SetAuthType sets the AuthType field's value. +func (s *ImportSourceCredentialsInput) SetAuthType(v string) *ImportSourceCredentialsInput { + s.AuthType = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedReportGroupsInput) SetNextToken(v string) *ListSharedReportGroupsInput { - s.NextToken = &v +// SetServerType sets the ServerType field's value. +func (s *ImportSourceCredentialsInput) SetServerType(v string) *ImportSourceCredentialsInput { + s.ServerType = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListSharedReportGroupsInput) SetSortBy(v string) *ListSharedReportGroupsInput { - s.SortBy = &v +// SetShouldOverwrite sets the ShouldOverwrite field's value. +func (s *ImportSourceCredentialsInput) SetShouldOverwrite(v bool) *ImportSourceCredentialsInput { + s.ShouldOverwrite = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListSharedReportGroupsInput) SetSortOrder(v string) *ListSharedReportGroupsInput { - s.SortOrder = &v +// SetToken sets the Token field's value. +func (s *ImportSourceCredentialsInput) SetToken(v string) *ImportSourceCredentialsInput { + s.Token = &v return s } -type ListSharedReportGroupsOutput struct { - _ struct{} `type:"structure"` +// SetUsername sets the Username field's value. +func (s *ImportSourceCredentialsInput) SetUsername(v string) *ImportSourceCredentialsInput { + s.Username = &v + return s +} - // 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"` +type ImportSourceCredentialsOutput struct { + _ struct{} `type:"structure"` - // The list of ARNs for the report groups shared with the current AWS account - // or user. - ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` + // The Amazon Resource Name (ARN) of the token. + Arn *string `locationName:"arn" min:"1" type:"string"` } // String returns the string representation -func (s ListSharedReportGroupsOutput) String() string { +func (s ImportSourceCredentialsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedReportGroupsOutput) GoString() string { +func (s ImportSourceCredentialsOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedReportGroupsOutput) SetNextToken(v string) *ListSharedReportGroupsOutput { - s.NextToken = &v +// SetArn sets the Arn field's value. +func (s *ImportSourceCredentialsOutput) SetArn(v string) *ImportSourceCredentialsOutput { + s.Arn = &v return s } -// SetReportGroups sets the ReportGroups field's value. -func (s *ListSharedReportGroupsOutput) SetReportGroups(v []*string) *ListSharedReportGroupsOutput { - s.ReportGroups = v - return s -} +// The input value that was provided is not valid. +type InvalidInputException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` -type ListSourceCredentialsInput struct { - _ struct{} `type:"structure"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s ListSourceCredentialsInput) String() string { +func (s InvalidInputException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSourceCredentialsInput) GoString() string { +func (s InvalidInputException) GoString() string { return s.String() } -type ListSourceCredentialsOutput struct { - _ struct{} `type:"structure"` +func newErrorInvalidInputException(v protocol.ResponseMetadata) error { + return &InvalidInputException{ + RespMetadata: v, + } +} - // A list of SourceCredentialsInfo objects. Each SourceCredentialsInfo object - // includes the authentication type, token ARN, and type of source provider - // for one set of credentials. - SourceCredentialsInfos []*SourceCredentialsInfo `locationName:"sourceCredentialsInfos" type:"list"` +// Code returns the exception type name. +func (s *InvalidInputException) Code() string { + return "InvalidInputException" } -// String returns the string representation -func (s ListSourceCredentialsOutput) String() string { - return awsutil.Prettify(s) +// Message returns the exception's message. +func (s *InvalidInputException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// GoString returns the string representation -func (s ListSourceCredentialsOutput) GoString() string { - return s.String() +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidInputException) OrigErr() error { + return nil } -// SetSourceCredentialsInfos sets the SourceCredentialsInfos field's value. -func (s *ListSourceCredentialsOutput) SetSourceCredentialsInfos(v []*SourceCredentialsInfo) *ListSourceCredentialsOutput { - s.SourceCredentialsInfos = v - return s +func (s *InvalidInputException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// Information about logs for a build project. These can be logs in Amazon CloudWatch -// Logs, built in a specified S3 bucket, or both. -type LogsConfig struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidInputException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch - // Logs are enabled by default. - CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidInputException) RequestID() string { + return s.RespMetadata.RequestID +} - // Information about logs built to an S3 bucket for a build project. S3 logs - // are not enabled by default. - S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"` +type InvalidateProjectCacheInput struct { + _ struct{} `type:"structure"` + + // The name of the AWS CodeBuild build project that the cache is reset for. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s LogsConfig) String() string { +func (s InvalidateProjectCacheInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LogsConfig) GoString() string { +func (s InvalidateProjectCacheInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LogsConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LogsConfig"} - if s.CloudWatchLogs != nil { - if err := s.CloudWatchLogs.Validate(); err != nil { - invalidParams.AddNested("CloudWatchLogs", err.(request.ErrInvalidParams)) - } +func (s *InvalidateProjectCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InvalidateProjectCacheInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) } - if s.S3Logs != nil { - if err := s.S3Logs.Validate(); err != nil { - invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) - } + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) } if invalidParams.Len() > 0 { @@ -6999,635 +8173,512 @@ func (s *LogsConfig) Validate() error { return nil } -// SetCloudWatchLogs sets the CloudWatchLogs field's value. -func (s *LogsConfig) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsConfig { - s.CloudWatchLogs = v - return s -} - -// SetS3Logs sets the S3Logs field's value. -func (s *LogsConfig) SetS3Logs(v *S3LogsConfig) *LogsConfig { - s.S3Logs = v +// SetProjectName sets the ProjectName field's value. +func (s *InvalidateProjectCacheInput) SetProjectName(v string) *InvalidateProjectCacheInput { + s.ProjectName = &v return s } -// Information about build logs in Amazon CloudWatch Logs. -type LogsLocation struct { +type InvalidateProjectCacheOutput struct { _ struct{} `type:"structure"` +} - // Information about Amazon CloudWatch Logs for a build project. - CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"` +// String returns the string representation +func (s InvalidateProjectCacheOutput) String() string { + return awsutil.Prettify(s) +} - // 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"` +// GoString returns the string representation +func (s InvalidateProjectCacheOutput) GoString() string { + return s.String() +} - // The URL to an individual build log in Amazon CloudWatch Logs. - DeepLink *string `locationName:"deepLink" type:"string"` +type ListBuildBatchesForProjectInput struct { + _ struct{} `type:"structure"` - // The name of the Amazon CloudWatch Logs group for the build logs. - GroupName *string `locationName:"groupName" type:"string"` + // A BuildBatchFilter object that specifies the filters for the search. + Filter *BuildBatchFilter `locationName:"filter" type:"structure"` - // The URL to a build log in an S3 bucket. - S3DeepLink *string `locationName:"s3DeepLink" type:"string"` + // The maximum number of results to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // Information about S3 logs for a build project. - S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"` + // The nextToken value returned from a previous call to ListBuildBatchesForProject. + // This specifies the next item to return. To return the beginning of the list, + // exclude this parameter. + NextToken *string `locationName:"nextToken" type:"string"` - // 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 project. + ProjectName *string `locationName:"projectName" min:"1" type:"string"` - // The name of the Amazon CloudWatch Logs stream for the build logs. - StreamName *string `locationName:"streamName" type:"string"` + // Specifies the sort order of the returned items. Valid values include: + // + // * ASCENDING: List the batch build identifiers in ascending order by identifier. + // + // * DESCENDING: List the batch build identifiers in descending order by + // identifier. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s LogsLocation) String() string { +func (s ListBuildBatchesForProjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LogsLocation) GoString() string { +func (s ListBuildBatchesForProjectInput) GoString() string { return s.String() } -// SetCloudWatchLogs sets the CloudWatchLogs field's value. -func (s *LogsLocation) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsLocation { - s.CloudWatchLogs = v - return s -} - -// SetCloudWatchLogsArn sets the CloudWatchLogsArn field's value. -func (s *LogsLocation) SetCloudWatchLogsArn(v string) *LogsLocation { - s.CloudWatchLogsArn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBuildBatchesForProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBuildBatchesForProjectInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + } -// SetDeepLink sets the DeepLink field's value. -func (s *LogsLocation) SetDeepLink(v string) *LogsLocation { - s.DeepLink = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetGroupName sets the GroupName field's value. -func (s *LogsLocation) SetGroupName(v string) *LogsLocation { - s.GroupName = &v +// SetFilter sets the Filter field's value. +func (s *ListBuildBatchesForProjectInput) SetFilter(v *BuildBatchFilter) *ListBuildBatchesForProjectInput { + s.Filter = v return s } -// SetS3DeepLink sets the S3DeepLink field's value. -func (s *LogsLocation) SetS3DeepLink(v string) *LogsLocation { - s.S3DeepLink = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListBuildBatchesForProjectInput) SetMaxResults(v int64) *ListBuildBatchesForProjectInput { + s.MaxResults = &v return s } -// SetS3Logs sets the S3Logs field's value. -func (s *LogsLocation) SetS3Logs(v *S3LogsConfig) *LogsLocation { - s.S3Logs = v +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesForProjectInput) SetNextToken(v string) *ListBuildBatchesForProjectInput { + s.NextToken = &v return s } -// SetS3LogsArn sets the S3LogsArn field's value. -func (s *LogsLocation) SetS3LogsArn(v string) *LogsLocation { - s.S3LogsArn = &v +// SetProjectName sets the ProjectName field's value. +func (s *ListBuildBatchesForProjectInput) SetProjectName(v string) *ListBuildBatchesForProjectInput { + s.ProjectName = &v return s } -// SetStreamName sets the StreamName field's value. -func (s *LogsLocation) SetStreamName(v string) *LogsLocation { - s.StreamName = &v +// SetSortOrder sets the SortOrder field's value. +func (s *ListBuildBatchesForProjectInput) SetSortOrder(v string) *ListBuildBatchesForProjectInput { + s.SortOrder = &v return s } -// Describes a network interface. -type NetworkInterface struct { +type ListBuildBatchesForProjectOutput struct { _ struct{} `type:"structure"` - // The ID of the network interface. - NetworkInterfaceId *string `locationName:"networkInterfaceId" min:"1" type:"string"` + // An array of strings that contains the batch build identifiers. + Ids []*string `locationName:"ids" type:"list"` - // The ID of the subnet. - SubnetId *string `locationName:"subnetId" min:"1" type:"string"` + // If there are more items to return, this contains a token that is passed to + // a subsequent call to ListBuildBatchesForProject to retrieve the next set + // of items. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s NetworkInterface) String() string { +func (s ListBuildBatchesForProjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s NetworkInterface) GoString() string { +func (s ListBuildBatchesForProjectOutput) GoString() string { return s.String() } -// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. -func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface { - s.NetworkInterfaceId = &v +// SetIds sets the Ids field's value. +func (s *ListBuildBatchesForProjectOutput) SetIds(v []*string) *ListBuildBatchesForProjectOutput { + s.Ids = v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface { - s.SubnetId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesForProjectOutput) SetNextToken(v string) *ListBuildBatchesForProjectOutput { + s.NextToken = &v return s } -// There was a problem with the underlying OAuth provider. -type OAuthProviderException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListBuildBatchesInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // A BuildBatchFilter object that specifies the filters for the search. + Filter *BuildBatchFilter `locationName:"filter" type:"structure"` + + // The maximum number of results to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The nextToken value returned from a previous call to ListBuildBatches. This + // specifies the next item to return. To return the beginning of the list, exclude + // this parameter. + NextToken *string `locationName:"nextToken" type:"string"` + + // Specifies the sort order of the returned items. Valid values include: + // + // * ASCENDING: List the batch build identifiers in ascending order by identifier. + // + // * DESCENDING: List the batch build identifiers in descending order by + // identifier. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s OAuthProviderException) String() string { +func (s ListBuildBatchesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OAuthProviderException) GoString() string { +func (s ListBuildBatchesInput) GoString() string { return s.String() } -func newErrorOAuthProviderException(v protocol.ResponseMetadata) error { - return &OAuthProviderException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBuildBatchesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBuildBatchesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } -} - -// Code returns the exception type name. -func (s *OAuthProviderException) Code() string { - return "OAuthProviderException" -} -// Message returns the exception's message. -func (s *OAuthProviderException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *OAuthProviderException) OrigErr() error { - return nil +// SetFilter sets the Filter field's value. +func (s *ListBuildBatchesInput) SetFilter(v *BuildBatchFilter) *ListBuildBatchesInput { + s.Filter = v + return s } -func (s *OAuthProviderException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetMaxResults sets the MaxResults field's value. +func (s *ListBuildBatchesInput) SetMaxResults(v int64) *ListBuildBatchesInput { + s.MaxResults = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *OAuthProviderException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesInput) SetNextToken(v string) *ListBuildBatchesInput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *OAuthProviderException) RequestID() string { - return s.RespMetadata.RequestID +// SetSortOrder sets the SortOrder field's value. +func (s *ListBuildBatchesInput) SetSortOrder(v string) *ListBuildBatchesInput { + s.SortOrder = &v + return s } -// Additional information about a build phase that has an error. You can use -// this information for troubleshooting. -type PhaseContext struct { +type ListBuildBatchesOutput struct { _ struct{} `type:"structure"` - // An explanation of the build phase's context. This might include a command - // ID and an exit code. - Message *string `locationName:"message" type:"string"` + // An array of strings that contains the batch build identifiers. + Ids []*string `locationName:"ids" type:"list"` - // The status code for the context of the build phase. - StatusCode *string `locationName:"statusCode" type:"string"` + // If there are more items to return, this contains a token that is passed to + // a subsequent call to ListBuildBatches to retrieve the next set of items. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s PhaseContext) String() string { +func (s ListBuildBatchesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PhaseContext) GoString() string { +func (s ListBuildBatchesOutput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *PhaseContext) SetMessage(v string) *PhaseContext { - s.Message = &v +// SetIds sets the Ids field's value. +func (s *ListBuildBatchesOutput) SetIds(v []*string) *ListBuildBatchesOutput { + s.Ids = v return s } -// SetStatusCode sets the StatusCode field's value. -func (s *PhaseContext) SetStatusCode(v string) *PhaseContext { - s.StatusCode = &v +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesOutput) SetNextToken(v string) *ListBuildBatchesOutput { + s.NextToken = &v return s } -// Information about a build project. -type Project struct { +type ListBuildsForProjectInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the build project. - Arn *string `locationName:"arn" type:"string"` - - // Information about the build output artifacts for the build project. - Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure"` - - // Information about the build badge for the build project. - Badge *ProjectBadge `locationName:"badge" type:"structure"` - - // Information about the cache for the build project. - Cache *ProjectCache `locationName:"cache" type:"structure"` - - // When the build project was created, expressed in Unix time format. - Created *time.Time `locationName:"created" type:"timestamp"` - - // A description that makes the build project easy to identify. - Description *string `locationName:"description" type:"string"` + // 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" type:"string"` - // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be - // used for encrypting the build output artifacts. - // - // You can use a cross-account KMS key to encrypt the build output artifacts - // if your service role has permission to that key. + // The name of the AWS CodeBuild project. // - // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). - EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` - - // Information about the build environment for this build project. - Environment *ProjectEnvironment `locationName:"environment" type:"structure"` - - // An array of ProjectFileSystemLocation objects for a CodeBuild build project. - // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, - // mountPoint, and type of a file system created using Amazon Elastic File System. - FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` - - // When the build project's settings were last modified, expressed in Unix time - // format. - LastModified *time.Time `locationName:"lastModified" type:"timestamp"` - - // Information about logs for the build project. A project can create logs in - // Amazon CloudWatch Logs, an S3 bucket, or both. - LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"` - - // The name of the build project. - Name *string `locationName:"name" min:"2" type:"string"` - - // The number of minutes a build is allowed to be queued before it times out. - QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"` - - // An array of ProjectArtifacts objects. - SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` - - // An array of ProjectSourceVersion objects. If secondarySourceVersions is specified - // at the build level, then they take over these secondarySourceVersions (at - // the project level). - SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` - - // An array of ProjectSource objects. - SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` - - // The ARN of the AWS Identity and Access Management (IAM) role that enables - // AWS CodeBuild to interact with dependent AWS services on behalf of the AWS - // account. - ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` - - // Information about the build input source code for this build project. - Source *ProjectSource `locationName:"source" type:"structure"` + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` - // 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, 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. - // If a pull request ID is specified, it must use the format pr/pull-request-ID - // (for example pr/25). If a branch name is specified, the branch's HEAD - // commit ID is used. If not specified, the default branch's HEAD commit - // ID is used. - // - // * For Bitbucket: the commit ID, branch name, or tag name that corresponds - // to the version of the source code you want to build. If a branch name - // is specified, the branch's HEAD commit ID is used. If not specified, the - // default branch's HEAD commit ID is used. - // - // * For Amazon Simple Storage Service (Amazon S3): the version ID of the - // object that represents the build input ZIP file to use. - // - // If sourceVersion is specified at the build level, then that version takes - // precedence over this sourceVersion (at the project level). + // The order to list build IDs. Valid values include: // - // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) - // in the AWS CodeBuild User Guide. - SourceVersion *string `locationName:"sourceVersion" type:"string"` - - // A list of tag key and value pairs associated with this build project. + // * ASCENDING: List the build IDs in ascending order by build ID. // - // These tags are available for use by AWS services that support AWS CodeBuild - // build project tags. - Tags []*Tag `locationName:"tags" type:"list"` - - // How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait - // before timing out any related build that did not get marked as completed. - // The default is 60 minutes. - TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"` - - // Information about the VPC configuration that AWS CodeBuild accesses. - VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` - - // Information about a webhook that connects repository events to a build project - // in AWS CodeBuild. - Webhook *Webhook `locationName:"webhook" type:"structure"` + // * DESCENDING: List the build IDs in descending order by build ID. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s Project) String() string { +func (s ListBuildsForProjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Project) GoString() string { +func (s ListBuildsForProjectInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Project) SetArn(v string) *Project { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBuildsForProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBuildsForProjectInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) + } + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + } -// SetArtifacts sets the Artifacts field's value. -func (s *Project) SetArtifacts(v *ProjectArtifacts) *Project { - s.Artifacts = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetBadge sets the Badge field's value. -func (s *Project) SetBadge(v *ProjectBadge) *Project { - s.Badge = v +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsForProjectInput) SetNextToken(v string) *ListBuildsForProjectInput { + s.NextToken = &v return s } -// SetCache sets the Cache field's value. -func (s *Project) SetCache(v *ProjectCache) *Project { - s.Cache = v +// SetProjectName sets the ProjectName field's value. +func (s *ListBuildsForProjectInput) SetProjectName(v string) *ListBuildsForProjectInput { + s.ProjectName = &v return s } -// SetCreated sets the Created field's value. -func (s *Project) SetCreated(v time.Time) *Project { - s.Created = &v +// SetSortOrder sets the SortOrder field's value. +func (s *ListBuildsForProjectInput) SetSortOrder(v string) *ListBuildsForProjectInput { + s.SortOrder = &v return s } -// SetDescription sets the Description field's value. -func (s *Project) SetDescription(v string) *Project { - s.Description = &v - return s +type ListBuildsForProjectOutput struct { + _ struct{} `type:"structure"` + + // A list of build IDs for the specified build project, with each build ID representing + // a single build. + 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 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"` } -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *Project) SetEncryptionKey(v string) *Project { - s.EncryptionKey = &v - return s +// String returns the string representation +func (s ListBuildsForProjectOutput) String() string { + return awsutil.Prettify(s) } -// SetEnvironment sets the Environment field's value. -func (s *Project) SetEnvironment(v *ProjectEnvironment) *Project { - s.Environment = v - return s +// GoString returns the string representation +func (s ListBuildsForProjectOutput) GoString() string { + return s.String() } -// SetFileSystemLocations sets the FileSystemLocations field's value. -func (s *Project) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Project { - s.FileSystemLocations = v +// SetIds sets the Ids field's value. +func (s *ListBuildsForProjectOutput) SetIds(v []*string) *ListBuildsForProjectOutput { + s.Ids = v return s } -// SetLastModified sets the LastModified field's value. -func (s *Project) SetLastModified(v time.Time) *Project { - s.LastModified = &v +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsForProjectOutput) SetNextToken(v string) *ListBuildsForProjectOutput { + s.NextToken = &v return s } -// SetLogsConfig sets the LogsConfig field's value. -func (s *Project) SetLogsConfig(v *LogsConfig) *Project { - s.LogsConfig = v - return s +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 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: + // + // * ASCENDING: List the build IDs in ascending order by build ID. + // + // * DESCENDING: List the build IDs in descending order by build ID. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } -// SetName sets the Name field's value. -func (s *Project) SetName(v string) *Project { - s.Name = &v - return s +// String returns the string representation +func (s ListBuildsInput) String() string { + return awsutil.Prettify(s) } -// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. -func (s *Project) SetQueuedTimeoutInMinutes(v int64) *Project { - s.QueuedTimeoutInMinutes = &v - return s +// GoString returns the string representation +func (s ListBuildsInput) GoString() string { + return s.String() } -// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. -func (s *Project) SetSecondaryArtifacts(v []*ProjectArtifacts) *Project { - s.SecondaryArtifacts = v +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput { + s.NextToken = &v return s } -// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. -func (s *Project) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Project { - s.SecondarySourceVersions = v +// SetSortOrder sets the SortOrder field's value. +func (s *ListBuildsInput) SetSortOrder(v string) *ListBuildsInput { + s.SortOrder = &v return s } -// SetSecondarySources sets the SecondarySources field's value. -func (s *Project) SetSecondarySources(v []*ProjectSource) *Project { - s.SecondarySources = v - return s +type ListBuildsOutput struct { + _ struct{} `type:"structure"` + + // A list of build IDs, with each build ID representing a single build. + 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 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"` } -// SetServiceRole sets the ServiceRole field's value. -func (s *Project) SetServiceRole(v string) *Project { - s.ServiceRole = &v - return s +// String returns the string representation +func (s ListBuildsOutput) String() string { + return awsutil.Prettify(s) } -// SetSource sets the Source field's value. -func (s *Project) SetSource(v *ProjectSource) *Project { - s.Source = v - return s +// GoString returns the string representation +func (s ListBuildsOutput) GoString() string { + return s.String() } -// SetSourceVersion sets the SourceVersion field's value. -func (s *Project) SetSourceVersion(v string) *Project { - s.SourceVersion = &v +// SetIds sets the Ids field's value. +func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { + s.Ids = v return s } -// SetTags sets the Tags field's value. -func (s *Project) SetTags(v []*Tag) *Project { - s.Tags = v +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { + s.NextToken = &v return s } -// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. -func (s *Project) SetTimeoutInMinutes(v int64) *Project { - s.TimeoutInMinutes = &v - return s +type ListCuratedEnvironmentImagesInput struct { + _ struct{} `type:"structure"` } -// SetVpcConfig sets the VpcConfig field's value. -func (s *Project) SetVpcConfig(v *VpcConfig) *Project { - s.VpcConfig = v - return s +// String returns the string representation +func (s ListCuratedEnvironmentImagesInput) String() string { + return awsutil.Prettify(s) } -// SetWebhook sets the Webhook field's value. -func (s *Project) SetWebhook(v *Webhook) *Project { - s.Webhook = v - return s +// GoString returns the string representation +func (s ListCuratedEnvironmentImagesInput) GoString() string { + return s.String() } -// Information about the build output artifacts for the build project. -type ProjectArtifacts struct { +type ListCuratedEnvironmentImagesOutput struct { _ struct{} `type:"structure"` - // An identifier for this artifact definition. - ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"` - - // Set to true if you do not want your output artifacts encrypted. This option - // is valid only if your artifacts type is Amazon Simple Storage Service (Amazon - // S3). If this is set with another artifacts type, an invalidInputException - // is thrown. - EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + // Information about supported platforms for Docker images that are managed + // by AWS CodeBuild. + Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"` +} - // Information about the build output artifact location: - // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // locations instead of AWS CodeBuild. - // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. - // - // * If type is set to S3, this is the name of the output bucket. - Location *string `locationName:"location" type:"string"` +// String returns the string representation +func (s ListCuratedEnvironmentImagesOutput) String() string { + return awsutil.Prettify(s) +} - // Along with path and namespaceType, the pattern that AWS CodeBuild uses to - // name and store the output artifact: - // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // names instead of AWS CodeBuild. - // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. - // - // * If type is set to S3, this is the name of the output artifact object. - // If you set the name to be a forward slash ("/"), the artifact is stored - // in the root of the output bucket. - // - // For example: - // - // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and - // name is set to MyArtifact.zip, then the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. - // - // * If path is empty, namespaceType is set to NONE, and name is set to "/", - // the output artifact is stored in the root of the output bucket. - // - // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and - // name is set to "/", the output artifact is stored in MyArtifacts/build-ID . - Name *string `locationName:"name" type:"string"` +// GoString returns the string representation +func (s ListCuratedEnvironmentImagesOutput) GoString() string { + return s.String() +} - // Along with path and name, the pattern that AWS CodeBuild uses to determine - // the name and location to store the output artifact: - // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // names instead of AWS CodeBuild. - // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. - // - // * If type is set to S3, valid values include: BUILD_ID: Include the build - // ID in the location of the build output artifact. NONE: Do not include - // the build ID. This is the default if namespaceType is not specified. - // - // For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, - // and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. - NamespaceType *string `locationName:"namespaceType" type:"string" enum:"ArtifactNamespace"` +// SetPlatforms sets the Platforms field's value. +func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput { + s.Platforms = v + return s +} - // If this flag is set, a name specified in the buildspec file overrides the - // artifact name. The name specified in a buildspec file is calculated at build - // time and uses the Shell Command Language. For example, you can append a date - // and time to your artifact name so that it is always unique. - OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"` +type ListProjectsInput struct { + _ struct{} `type:"structure"` - // The type of build output artifact to create: - // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // artifacts instead of AWS CodeBuild. - // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. - // - // * If type is set to S3, valid values include: NONE: AWS CodeBuild creates - // in the output bucket a folder that contains the build output. This is - // the default if packaging is not specified. ZIP: AWS CodeBuild creates - // in the output bucket a ZIP file that contains the build output. - Packaging *string `locationName:"packaging" type:"string" enum:"ArtifactPackaging"` + // 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"` - // Along with namespaceType and name, the pattern that AWS CodeBuild uses to - // name and store the output artifact: + // The criterion to be used to list build project names. Valid values include: // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // names instead of AWS CodeBuild. + // * CREATED_TIME: List based on when each build project was created. // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. + // * LAST_MODIFIED_TIME: List based on when information about each build + // project was last changed. // - // * If type is set to S3, this is the path to the output artifact. If path - // is not specified, path is not used. + // * NAME: List based on each build project's name. // - // For example, if path is set to MyArtifacts, namespaceType is set to NONE, - // and name is set to MyArtifact.zip, the output artifact is stored in the output - // bucket at MyArtifacts/MyArtifact.zip. - Path *string `locationName:"path" type:"string"` + // 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 type of build output artifact. Valid values include: - // - // * CODEPIPELINE: The build project has build output generated through AWS - // CodePipeline. The CODEPIPELINE type is not supported for secondaryArtifacts. + // The order in which to list build projects. Valid values include: // - // * NO_ARTIFACTS: The build project does not produce any build output. + // * ASCENDING: List in ascending order. // - // * S3: The build project stores build output in Amazon Simple Storage Service - // (Amazon S3). + // * DESCENDING: List in descending order. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactsType"` + // 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 ProjectArtifacts) String() string { +func (s ListProjectsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectArtifacts) GoString() string { +func (s ListProjectsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectArtifacts) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectArtifacts"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) +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 { @@ -7636,165 +8687,224 @@ func (s *ProjectArtifacts) Validate() error { return nil } -// SetArtifactIdentifier sets the ArtifactIdentifier field's value. -func (s *ProjectArtifacts) SetArtifactIdentifier(v string) *ProjectArtifacts { - s.ArtifactIdentifier = &v +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { + s.NextToken = &v return s } -// SetEncryptionDisabled sets the EncryptionDisabled field's value. -func (s *ProjectArtifacts) SetEncryptionDisabled(v bool) *ProjectArtifacts { - s.EncryptionDisabled = &v +// SetSortBy sets the SortBy field's value. +func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { + s.SortBy = &v return s } -// SetLocation sets the Location field's value. -func (s *ProjectArtifacts) SetLocation(v string) *ProjectArtifacts { - s.Location = &v +// SetSortOrder sets the SortOrder field's value. +func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput { + s.SortOrder = &v return s } -// SetName sets the Name field's value. -func (s *ProjectArtifacts) SetName(v string) *ProjectArtifacts { - s.Name = &v - return s -} +type ListProjectsOutput struct { + _ struct{} `type:"structure"` -// SetNamespaceType sets the NamespaceType field's value. -func (s *ProjectArtifacts) SetNamespaceType(v string) *ProjectArtifacts { - s.NamespaceType = &v - return s -} + // 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"` -// SetOverrideArtifactName sets the OverrideArtifactName field's value. -func (s *ProjectArtifacts) SetOverrideArtifactName(v bool) *ProjectArtifacts { - s.OverrideArtifactName = &v - return s + // The list of build project names, with each build project name representing + // a single build project. + Projects []*string `locationName:"projects" min:"1" type:"list"` } -// SetPackaging sets the Packaging field's value. -func (s *ProjectArtifacts) SetPackaging(v string) *ProjectArtifacts { - s.Packaging = &v - return s +// String returns the string representation +func (s ListProjectsOutput) String() string { + return awsutil.Prettify(s) } -// SetPath sets the Path field's value. -func (s *ProjectArtifacts) SetPath(v string) *ProjectArtifacts { - s.Path = &v +// 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 } -// SetType sets the Type field's value. -func (s *ProjectArtifacts) SetType(v string) *ProjectArtifacts { - s.Type = &v +// SetProjects sets the Projects field's value. +func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { + s.Projects = v return s } -// Information about the build badge for the build project. -type ProjectBadge struct { +type ListReportGroupsInput struct { _ struct{} `type:"structure"` - // Set this to true to generate a publicly accessible URL for your project's - // build badge. - BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` + // 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"` - // The publicly-accessible URL through which you can access the build badge - // for your project. + // 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: // - // The publicly accessible URL through which you can access the build badge - // for your project. - BadgeRequestUrl *string `locationName:"badgeRequestUrl" type:"string"` + // * 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 ProjectBadge) String() string { +func (s ListReportGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectBadge) GoString() string { +func (s ListReportGroupsInput) GoString() string { return s.String() } -// SetBadgeEnabled sets the BadgeEnabled field's value. -func (s *ProjectBadge) SetBadgeEnabled(v bool) *ProjectBadge { - s.BadgeEnabled = &v +// 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 } -// SetBadgeRequestUrl sets the BadgeRequestUrl field's value. -func (s *ProjectBadge) SetBadgeRequestUrl(v string) *ProjectBadge { - s.BadgeRequestUrl = &v +// SetNextToken sets the NextToken field's value. +func (s *ListReportGroupsInput) SetNextToken(v string) *ListReportGroupsInput { + s.NextToken = &v return s } -// Information about the cache for the build project. -type ProjectCache struct { +// 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"` - // Information about the cache location: - // - // * NO_CACHE or LOCAL: This value is ignored. - // - // * S3: This is the S3 bucket name/prefix. - Location *string `locationName:"location" type:"string"` + // 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"` - // If you use a LOCAL cache, the local cache mode. You can use one or more local - // cache modes at the same time. - // - // * LOCAL_SOURCE_CACHE mode caches Git metadata for primary and secondary - // sources. After the cache is created, subsequent builds pull only the change - // between commits. This mode is a good choice for projects with a clean - // working directory and a source that is a large Git repository. If you - // choose this option and your project does not use a Git repository (GitHub, - // GitHub Enterprise, or Bitbucket), the option is ignored. - // - // * LOCAL_DOCKER_LAYER_CACHE mode caches existing Docker layers. This mode - // is a good choice for projects that build or pull large Docker images. - // It can prevent the performance issues caused by pulling large Docker images - // down from the network. You can use a Docker layer cache in the Linux environment - // only. The privileged flag must be set so that your project has the required - // Docker permissions. You should consider the security implications before - // you use a Docker layer cache. - // - // * LOCAL_CUSTOM_CACHE mode caches directories you specify in the buildspec - // file. This mode is a good choice if your build scenario is not suited - // to one of the other three local cache modes. If you use a custom cache: - // 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 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"` + // The list of ARNs for the report groups in the current AWS account. + ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` +} - // The type of cache used by the build project. Valid values include: - // - // * NO_CACHE: The build project does not use any cache. - // - // * S3: The build project reads and writes from and to S3. - // - // * LOCAL: The build project stores a cache locally on a build host that - // is only available to that build host. +// 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. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"CacheType"` + // 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 ProjectCache) String() string { +func (s ListReportsForReportGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectCache) GoString() string { +func (s ListReportsForReportGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectCache) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectCache"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) +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 { @@ -7803,182 +8913,2314 @@ func (s *ProjectCache) Validate() error { return nil } -// SetLocation sets the Location field's value. -func (s *ProjectCache) SetLocation(v string) *ProjectCache { - s.Location = &v +// SetFilter sets the Filter field's value. +func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput { + s.Filter = v return s } -// SetModes sets the Modes field's value. -func (s *ProjectCache) SetModes(v []*string) *ProjectCache { - s.Modes = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput { + s.MaxResults = &v return s } -// SetType sets the Type field's value. -func (s *ProjectCache) SetType(v string) *ProjectCache { - s.Type = &v +// SetNextToken sets the NextToken field's value. +func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput { + s.NextToken = &v return s } -// Information about the build environment of the build project. -type ProjectEnvironment struct { - _ struct{} `type:"structure"` +// SetReportGroupArn sets the ReportGroupArn field's value. +func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput { + s.ReportGroupArn = &v + return s +} - // The certificate to use with this build project. - Certificate *string `locationName:"certificate" type:"string"` +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput { + s.SortOrder = &v + return s +} - // Information about the compute resources the build project uses. Available - // values include: +type ListReportsForReportGroupOutput 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 report ARNs. + Reports []*string `locationName:"reports" min:"1" type:"list"` +} + +// String returns the string representation +func (s ListReportsForReportGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportsForReportGroupOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput { + s.NextToken = &v + return s +} + +// SetReports sets the Reports field's value. +func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput { + s.Reports = v + return s +} + +type ListReportsInput 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 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"` + + // Specifies the sort order for the list of returned reports. Valid values are: + // + // * ASCENDING: return reports in chronological order based on their creation + // date. + // + // * 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 ListReportsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +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 { + return invalidParams + } + return nil +} + +// SetFilter sets the Filter field's value. +func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput { + s.Filter = v + return s +} + +// 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 *ListReportsInput) SetSortOrder(v string) *ListReportsInput { + s.SortOrder = &v + return s +} + +type ListReportsOutput 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 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 ListReportsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput { + s.NextToken = &v + return s +} + +// SetReports sets the Reports field's value. +func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput { + s.Reports = v + return s +} + +type ListSharedProjectsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of paginated shared build projects returned per response. + // Use nextToken to iterate pages in the list of returned Project 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" min:"1" type:"string"` + + // The criterion to be used to list build projects shared with the current AWS + // account or user. Valid values include: + // + // * ARN: List based on the ARN. + // + // * MODIFIED_TIME: List based on when information about the shared project + // was last changed. + SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"` + + // The order in which to list shared build projects. Valid values include: + // + // * ASCENDING: List in ascending order. + // + // * DESCENDING: List in descending order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +} + +// String returns the string representation +func (s ListSharedProjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSharedProjectsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSharedProjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSharedProjectsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSharedProjectsInput) SetMaxResults(v int64) *ListSharedProjectsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSharedProjectsInput) SetNextToken(v string) *ListSharedProjectsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListSharedProjectsInput) SetSortBy(v string) *ListSharedProjectsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListSharedProjectsInput) SetSortOrder(v string) *ListSharedProjectsInput { + s.SortOrder = &v + return s +} + +type ListSharedProjectsOutput 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 build projects shared with the current AWS account + // or user. + Projects []*string `locationName:"projects" min:"1" type:"list"` +} + +// String returns the string representation +func (s ListSharedProjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSharedProjectsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSharedProjectsOutput) SetNextToken(v string) *ListSharedProjectsOutput { + s.NextToken = &v + return s +} + +// SetProjects sets the Projects field's value. +func (s *ListSharedProjectsOutput) SetProjects(v []*string) *ListSharedProjectsOutput { + s.Projects = v + return s +} + +type ListSharedReportGroupsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of paginated shared report groups 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 report groups shared with the current AWS + // account or user. Valid values include: + // + // * ARN: List based on the ARN. + // + // * MODIFIED_TIME: List based on when information about the shared report + // group was last changed. + SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"` + + // The order in which to list shared report groups. Valid values include: + // + // * ASCENDING: List in ascending order. + // + // * DESCENDING: List in descending order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +} + +// String returns the string representation +func (s ListSharedReportGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSharedReportGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSharedReportGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSharedReportGroupsInput"} + 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 *ListSharedReportGroupsInput) SetMaxResults(v int64) *ListSharedReportGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSharedReportGroupsInput) SetNextToken(v string) *ListSharedReportGroupsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListSharedReportGroupsInput) SetSortBy(v string) *ListSharedReportGroupsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListSharedReportGroupsInput) SetSortOrder(v string) *ListSharedReportGroupsInput { + s.SortOrder = &v + return s +} + +type ListSharedReportGroupsOutput 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 shared with the current AWS account + // or user. + ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` +} + +// String returns the string representation +func (s ListSharedReportGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSharedReportGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSharedReportGroupsOutput) SetNextToken(v string) *ListSharedReportGroupsOutput { + s.NextToken = &v + return s +} + +// SetReportGroups sets the ReportGroups field's value. +func (s *ListSharedReportGroupsOutput) SetReportGroups(v []*string) *ListSharedReportGroupsOutput { + s.ReportGroups = v + return s +} + +type ListSourceCredentialsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ListSourceCredentialsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSourceCredentialsInput) GoString() string { + return s.String() +} + +type ListSourceCredentialsOutput struct { + _ struct{} `type:"structure"` + + // A list of SourceCredentialsInfo objects. Each SourceCredentialsInfo object + // includes the authentication type, token ARN, and type of source provider + // for one set of credentials. + SourceCredentialsInfos []*SourceCredentialsInfo `locationName:"sourceCredentialsInfos" type:"list"` +} + +// String returns the string representation +func (s ListSourceCredentialsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSourceCredentialsOutput) GoString() string { + return s.String() +} + +// SetSourceCredentialsInfos sets the SourceCredentialsInfos field's value. +func (s *ListSourceCredentialsOutput) SetSourceCredentialsInfos(v []*SourceCredentialsInfo) *ListSourceCredentialsOutput { + s.SourceCredentialsInfos = v + return s +} + +// Information about logs for a build project. These can be logs in Amazon CloudWatch +// Logs, built in a specified S3 bucket, or both. +type LogsConfig struct { + _ struct{} `type:"structure"` + + // Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch + // Logs are enabled by default. + CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"` + + // Information about logs built to an S3 bucket for a build project. S3 logs + // are not enabled by default. + S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"` +} + +// String returns the string representation +func (s LogsConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LogsConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LogsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LogsConfig"} + if s.CloudWatchLogs != nil { + if err := s.CloudWatchLogs.Validate(); err != nil { + invalidParams.AddNested("CloudWatchLogs", err.(request.ErrInvalidParams)) + } + } + if s.S3Logs != nil { + if err := s.S3Logs.Validate(); err != nil { + invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCloudWatchLogs sets the CloudWatchLogs field's value. +func (s *LogsConfig) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsConfig { + s.CloudWatchLogs = v + return s +} + +// SetS3Logs sets the S3Logs field's value. +func (s *LogsConfig) SetS3Logs(v *S3LogsConfig) *LogsConfig { + s.S3Logs = v + return s +} + +// Information about build logs in Amazon CloudWatch Logs. +type LogsLocation struct { + _ struct{} `type:"structure"` + + // 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"` + + // The name of the Amazon CloudWatch Logs group for the build logs. + GroupName *string `locationName:"groupName" type:"string"` + + // The URL to a build log in an S3 bucket. + S3DeepLink *string `locationName:"s3DeepLink" type:"string"` + + // 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"` +} + +// String returns the string representation +func (s LogsLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LogsLocation) GoString() string { + return s.String() +} + +// SetCloudWatchLogs sets the CloudWatchLogs field's value. +func (s *LogsLocation) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsLocation { + s.CloudWatchLogs = v + 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 + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *LogsLocation) SetGroupName(v string) *LogsLocation { + s.GroupName = &v + return s +} + +// SetS3DeepLink sets the S3DeepLink field's value. +func (s *LogsLocation) SetS3DeepLink(v string) *LogsLocation { + s.S3DeepLink = &v + return s +} + +// SetS3Logs sets the S3Logs field's value. +func (s *LogsLocation) SetS3Logs(v *S3LogsConfig) *LogsLocation { + s.S3Logs = v + 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 + return s +} + +// Describes a network interface. +type NetworkInterface struct { + _ struct{} `type:"structure"` + + // The ID of the network interface. + NetworkInterfaceId *string `locationName:"networkInterfaceId" min:"1" type:"string"` + + // The ID of the subnet. + SubnetId *string `locationName:"subnetId" min:"1" type:"string"` +} + +// String returns the string representation +func (s NetworkInterface) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkInterface) GoString() string { + return s.String() +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface { + s.NetworkInterfaceId = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface { + s.SubnetId = &v + return s +} + +// There was a problem with the underlying OAuth provider. +type OAuthProviderException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s OAuthProviderException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OAuthProviderException) GoString() string { + return s.String() +} + +func newErrorOAuthProviderException(v protocol.ResponseMetadata) error { + return &OAuthProviderException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *OAuthProviderException) Code() string { + return "OAuthProviderException" +} + +// Message returns the exception's message. +func (s *OAuthProviderException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *OAuthProviderException) OrigErr() error { + return nil +} + +func (s *OAuthProviderException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *OAuthProviderException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *OAuthProviderException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Additional information about a build phase that has an error. You can use +// this information for troubleshooting. +type PhaseContext struct { + _ struct{} `type:"structure"` + + // An explanation of the build phase's context. This might include a command + // ID and an exit code. + Message *string `locationName:"message" type:"string"` + + // The status code for the context of the build phase. + StatusCode *string `locationName:"statusCode" type:"string"` +} + +// String returns the string representation +func (s PhaseContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PhaseContext) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *PhaseContext) SetMessage(v string) *PhaseContext { + s.Message = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *PhaseContext) SetStatusCode(v string) *PhaseContext { + s.StatusCode = &v + return s +} + +// Information about a build project. +type Project struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the build project. + Arn *string `locationName:"arn" type:"string"` + + // Information about the build output artifacts for the build project. + Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure"` + + // Information about the build badge for the build project. + Badge *ProjectBadge `locationName:"badge" type:"structure"` + + // A ProjectBuildBatchConfig object that defines the batch build options for + // the project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` + + // Information about the cache for the build project. + Cache *ProjectCache `locationName:"cache" type:"structure"` + + // When the build project was created, expressed in Unix time format. + Created *time.Time `locationName:"created" type:"timestamp"` + + // A description that makes the build project easy to identify. + Description *string `locationName:"description" type:"string"` + + // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be + // used for encrypting the build output artifacts. + // + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. + // + // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, + // the CMK's alias (using the format alias/alias-name ). + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` + + // Information about the build environment for this build project. + Environment *ProjectEnvironment `locationName:"environment" type:"structure"` + + // An array of ProjectFileSystemLocation objects for a CodeBuild build project. + // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, + // mountPoint, and type of a file system created using Amazon Elastic File System. + FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` + + // When the build project's settings were last modified, expressed in Unix time + // format. + LastModified *time.Time `locationName:"lastModified" type:"timestamp"` + + // Information about logs for the build project. A project can create logs in + // Amazon CloudWatch Logs, an S3 bucket, or both. + LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"` + + // The name of the build project. + Name *string `locationName:"name" min:"2" type:"string"` + + // The number of minutes a build is allowed to be queued before it times out. + QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"` + + // An array of ProjectArtifacts objects. + SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` + + // An array of ProjectSourceVersion objects. If secondarySourceVersions is specified + // at the build level, then they take over these secondarySourceVersions (at + // the project level). + SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` + + // An array of ProjectSource objects. + SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` + + // The ARN of the AWS Identity and Access Management (IAM) role that enables + // AWS CodeBuild to interact with dependent AWS services on behalf of the AWS + // account. + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` + + // Information about the build input source code for this build project. + Source *ProjectSource `locationName:"source" type:"structure"` + + // 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, 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. + // If a pull request ID is specified, it must use the format pr/pull-request-ID + // (for example pr/25). If a branch name is specified, the branch's HEAD + // commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // * For Bitbucket: the commit ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a branch name + // is specified, the branch's HEAD commit ID is used. If not specified, the + // default branch's HEAD commit ID is used. + // + // * For Amazon Simple Storage Service (Amazon S3): the version ID of the + // object that represents the build input ZIP file to use. + // + // If sourceVersion is specified at the build level, then that version takes + // precedence over this sourceVersion (at the project level). + // + // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) + // in the AWS CodeBuild User Guide. + SourceVersion *string `locationName:"sourceVersion" type:"string"` + + // A list of tag key and value pairs associated with this build project. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // build project tags. + Tags []*Tag `locationName:"tags" type:"list"` + + // How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait + // before timing out any related build that did not get marked as completed. + // The default is 60 minutes. + TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"` + + // Information about the VPC configuration that AWS CodeBuild accesses. + VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` + + // Information about a webhook that connects repository events to a build project + // in AWS CodeBuild. + Webhook *Webhook `locationName:"webhook" type:"structure"` +} + +// String returns the string representation +func (s Project) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Project) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Project) SetArn(v string) *Project { + s.Arn = &v + return s +} + +// SetArtifacts sets the Artifacts field's value. +func (s *Project) SetArtifacts(v *ProjectArtifacts) *Project { + s.Artifacts = v + return s +} + +// SetBadge sets the Badge field's value. +func (s *Project) SetBadge(v *ProjectBadge) *Project { + s.Badge = v + return s +} + +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *Project) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *Project { + s.BuildBatchConfig = v + return s +} + +// SetCache sets the Cache field's value. +func (s *Project) SetCache(v *ProjectCache) *Project { + s.Cache = v + return s +} + +// SetCreated sets the Created field's value. +func (s *Project) SetCreated(v time.Time) *Project { + s.Created = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Project) SetDescription(v string) *Project { + s.Description = &v + return s +} + +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *Project) SetEncryptionKey(v string) *Project { + s.EncryptionKey = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *Project) SetEnvironment(v *ProjectEnvironment) *Project { + s.Environment = v + return s +} + +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *Project) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Project { + s.FileSystemLocations = v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *Project) SetLastModified(v time.Time) *Project { + s.LastModified = &v + return s +} + +// SetLogsConfig sets the LogsConfig field's value. +func (s *Project) SetLogsConfig(v *LogsConfig) *Project { + s.LogsConfig = v + return s +} + +// SetName sets the Name field's value. +func (s *Project) SetName(v string) *Project { + s.Name = &v + return s +} + +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *Project) SetQueuedTimeoutInMinutes(v int64) *Project { + s.QueuedTimeoutInMinutes = &v + return s +} + +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *Project) SetSecondaryArtifacts(v []*ProjectArtifacts) *Project { + s.SecondaryArtifacts = v + return s +} + +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *Project) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Project { + s.SecondarySourceVersions = v + return s +} + +// SetSecondarySources sets the SecondarySources field's value. +func (s *Project) SetSecondarySources(v []*ProjectSource) *Project { + s.SecondarySources = v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *Project) SetServiceRole(v string) *Project { + s.ServiceRole = &v + return s +} + +// SetSource sets the Source field's value. +func (s *Project) SetSource(v *ProjectSource) *Project { + s.Source = v + return s +} + +// SetSourceVersion sets the SourceVersion field's value. +func (s *Project) SetSourceVersion(v string) *Project { + s.SourceVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Project) SetTags(v []*Tag) *Project { + s.Tags = v + return s +} + +// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. +func (s *Project) SetTimeoutInMinutes(v int64) *Project { + s.TimeoutInMinutes = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *Project) SetVpcConfig(v *VpcConfig) *Project { + s.VpcConfig = v + return s +} + +// SetWebhook sets the Webhook field's value. +func (s *Project) SetWebhook(v *Webhook) *Project { + s.Webhook = v + return s +} + +// Information about the build output artifacts for the build project. +type ProjectArtifacts struct { + _ struct{} `type:"structure"` + + // An identifier for this artifact definition. + ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"` + + // Set to true if you do not want your output artifacts encrypted. This option + // is valid only if your artifacts type is Amazon Simple Storage Service (Amazon + // S3). If this is set with another artifacts type, an invalidInputException + // is thrown. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + + // Information about the build output artifact location: + // + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // locations instead of AWS CodeBuild. + // + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, this is the name of the output bucket. + Location *string `locationName:"location" type:"string"` + + // Along with path and namespaceType, the pattern that AWS CodeBuild uses to + // name and store the output artifact: + // + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // names instead of AWS CodeBuild. + // + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, this is the name of the output artifact object. + // If you set the name to be a forward slash ("/"), the artifact is stored + // in the root of the output bucket. + // + // For example: + // + // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and + // name is set to MyArtifact.zip, then the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. + // + // * If path is empty, namespaceType is set to NONE, and name is set to "/", + // the output artifact is stored in the root of the output bucket. + // + // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and + // name is set to "/", the output artifact is stored in MyArtifacts/build-ID . + Name *string `locationName:"name" type:"string"` + + // Along with path and name, the pattern that AWS CodeBuild uses to determine + // the name and location to store the output artifact: + // + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // names instead of AWS CodeBuild. + // + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, valid values include: BUILD_ID: Include the build + // ID in the location of the build output artifact. NONE: Do not include + // the build ID. This is the default if namespaceType is not specified. + // + // For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, + // and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. + NamespaceType *string `locationName:"namespaceType" type:"string" enum:"ArtifactNamespace"` + + // If this flag is set, a name specified in the buildspec file overrides the + // artifact name. The name specified in a buildspec file is calculated at build + // time and uses the Shell Command Language. For example, you can append a date + // and time to your artifact name so that it is always unique. + OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"` + + // The type of build output artifact to create: + // + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // artifacts instead of AWS CodeBuild. + // + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, valid values include: NONE: AWS CodeBuild creates + // in the output bucket a folder that contains the build output. This is + // the default if packaging is not specified. ZIP: AWS CodeBuild creates + // in the output bucket a ZIP file that contains the build output. + Packaging *string `locationName:"packaging" type:"string" enum:"ArtifactPackaging"` + + // Along with namespaceType and name, the pattern that AWS CodeBuild uses to + // name and store the output artifact: + // + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // names instead of AWS CodeBuild. + // + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, this is the path to the output artifact. If path + // is not specified, path is not used. + // + // For example, if path is set to MyArtifacts, namespaceType is set to NONE, + // and name is set to MyArtifact.zip, the output artifact is stored in the output + // bucket at MyArtifacts/MyArtifact.zip. + Path *string `locationName:"path" type:"string"` + + // The type of build output artifact. Valid values include: + // + // * CODEPIPELINE: The build project has build output generated through AWS + // CodePipeline. The CODEPIPELINE type is not supported for secondaryArtifacts. + // + // * NO_ARTIFACTS: The build project does not produce any build output. + // + // * S3: The build project stores build output in Amazon Simple Storage Service + // (Amazon S3). + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactsType"` +} + +// String returns the string representation +func (s ProjectArtifacts) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectArtifacts) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectArtifacts) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectArtifacts"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArtifactIdentifier sets the ArtifactIdentifier field's value. +func (s *ProjectArtifacts) SetArtifactIdentifier(v string) *ProjectArtifacts { + s.ArtifactIdentifier = &v + return s +} + +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *ProjectArtifacts) SetEncryptionDisabled(v bool) *ProjectArtifacts { + s.EncryptionDisabled = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *ProjectArtifacts) SetLocation(v string) *ProjectArtifacts { + s.Location = &v + return s +} + +// SetName sets the Name field's value. +func (s *ProjectArtifacts) SetName(v string) *ProjectArtifacts { + s.Name = &v + return s +} + +// SetNamespaceType sets the NamespaceType field's value. +func (s *ProjectArtifacts) SetNamespaceType(v string) *ProjectArtifacts { + s.NamespaceType = &v + return s +} + +// SetOverrideArtifactName sets the OverrideArtifactName field's value. +func (s *ProjectArtifacts) SetOverrideArtifactName(v bool) *ProjectArtifacts { + s.OverrideArtifactName = &v + return s +} + +// SetPackaging sets the Packaging field's value. +func (s *ProjectArtifacts) SetPackaging(v string) *ProjectArtifacts { + s.Packaging = &v + return s +} + +// SetPath sets the Path field's value. +func (s *ProjectArtifacts) SetPath(v string) *ProjectArtifacts { + s.Path = &v + return s +} + +// SetType sets the Type field's value. +func (s *ProjectArtifacts) SetType(v string) *ProjectArtifacts { + s.Type = &v + return s +} + +// Information about the build badge for the build project. +type ProjectBadge struct { + _ struct{} `type:"structure"` + + // Set this to true to generate a publicly accessible URL for your project's + // build badge. + BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` + + // The publicly-accessible URL through which you can access the build badge + // for your project. + // + // The publicly accessible URL through which you can access the build badge + // for your project. + BadgeRequestUrl *string `locationName:"badgeRequestUrl" type:"string"` +} + +// String returns the string representation +func (s ProjectBadge) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectBadge) GoString() string { + return s.String() +} + +// SetBadgeEnabled sets the BadgeEnabled field's value. +func (s *ProjectBadge) SetBadgeEnabled(v bool) *ProjectBadge { + s.BadgeEnabled = &v + return s +} + +// SetBadgeRequestUrl sets the BadgeRequestUrl field's value. +func (s *ProjectBadge) SetBadgeRequestUrl(v string) *ProjectBadge { + s.BadgeRequestUrl = &v + return s +} + +// Contains configuration information about a batch build project. +type ProjectBuildBatchConfig struct { + _ struct{} `type:"structure"` + + // Specifies if the build artifacts for the batch build should be combined into + // a single artifact location. + CombineArtifacts *bool `locationName:"combineArtifacts" type:"boolean"` + + // A BatchRestrictions object that specifies the restrictions for the batch + // build. + Restrictions *BatchRestrictions `locationName:"restrictions" type:"structure"` + + // Specifies the service role ARN for the batch build project. + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` + + // Specifies the maximum amount of time, in minutes, that the batch build must + // be completed in. + TimeoutInMins *int64 `locationName:"timeoutInMins" type:"integer"` +} + +// String returns the string representation +func (s ProjectBuildBatchConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectBuildBatchConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectBuildBatchConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectBuildBatchConfig"} + if s.ServiceRole != nil && len(*s.ServiceRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCombineArtifacts sets the CombineArtifacts field's value. +func (s *ProjectBuildBatchConfig) SetCombineArtifacts(v bool) *ProjectBuildBatchConfig { + s.CombineArtifacts = &v + return s +} + +// SetRestrictions sets the Restrictions field's value. +func (s *ProjectBuildBatchConfig) SetRestrictions(v *BatchRestrictions) *ProjectBuildBatchConfig { + s.Restrictions = v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *ProjectBuildBatchConfig) SetServiceRole(v string) *ProjectBuildBatchConfig { + s.ServiceRole = &v + return s +} + +// SetTimeoutInMins sets the TimeoutInMins field's value. +func (s *ProjectBuildBatchConfig) SetTimeoutInMins(v int64) *ProjectBuildBatchConfig { + s.TimeoutInMins = &v + return s +} + +// Information about the cache for the build project. +type ProjectCache struct { + _ struct{} `type:"structure"` + + // Information about the cache location: + // + // * NO_CACHE or LOCAL: This value is ignored. + // + // * S3: This is the S3 bucket name/prefix. + Location *string `locationName:"location" type:"string"` + + // If you use a LOCAL cache, the local cache mode. You can use one or more local + // cache modes at the same time. + // + // * LOCAL_SOURCE_CACHE mode caches Git metadata for primary and secondary + // sources. After the cache is created, subsequent builds pull only the change + // between commits. This mode is a good choice for projects with a clean + // working directory and a source that is a large Git repository. If you + // choose this option and your project does not use a Git repository (GitHub, + // GitHub Enterprise, or Bitbucket), the option is ignored. + // + // * LOCAL_DOCKER_LAYER_CACHE mode caches existing Docker layers. This mode + // is a good choice for projects that build or pull large Docker images. + // It can prevent the performance issues caused by pulling large Docker images + // down from the network. You can use a Docker layer cache in the Linux environment + // only. The privileged flag must be set so that your project has the required + // Docker permissions. You should consider the security implications before + // you use a Docker layer cache. + // + // * LOCAL_CUSTOM_CACHE mode caches directories you specify in the buildspec + // file. This mode is a good choice if your build scenario is not suited + // to one of the other three local cache modes. If you use a custom cache: + // 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 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"` + + // The type of cache used by the build project. Valid values include: + // + // * NO_CACHE: The build project does not use any cache. + // + // * S3: The build project reads and writes from and to S3. + // + // * LOCAL: The build project stores a cache locally on a build host that + // is only available to that build host. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CacheType"` +} + +// String returns the string representation +func (s ProjectCache) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectCache) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectCache) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectCache"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLocation sets the Location field's value. +func (s *ProjectCache) SetLocation(v string) *ProjectCache { + s.Location = &v + return s +} + +// SetModes sets the Modes field's value. +func (s *ProjectCache) SetModes(v []*string) *ProjectCache { + s.Modes = v + return s +} + +// SetType sets the Type field's value. +func (s *ProjectCache) SetType(v string) *ProjectCache { + s.Type = &v + return s +} + +// Information about the build environment of the build project. +type ProjectEnvironment struct { + _ struct{} `type:"structure"` + + // The certificate to use with this build project. + Certificate *string `locationName:"certificate" type:"string"` + + // Information about the compute resources the build project uses. Available + // values include: + // + // * BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds. + // + // * BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds. + // + // * BUILD_GENERAL1_LARGE: Use up to 16 GB memory and 8 vCPUs for builds, + // depending on your environment type. + // + // * BUILD_GENERAL1_2XLARGE: Use up to 145 GB memory, 72 vCPUs, and 824 GB + // of SSD storage for builds. This compute type supports Docker images up + // to 100 GB uncompressed. + // + // If you use BUILD_GENERAL1_LARGE: + // + // * For environment type LINUX_CONTAINER, you can use up to 15 GB memory + // and 8 vCPUs for builds. + // + // * For environment type LINUX_GPU_CONTAINER, you can use up to 255 GB memory, + // 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + // + // * For environment type ARM_CONTAINER, you can use up to 16 GB memory and + // 8 vCPUs on ARM-based processors for builds. + // + // For more information, see Build Environment Compute Types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) + // in the AWS CodeBuild User Guide. + // + // ComputeType is a required field + ComputeType *string `locationName:"computeType" type:"string" required:"true" enum:"ComputeType"` + + // A set of environment variables to make available to builds for this build + // project. + EnvironmentVariables []*EnvironmentVariable `locationName:"environmentVariables" type:"list"` + + // The image tag or image digest that identifies the Docker image to use for + // this build project. Use the following formats: + // + // * For an image tag: registry/repository:tag. For example, to specify an + // image with the tag "latest," use registry/repository:latest. + // + // * For an image digest: registry/repository@digest. For example, to specify + // an image with the digest "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," + // use registry/repository@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf. + // + // Image is a required field + Image *string `locationName:"image" min:"1" type:"string" required:"true"` + + // The type of credentials AWS CodeBuild uses to pull images in your build. + // There are two valid values: + // + // * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This + // requires that you modify your ECR repository policy to trust AWS CodeBuild's + // service principal. + // + // * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's + // service role. + // + // When you use a cross-account or private registry image, you must use SERVICE_ROLE + // credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD + // credentials. + ImagePullCredentialsType *string `locationName:"imagePullCredentialsType" type:"string" enum:"ImagePullCredentialsType"` + + // Enables running the Docker daemon inside a Docker container. Set to true + // only if the build project is used to build Docker images. Otherwise, a build + // that attempts to interact with the Docker daemon fails. The default setting + // is false. + // + // You can initialize the Docker daemon during the install phase of your build + // by adding one of the following sets of commands to the install phase of your + // buildspec file: + // + // If the operating system's base image is Ubuntu Linux: + // + // - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 + // --storage-driver=overlay& + // + // - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" + // + // If the operating system's base image is Alpine Linux and the previous command + // does not work, add the -t argument to timeout: + // + // - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 + // --storage-driver=overlay& + // + // - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done" + PrivilegedMode *bool `locationName:"privilegedMode" type:"boolean"` + + // The credentials for access to a private registry. + RegistryCredential *RegistryCredential `locationName:"registryCredential" type:"structure"` + + // The type of build environment to use for related builds. + // + // * The environment type ARM_CONTAINER is available only in regions US East + // (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific + // (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and EU (Frankfurt). + // + // * The environment type LINUX_CONTAINER with compute type build.general1.2xlarge + // is available only in regions US East (N. Virginia), US East (Ohio), US + // West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), + // Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), + // Asia Pacific (Sydney), China (Beijing), and China (Ningxia). + // + // * The environment type LINUX_GPU_CONTAINER is available only in regions + // US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), + // EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia + // Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) , China + // (Beijing), and China (Ningxia). + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentType"` +} + +// String returns the string representation +func (s ProjectEnvironment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectEnvironment) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectEnvironment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectEnvironment"} + if s.ComputeType == nil { + invalidParams.Add(request.NewErrParamRequired("ComputeType")) + } + if s.Image == nil { + invalidParams.Add(request.NewErrParamRequired("Image")) + } + if s.Image != nil && len(*s.Image) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Image", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.EnvironmentVariables != nil { + for i, v := range s.EnvironmentVariables { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariables", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RegistryCredential != nil { + if err := s.RegistryCredential.Validate(); err != nil { + invalidParams.AddNested("RegistryCredential", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificate sets the Certificate field's value. +func (s *ProjectEnvironment) SetCertificate(v string) *ProjectEnvironment { + s.Certificate = &v + return s +} + +// SetComputeType sets the ComputeType field's value. +func (s *ProjectEnvironment) SetComputeType(v string) *ProjectEnvironment { + s.ComputeType = &v + return s +} + +// SetEnvironmentVariables sets the EnvironmentVariables field's value. +func (s *ProjectEnvironment) SetEnvironmentVariables(v []*EnvironmentVariable) *ProjectEnvironment { + s.EnvironmentVariables = v + return s +} + +// SetImage sets the Image field's value. +func (s *ProjectEnvironment) SetImage(v string) *ProjectEnvironment { + s.Image = &v + return s +} + +// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value. +func (s *ProjectEnvironment) SetImagePullCredentialsType(v string) *ProjectEnvironment { + s.ImagePullCredentialsType = &v + return s +} + +// SetPrivilegedMode sets the PrivilegedMode field's value. +func (s *ProjectEnvironment) SetPrivilegedMode(v bool) *ProjectEnvironment { + s.PrivilegedMode = &v + return s +} + +// SetRegistryCredential sets the RegistryCredential field's value. +func (s *ProjectEnvironment) SetRegistryCredential(v *RegistryCredential) *ProjectEnvironment { + s.RegistryCredential = v + return s +} + +// SetType sets the Type field's value. +func (s *ProjectEnvironment) SetType(v string) *ProjectEnvironment { + s.Type = &v + return s +} + +// Information about a file system created by Amazon Elastic File System (EFS). +// For more information, see What Is Amazon Elastic File System? (https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) +type ProjectFileSystemLocation struct { + _ struct{} `type:"structure"` + + // The name used to access a file system created by Amazon EFS. CodeBuild creates + // an environment variable by appending the identifier in all capital letters + // to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment + // variable is create named CODEBUILD_MY-EFS. // - // * BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds. + // The identifier is used to mount your file system. + Identifier *string `locationName:"identifier" type:"string"` + + // A string that specifies the location of the file system created by Amazon + // EFS. Its format is efs-dns-name:/directory-path. You can find the DNS name + // of file system when you view it in the AWS EFS console. The directory path + // is a path to a directory in the file system that CodeBuild mounts. For example, + // if the DNS name of a file system is fs-abcd1234.efs.us-west-2.amazonaws.com, + // and its mount directory is my-efs-mount-directory, then the location is fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. // - // * BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds. + // The directory path in the format efs-dns-name:/directory-path is optional. + // If you do not specify a directory path, the location is only the DNS name + // and CodeBuild mounts the entire file system. + Location *string `locationName:"location" type:"string"` + + // The mount options for a file system created by AWS EFS. The default mount + // options used by CodeBuild are nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. + // For more information, see Recommended NFS Mount Options (https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html). + MountOptions *string `locationName:"mountOptions" type:"string"` + + // The location in the container where you mount the file system. + MountPoint *string `locationName:"mountPoint" type:"string"` + + // The type of the file system. The one supported type is EFS. + Type *string `locationName:"type" type:"string" enum:"FileSystemType"` +} + +// String returns the string representation +func (s ProjectFileSystemLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectFileSystemLocation) GoString() string { + return s.String() +} + +// SetIdentifier sets the Identifier field's value. +func (s *ProjectFileSystemLocation) SetIdentifier(v string) *ProjectFileSystemLocation { + s.Identifier = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *ProjectFileSystemLocation) SetLocation(v string) *ProjectFileSystemLocation { + s.Location = &v + return s +} + +// SetMountOptions sets the MountOptions field's value. +func (s *ProjectFileSystemLocation) SetMountOptions(v string) *ProjectFileSystemLocation { + s.MountOptions = &v + return s +} + +// SetMountPoint sets the MountPoint field's value. +func (s *ProjectFileSystemLocation) SetMountPoint(v string) *ProjectFileSystemLocation { + s.MountPoint = &v + return s +} + +// SetType sets the Type field's value. +func (s *ProjectFileSystemLocation) SetType(v string) *ProjectFileSystemLocation { + s.Type = &v + return s +} + +// Information about the build input source code for the build project. +type ProjectSource struct { + _ struct{} `type:"structure"` + + // Information about the authorization settings for AWS CodeBuild to access + // the source code to be built. // - // * BUILD_GENERAL1_LARGE: Use up to 16 GB memory and 8 vCPUs for builds, - // depending on your environment type. + // This information is for the AWS CodeBuild console's use only. Your code should + // not get or set this information directly. + Auth *SourceAuth `locationName:"auth" type:"structure"` + + // Contains information that defines how the build project reports the build + // status to the source provider. This option is only used when the source provider + // is GITHUB, GITHUB_ENTERPRISE, or BITBUCKET. + BuildStatusConfig *BuildStatusConfig `locationName:"buildStatusConfig" type:"structure"` + + // The buildspec file declaration to use for the builds in this build project. + // + // If this value is set, it can be either an inline buildspec definition, the + // path to an alternate buildspec file relative to the value of the built-in + // CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The + // bucket must be in the same AWS Region as the build project. Specify the buildspec + // file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). + // If this value is not provided or is set to an empty string, the source code + // must contain a buildspec file in its root directory. For more information, + // see Buildspec File Name and Storage Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage). + Buildspec *string `locationName:"buildspec" type:"string"` + + // Information about the Git clone depth for the build project. + GitCloneDepth *int64 `locationName:"gitCloneDepth" type:"integer"` + + // Information about the Git submodules configuration for the build project. + GitSubmodulesConfig *GitSubmodulesConfig `locationName:"gitSubmodulesConfig" type:"structure"` + + // Enable this flag to ignore SSL warnings while connecting to the project source + // code. + InsecureSsl *bool `locationName:"insecureSsl" type:"boolean"` + + // Information about the location of the source code to be built. Valid values + // include: + // + // * For source code settings that are specified in the source action of + // a pipeline in AWS CodePipeline, location should not be specified. If it + // is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline + // uses the settings in a pipeline's source action instead of this value. + // + // * For source code in an AWS CodeCommit repository, the HTTPS clone URL + // to the repository that contains the source code and the buildspec file + // (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name + // ). + // + // * For source code in an Amazon Simple Storage Service (Amazon S3) input + // bucket, one of the following. The path to the ZIP file that contains the + // source code (for example, bucket-name/path/to/object-name.zip). The path + // to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/). + // + // * For source code in a GitHub repository, the HTTPS clone URL to the repository + // that contains the source and the buildspec file. You must connect your + // AWS account to your GitHub account. Use the AWS CodeBuild console to start + // creating a build project. When you use the console to connect (or reconnect) + // with GitHub, on the GitHub Authorize application page, for Organization + // access, choose Request access next to each repository you want to allow + // AWS CodeBuild to have access to, and then choose Authorize application. + // (After you have connected to your GitHub account, you do not need to finish + // creating the build project. You can leave the AWS CodeBuild console.) + // To instruct AWS CodeBuild to use this connection, in the source object, + // set the auth object's type value to OAUTH. + // + // * For source code in a Bitbucket repository, the HTTPS clone URL to the + // repository that contains the source and the buildspec file. You must connect + // your AWS account to your Bitbucket account. Use the AWS CodeBuild console + // to start creating a build project. When you use the console to connect + // (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your + // account page, choose Grant access. (After you have connected to your Bitbucket + // account, you do not need to finish creating the build project. You can + // leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this + // connection, in the source object, set the auth object's type value to + // OAUTH. + Location *string `locationName:"location" type:"string"` + + // Set to true to report the status of a build's start and finish to your source + // provider. This option is valid only when your source provider is GitHub, + // GitHub Enterprise, or Bitbucket. If this is set and you use a different source + // provider, an invalidInputException is thrown. + // + // The status of a build triggered by a webhook is always reported to your source + // provider. + ReportBuildStatus *bool `locationName:"reportBuildStatus" type:"boolean"` + + // An identifier for this project source. + SourceIdentifier *string `locationName:"sourceIdentifier" type:"string"` + + // The type of repository that contains the source code to be built. Valid values + // include: + // + // * BITBUCKET: The source code is in a Bitbucket repository. + // + // * CODECOMMIT: The source code is in an AWS CodeCommit repository. + // + // * CODEPIPELINE: The source code settings are specified in the source action + // of a pipeline in AWS CodePipeline. + // + // * GITHUB: The source code is in a GitHub or GitHub Enterprise Cloud repository. + // + // * GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise Server + // repository. + // + // * NO_SOURCE: The project does not have input source code. + // + // * S3: The source code is in an Amazon Simple Storage Service (Amazon S3) + // input bucket. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"SourceType"` +} + +// String returns the string representation +func (s ProjectSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectSource"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Auth != nil { + if err := s.Auth.Validate(); err != nil { + invalidParams.AddNested("Auth", err.(request.ErrInvalidParams)) + } + } + if s.GitSubmodulesConfig != nil { + if err := s.GitSubmodulesConfig.Validate(); err != nil { + invalidParams.AddNested("GitSubmodulesConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuth sets the Auth field's value. +func (s *ProjectSource) SetAuth(v *SourceAuth) *ProjectSource { + s.Auth = v + return s +} + +// SetBuildStatusConfig sets the BuildStatusConfig field's value. +func (s *ProjectSource) SetBuildStatusConfig(v *BuildStatusConfig) *ProjectSource { + s.BuildStatusConfig = v + return s +} + +// SetBuildspec sets the Buildspec field's value. +func (s *ProjectSource) SetBuildspec(v string) *ProjectSource { + s.Buildspec = &v + return s +} + +// SetGitCloneDepth sets the GitCloneDepth field's value. +func (s *ProjectSource) SetGitCloneDepth(v int64) *ProjectSource { + s.GitCloneDepth = &v + return s +} + +// SetGitSubmodulesConfig sets the GitSubmodulesConfig field's value. +func (s *ProjectSource) SetGitSubmodulesConfig(v *GitSubmodulesConfig) *ProjectSource { + s.GitSubmodulesConfig = v + return s +} + +// SetInsecureSsl sets the InsecureSsl field's value. +func (s *ProjectSource) SetInsecureSsl(v bool) *ProjectSource { + s.InsecureSsl = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *ProjectSource) SetLocation(v string) *ProjectSource { + s.Location = &v + return s +} + +// SetReportBuildStatus sets the ReportBuildStatus field's value. +func (s *ProjectSource) SetReportBuildStatus(v bool) *ProjectSource { + s.ReportBuildStatus = &v + return s +} + +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *ProjectSource) SetSourceIdentifier(v string) *ProjectSource { + s.SourceIdentifier = &v + return s +} + +// SetType sets the Type field's value. +func (s *ProjectSource) SetType(v string) *ProjectSource { + s.Type = &v + return s +} + +// A source identifier and its corresponding version. +type ProjectSourceVersion struct { + _ struct{} `type:"structure"` + + // An identifier for a source in the build project. // - // * BUILD_GENERAL1_2XLARGE: Use up to 145 GB memory, 72 vCPUs, and 824 GB - // of SSD storage for builds. This compute type supports Docker images up - // to 100 GB uncompressed. + // SourceIdentifier is a required field + SourceIdentifier *string `locationName:"sourceIdentifier" type:"string" required:"true"` + + // The source version for the corresponding source identifier. If specified, + // must be one of: // - // If you use BUILD_GENERAL1_LARGE: + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // - // * For environment type LINUX_CONTAINER, you can use up to 15 GB memory - // and 8 vCPUs for builds. + // * 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. + // If a pull request ID is specified, it must use the format pr/pull-request-ID + // (for example, pr/25). If a branch name is specified, the branch's HEAD + // commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. // - // * For environment type LINUX_GPU_CONTAINER, you can use up to 255 GB memory, - // 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + // * For Bitbucket: the commit ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a branch name + // is specified, the branch's HEAD commit ID is used. If not specified, the + // default branch's HEAD commit ID is used. // - // * For environment type ARM_CONTAINER, you can use up to 16 GB memory and - // 8 vCPUs on ARM-based processors for builds. + // * For Amazon Simple Storage Service (Amazon S3): the version ID of the + // object that represents the build input ZIP file to use. // - // For more information, see Build Environment Compute Types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) + // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) // in the AWS CodeBuild User Guide. // - // ComputeType is a required field - ComputeType *string `locationName:"computeType" type:"string" required:"true" enum:"ComputeType"` + // SourceVersion is a required field + SourceVersion *string `locationName:"sourceVersion" type:"string" required:"true"` +} - // A set of environment variables to make available to builds for this build - // project. - EnvironmentVariables []*EnvironmentVariable `locationName:"environmentVariables" type:"list"` +// String returns the string representation +func (s ProjectSourceVersion) String() string { + return awsutil.Prettify(s) +} - // The image tag or image digest that identifies the Docker image to use for - // this build project. Use the following formats: - // - // * For an image tag: registry/repository:tag. For example, to specify an - // image with the tag "latest," use registry/repository:latest. - // - // * For an image digest: registry/repository@digest. For example, to specify - // an image with the digest "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," - // use registry/repository@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf. - // - // Image is a required field - Image *string `locationName:"image" min:"1" type:"string" required:"true"` +// GoString returns the string representation +func (s ProjectSourceVersion) GoString() string { + return s.String() +} - // The type of credentials AWS CodeBuild uses to pull images in your build. - // There are two valid values: - // - // * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This - // requires that you modify your ECR repository policy to trust AWS CodeBuild's - // service principal. +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectSourceVersion) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectSourceVersion"} + if s.SourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("SourceIdentifier")) + } + if s.SourceVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SourceVersion")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *ProjectSourceVersion) SetSourceIdentifier(v string) *ProjectSourceVersion { + s.SourceIdentifier = &v + return s +} + +// SetSourceVersion sets the SourceVersion field's value. +func (s *ProjectSourceVersion) SetSourceVersion(v string) *ProjectSourceVersion { + s.SourceVersion = &v + return s +} + +type PutResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // A JSON-formatted resource policy. For more information, see Sharing a Project + // (https://docs.aws.amazon.com/codebuild/latest/userguide/project-sharing.html#project-sharing-share) + // and Sharing a Report Group (https://docs.aws.amazon.com/codebuild/latest/userguide/report-groups-sharing.html#report-groups-sharing-share) + // in the AWS CodeBuild User Guide. // - // * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's - // service role. + // Policy is a required field + Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` + + // The ARN of the Project or ReportGroup resource you want to associate with + // a resource policy. // - // When you use a cross-account or private registry image, you must use SERVICE_ROLE - // credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD - // credentials. - ImagePullCredentialsType *string `locationName:"imagePullCredentialsType" type:"string" enum:"ImagePullCredentialsType"` + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"} + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + 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 +} + +// SetPolicy sets the Policy field's value. +func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput { + s.Policy = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type PutResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the Project or ReportGroup resource that is associated with a + // resource policy. + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"` +} + +// String returns the string representation +func (s PutResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourcePolicyOutput) GoString() string { + return s.String() +} - // Enables running the Docker daemon inside a Docker container. Set to true - // only if the build project is used to build Docker images. Otherwise, a build - // that attempts to interact with the Docker daemon fails. The default setting - // is false. - // - // You can initialize the Docker daemon during the install phase of your build - // by adding one of the following sets of commands to the install phase of your - // buildspec file: - // - // If the operating system's base image is Ubuntu Linux: - // - // - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 - // --storage-driver=overlay& - // - // - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" - // - // If the operating system's base image is Alpine Linux and the previous command - // does not work, add the -t argument to timeout: - // - // - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 - // --storage-driver=overlay& - // - // - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done" - PrivilegedMode *bool `locationName:"privilegedMode" type:"boolean"` +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyOutput) SetResourceArn(v string) *PutResourcePolicyOutput { + s.ResourceArn = &v + return s +} - // The credentials for access to a private registry. - RegistryCredential *RegistryCredential `locationName:"registryCredential" type:"structure"` +// Information about credentials that provide access to a private Docker registry. +// When this is set: +// +// * imagePullCredentialsType must be set to SERVICE_ROLE. +// +// * images cannot be curated or an Amazon ECR image. +// +// For more information, see Private Registry with AWS Secrets Manager Sample +// for AWS CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-private-registry.html). +type RegistryCredential struct { + _ struct{} `type:"structure"` - // The type of build environment to use for related builds. - // - // * The environment type ARM_CONTAINER is available only in regions US East - // (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific - // (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and EU (Frankfurt). + // The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets + // Manager. // - // * The environment type LINUX_CONTAINER with compute type build.general1.2xlarge - // is available only in regions US East (N. Virginia), US East (Ohio), US - // West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), - // Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), - // Asia Pacific (Sydney), China (Beijing), and China (Ningxia). + // The credential can use the name of the credentials only if they exist in + // your current AWS Region. // - // * The environment type LINUX_GPU_CONTAINER is available only in regions - // US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), - // EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia - // Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) , China - // (Beijing), and China (Ningxia). + // Credential is a required field + Credential *string `locationName:"credential" min:"1" type:"string" required:"true"` + + // The service that created the credentials to access a private Docker registry. + // The valid value, SECRETS_MANAGER, is for AWS Secrets Manager. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentType"` + // CredentialProvider is a required field + CredentialProvider *string `locationName:"credentialProvider" type:"string" required:"true" enum:"CredentialProviderType"` } // String returns the string representation -func (s ProjectEnvironment) String() string { +func (s RegistryCredential) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectEnvironment) GoString() string { +func (s RegistryCredential) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectEnvironment) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectEnvironment"} - if s.ComputeType == nil { - invalidParams.Add(request.NewErrParamRequired("ComputeType")) - } - if s.Image == nil { - invalidParams.Add(request.NewErrParamRequired("Image")) +func (s *RegistryCredential) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegistryCredential"} + if s.Credential == nil { + invalidParams.Add(request.NewErrParamRequired("Credential")) } - if s.Image != nil && len(*s.Image) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Image", 1)) + if s.Credential != nil && len(*s.Credential) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Credential", 1)) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.CredentialProvider == nil { + invalidParams.Add(request.NewErrParamRequired("CredentialProvider")) } - if s.EnvironmentVariables != nil { - for i, v := range s.EnvironmentVariables { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariables", i), err.(request.ErrInvalidParams)) - } - } + + if invalidParams.Len() > 0 { + return invalidParams } - if s.RegistryCredential != nil { - if err := s.RegistryCredential.Validate(); err != nil { - invalidParams.AddNested("RegistryCredential", err.(request.ErrInvalidParams)) + 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"` + + // A CodeCoverageReportSummary object that contains a code coverage summary + // for this report. + CodeCoverageSummary *CodeCoverageReportSummary `locationName:"codeCoverageSummary" type:"structure"` + + // 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. + // + // CODE_COVERAGE + // + // A code coverage report. + // + // TEST + // + // A test report. + 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 +} + +// SetCodeCoverageSummary sets the CodeCoverageSummary field's value. +func (s *Report) SetCodeCoverageSummary(v *CodeCoverageReportSummary) *Report { + s.CodeCoverageSummary = 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)) } } @@ -7988,382 +11230,317 @@ func (s *ProjectEnvironment) Validate() error { return nil } -// SetCertificate sets the Certificate field's value. -func (s *ProjectEnvironment) SetCertificate(v string) *ProjectEnvironment { - s.Certificate = &v - return s -} - -// SetComputeType sets the ComputeType field's value. -func (s *ProjectEnvironment) SetComputeType(v string) *ProjectEnvironment { - s.ComputeType = &v +// SetExportConfigType sets the ExportConfigType field's value. +func (s *ReportExportConfig) SetExportConfigType(v string) *ReportExportConfig { + s.ExportConfigType = &v return s } -// SetEnvironmentVariables sets the EnvironmentVariables field's value. -func (s *ProjectEnvironment) SetEnvironmentVariables(v []*EnvironmentVariable) *ProjectEnvironment { - s.EnvironmentVariables = v +// SetS3Destination sets the S3Destination field's value. +func (s *ReportExportConfig) SetS3Destination(v *S3ReportExportConfig) *ReportExportConfig { + s.S3Destination = v return s } -// SetImage sets the Image field's value. -func (s *ProjectEnvironment) SetImage(v string) *ProjectEnvironment { - s.Image = &v - return s -} +// A filter used to return reports with the status specified by the input status +// parameter. +type ReportFilter struct { + _ struct{} `type:"structure"` -// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value. -func (s *ProjectEnvironment) SetImagePullCredentialsType(v string) *ProjectEnvironment { - s.ImagePullCredentialsType = &v - return s + // The status used to filter reports. You can filter using one status only. + Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` } -// SetPrivilegedMode sets the PrivilegedMode field's value. -func (s *ProjectEnvironment) SetPrivilegedMode(v bool) *ProjectEnvironment { - s.PrivilegedMode = &v - return s +// String returns the string representation +func (s ReportFilter) String() string { + return awsutil.Prettify(s) } -// SetRegistryCredential sets the RegistryCredential field's value. -func (s *ProjectEnvironment) SetRegistryCredential(v *RegistryCredential) *ProjectEnvironment { - s.RegistryCredential = v - return s +// GoString returns the string representation +func (s ReportFilter) GoString() string { + return s.String() } -// SetType sets the Type field's value. -func (s *ProjectEnvironment) SetType(v string) *ProjectEnvironment { - s.Type = &v +// SetStatus sets the Status field's value. +func (s *ReportFilter) SetStatus(v string) *ReportFilter { + s.Status = &v return s } -// Information about a file system created by Amazon Elastic File System (EFS). -// For more information, see What Is Amazon Elastic File System? (https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) -type ProjectFileSystemLocation struct { +// 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 name used to access a file system created by Amazon EFS. CodeBuild creates - // an environment variable by appending the identifier in all capital letters - // to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment - // variable is create named CODEBUILD_MY-EFS. - // - // The identifier is used to mount your file system. - Identifier *string `locationName:"identifier" type:"string"` + // The ARN of a ReportGroup. + Arn *string `locationName:"arn" min:"1" type:"string"` - // A string that specifies the location of the file system created by Amazon - // EFS. Its format is efs-dns-name:/directory-path. You can find the DNS name - // of file system when you view it in the AWS EFS console. The directory path - // is a path to a directory in the file system that CodeBuild mounts. For example, - // if the DNS name of a file system is fs-abcd1234.efs.us-west-2.amazonaws.com, - // and its mount directory is my-efs-mount-directory, then the location is fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. - // - // The directory path in the format efs-dns-name:/directory-path is optional. - // If you do not specify a directory path, the location is only the DNS name - // and CodeBuild mounts the entire file system. - Location *string `locationName:"location" type:"string"` + // The date and time this ReportGroup was created. + Created *time.Time `locationName:"created" type:"timestamp"` - // The mount options for a file system created by AWS EFS. The default mount - // options used by CodeBuild are nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. - // For more information, see Recommended NFS Mount Options (https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html). - MountOptions *string `locationName:"mountOptions" type:"string"` + // Information about the destination where the raw data of this ReportGroup + // is exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` - // The location in the container where you mount the file system. - MountPoint *string `locationName:"mountPoint" type:"string"` + // The date and time this ReportGroup was last modified. + LastModified *time.Time `locationName:"lastModified" type:"timestamp"` - // The type of the file system. The one supported type is EFS. - Type *string `locationName:"type" type:"string" enum:"FileSystemType"` + // The name of a ReportGroup. + Name *string `locationName:"name" min:"2" type:"string"` + + // A list of tag key and value pairs associated with this report group. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // report group tags. + Tags []*Tag `locationName:"tags" type:"list"` + + // The type of the ReportGroup. The one valid value is TEST. + Type *string `locationName:"type" type:"string" enum:"ReportType"` } // String returns the string representation -func (s ProjectFileSystemLocation) String() string { +func (s ReportGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectFileSystemLocation) GoString() string { +func (s ReportGroup) GoString() string { return s.String() } -// SetIdentifier sets the Identifier field's value. -func (s *ProjectFileSystemLocation) SetIdentifier(v string) *ProjectFileSystemLocation { - s.Identifier = &v +// SetArn sets the Arn field's value. +func (s *ReportGroup) SetArn(v string) *ReportGroup { + s.Arn = &v return s } -// SetLocation sets the Location field's value. -func (s *ProjectFileSystemLocation) SetLocation(v string) *ProjectFileSystemLocation { - s.Location = &v +// SetCreated sets the Created field's value. +func (s *ReportGroup) SetCreated(v time.Time) *ReportGroup { + s.Created = &v return s } -// SetMountOptions sets the MountOptions field's value. -func (s *ProjectFileSystemLocation) SetMountOptions(v string) *ProjectFileSystemLocation { - s.MountOptions = &v +// SetExportConfig sets the ExportConfig field's value. +func (s *ReportGroup) SetExportConfig(v *ReportExportConfig) *ReportGroup { + s.ExportConfig = v return s } -// SetMountPoint sets the MountPoint field's value. -func (s *ProjectFileSystemLocation) SetMountPoint(v string) *ProjectFileSystemLocation { - s.MountPoint = &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 +} + +// SetTags sets the Tags field's value. +func (s *ReportGroup) SetTags(v []*Tag) *ReportGroup { + s.Tags = v return s } // SetType sets the Type field's value. -func (s *ProjectFileSystemLocation) SetType(v string) *ProjectFileSystemLocation { +func (s *ReportGroup) SetType(v string) *ReportGroup { s.Type = &v return s } -// Information about the build input source code for the build project. -type ProjectSource struct { +// Represents a resolved build artifact. A resolve artifact is an artifact that +// is built and deployed to the destination, such as Amazon Simple Storage Service +// (Amazon S3). +type ResolvedArtifact struct { _ struct{} `type:"structure"` - // Information about the authorization settings for AWS CodeBuild to access - // the source code to be built. - // - // This information is for the AWS CodeBuild console's use only. Your code should - // not get or set this information directly. - Auth *SourceAuth `locationName:"auth" type:"structure"` + // The identifier of the artifact. + Identifier *string `locationName:"identifier" type:"string"` - // The buildspec file declaration to use for the builds in this build project. - // - // If this value is set, it can be either an inline buildspec definition, the - // path to an alternate buildspec file relative to the value of the built-in - // CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The - // bucket must be in the same AWS Region as the build project. Specify the buildspec - // file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). - // If this value is not provided or is set to an empty string, the source code - // must contain a buildspec file in its root directory. For more information, - // see Buildspec File Name and Storage Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage). - Buildspec *string `locationName:"buildspec" type:"string"` + // The location of the artifact. + Location *string `locationName:"location" type:"string"` - // Information about the Git clone depth for the build project. - GitCloneDepth *int64 `locationName:"gitCloneDepth" type:"integer"` + // Specifies the type of artifact. + Type *string `locationName:"type" type:"string" enum:"ArtifactsType"` +} - // Information about the Git submodules configuration for the build project. - GitSubmodulesConfig *GitSubmodulesConfig `locationName:"gitSubmodulesConfig" type:"structure"` +// String returns the string representation +func (s ResolvedArtifact) String() string { + return awsutil.Prettify(s) +} - // Enable this flag to ignore SSL warnings while connecting to the project source - // code. - InsecureSsl *bool `locationName:"insecureSsl" type:"boolean"` +// GoString returns the string representation +func (s ResolvedArtifact) GoString() string { + return s.String() +} - // Information about the location of the source code to be built. Valid values - // include: - // - // * For source code settings that are specified in the source action of - // a pipeline in AWS CodePipeline, location should not be specified. If it - // is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline - // uses the settings in a pipeline's source action instead of this value. - // - // * For source code in an AWS CodeCommit repository, the HTTPS clone URL - // to the repository that contains the source code and the buildspec file - // (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name - // ). - // - // * For source code in an Amazon Simple Storage Service (Amazon S3) input - // bucket, one of the following. The path to the ZIP file that contains the - // source code (for example, bucket-name/path/to/object-name.zip). The path - // to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/). - // - // * For source code in a GitHub repository, the HTTPS clone URL to the repository - // that contains the source and the buildspec file. You must connect your - // AWS account to your GitHub account. Use the AWS CodeBuild console to start - // creating a build project. When you use the console to connect (or reconnect) - // with GitHub, on the GitHub Authorize application page, for Organization - // access, choose Request access next to each repository you want to allow - // AWS CodeBuild to have access to, and then choose Authorize application. - // (After you have connected to your GitHub account, you do not need to finish - // creating the build project. You can leave the AWS CodeBuild console.) - // To instruct AWS CodeBuild to use this connection, in the source object, - // set the auth object's type value to OAUTH. - // - // * For source code in a Bitbucket repository, the HTTPS clone URL to the - // repository that contains the source and the buildspec file. You must connect - // your AWS account to your Bitbucket account. Use the AWS CodeBuild console - // to start creating a build project. When you use the console to connect - // (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your - // account page, choose Grant access. (After you have connected to your Bitbucket - // account, you do not need to finish creating the build project. You can - // leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this - // connection, in the source object, set the auth object's type value to - // OAUTH. - Location *string `locationName:"location" type:"string"` +// SetIdentifier sets the Identifier field's value. +func (s *ResolvedArtifact) SetIdentifier(v string) *ResolvedArtifact { + s.Identifier = &v + return s +} - // Set to true to report the status of a build's start and finish to your source - // provider. This option is valid only when your source provider is GitHub, - // GitHub Enterprise, or Bitbucket. If this is set and you use a different source - // provider, an invalidInputException is thrown. - // - // The status of a build triggered by a webhook is always reported to your source - // provider. - ReportBuildStatus *bool `locationName:"reportBuildStatus" type:"boolean"` +// SetLocation sets the Location field's value. +func (s *ResolvedArtifact) SetLocation(v string) *ResolvedArtifact { + s.Location = &v + return s +} - // An identifier for this project source. - SourceIdentifier *string `locationName:"sourceIdentifier" type:"string"` +// SetType sets the Type field's value. +func (s *ResolvedArtifact) SetType(v string) *ResolvedArtifact { + s.Type = &v + return s +} - // The type of repository that contains the source code to be built. Valid values - // include: - // - // * BITBUCKET: The source code is in a Bitbucket repository. - // - // * CODECOMMIT: The source code is in an AWS CodeCommit repository. - // - // * CODEPIPELINE: The source code settings are specified in the source action - // of a pipeline in AWS CodePipeline. - // - // * GITHUB: The source code is in a GitHub repository. - // - // * GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise repository. - // - // * NO_SOURCE: The project does not have input source code. - // - // * S3: The source code is in an Amazon Simple Storage Service (Amazon S3) - // input bucket. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"SourceType"` +// The specified AWS resource cannot be created, because an AWS resource with +// the same settings already exists. +type ResourceAlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s ProjectSource) String() string { +func (s ResourceAlreadyExistsException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectSource) GoString() string { +func (s ResourceAlreadyExistsException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectSource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectSource"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Auth != nil { - if err := s.Auth.Validate(); err != nil { - invalidParams.AddNested("Auth", err.(request.ErrInvalidParams)) - } - } - if s.GitSubmodulesConfig != nil { - if err := s.GitSubmodulesConfig.Validate(); err != nil { - invalidParams.AddNested("GitSubmodulesConfig", err.(request.ErrInvalidParams)) - } +func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { + return &ResourceAlreadyExistsException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *ResourceAlreadyExistsException) Code() string { + return "ResourceAlreadyExistsException" +} + +// Message returns the exception's message. +func (s *ResourceAlreadyExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceAlreadyExistsException) OrigErr() error { return nil } -// SetAuth sets the Auth field's value. -func (s *ProjectSource) SetAuth(v *SourceAuth) *ProjectSource { - s.Auth = v - return s +func (s *ResourceAlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetBuildspec sets the Buildspec field's value. -func (s *ProjectSource) SetBuildspec(v string) *ProjectSource { - s.Buildspec = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceAlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetGitCloneDepth sets the GitCloneDepth field's value. -func (s *ProjectSource) SetGitCloneDepth(v int64) *ProjectSource { - s.GitCloneDepth = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceAlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID } -// SetGitSubmodulesConfig sets the GitSubmodulesConfig field's value. -func (s *ProjectSource) SetGitSubmodulesConfig(v *GitSubmodulesConfig) *ProjectSource { - s.GitSubmodulesConfig = v - return s +// The specified AWS resource cannot be found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } -// SetInsecureSsl sets the InsecureSsl field's value. -func (s *ProjectSource) SetInsecureSsl(v bool) *ProjectSource { - s.InsecureSsl = &v - return s +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) } -// SetLocation sets the Location field's value. -func (s *ProjectSource) SetLocation(v string) *ProjectSource { - s.Location = &v - return s +// GoString returns the string representation +func (s ResourceNotFoundException) GoString() string { + return s.String() } -// SetReportBuildStatus sets the ReportBuildStatus field's value. -func (s *ProjectSource) SetReportBuildStatus(v bool) *ProjectSource { - s.ReportBuildStatus = &v - return s +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } } -// SetSourceIdentifier sets the SourceIdentifier field's value. -func (s *ProjectSource) SetSourceIdentifier(v string) *ProjectSource { - s.SourceIdentifier = &v - return s +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" } -// SetType sets the Type field's value. -func (s *ProjectSource) SetType(v string) *ProjectSource { - s.Type = &v - return s +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// A source identifier and its corresponding version. -type ProjectSourceVersion struct { +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +type RetryBuildBatchInput struct { _ struct{} `type:"structure"` - // An identifier for a source in the build project. - // - // SourceIdentifier is a required field - SourceIdentifier *string `locationName:"sourceIdentifier" type:"string" required:"true"` + // Specifies the identifier of the batch build to restart. + Id *string `locationName:"id" min:"1" type:"string"` - // The source version for the corresponding source identifier. If specified, - // must be one of: - // - // * 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. - // If a pull request ID is specified, it must use the format pr/pull-request-ID - // (for example, pr/25). If a branch name is specified, the branch's HEAD - // commit ID is used. If not specified, the default branch's HEAD commit - // ID is used. - // - // * For Bitbucket: the commit ID, branch name, or tag name that corresponds - // to the version of the source code you want to build. If a branch name - // is specified, the branch's HEAD commit ID is used. If not specified, the - // default branch's HEAD commit ID is used. - // - // * For Amazon Simple Storage Service (Amazon S3): the version ID of the - // object that represents the build input ZIP file to use. - // - // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) - // in the AWS CodeBuild User Guide. - // - // SourceVersion is a required field - SourceVersion *string `locationName:"sourceVersion" type:"string" required:"true"` + // A unique, case sensitive identifier you provide to ensure the idempotency + // of the RetryBuildBatch request. The token is included in the RetryBuildBatch + // request and is valid for five minutes. If you repeat the RetryBuildBatch + // request with the same token, but change a parameter, AWS CodeBuild returns + // a parameter mismatch error. + IdempotencyToken *string `locationName:"idempotencyToken" type:"string"` + + // Specifies the type of retry to perform. + RetryType *string `locationName:"retryType" type:"string" enum:"RetryBuildBatchType"` } // String returns the string representation -func (s ProjectSourceVersion) String() string { +func (s RetryBuildBatchInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectSourceVersion) GoString() string { +func (s RetryBuildBatchInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectSourceVersion) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectSourceVersion"} - if s.SourceIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("SourceIdentifier")) - } - if s.SourceVersion == nil { - invalidParams.Add(request.NewErrParamRequired("SourceVersion")) +func (s *RetryBuildBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RetryBuildBatchInput"} + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -8372,60 +11549,76 @@ func (s *ProjectSourceVersion) Validate() error { return nil } -// SetSourceIdentifier sets the SourceIdentifier field's value. -func (s *ProjectSourceVersion) SetSourceIdentifier(v string) *ProjectSourceVersion { - s.SourceIdentifier = &v +// SetId sets the Id field's value. +func (s *RetryBuildBatchInput) SetId(v string) *RetryBuildBatchInput { + s.Id = &v return s } -// SetSourceVersion sets the SourceVersion field's value. -func (s *ProjectSourceVersion) SetSourceVersion(v string) *ProjectSourceVersion { - s.SourceVersion = &v +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *RetryBuildBatchInput) SetIdempotencyToken(v string) *RetryBuildBatchInput { + s.IdempotencyToken = &v return s } -type PutResourcePolicyInput struct { +// SetRetryType sets the RetryType field's value. +func (s *RetryBuildBatchInput) SetRetryType(v string) *RetryBuildBatchInput { + s.RetryType = &v + return s +} + +type RetryBuildBatchOutput struct { _ struct{} `type:"structure"` - // A JSON-formatted resource policy. For more information, see Sharing a Project - // (https://docs.aws.amazon.com/codebuild/latest/userguide/project-sharing.html#project-sharing-share) - // and Sharing a Report Group (https://docs.aws.amazon.com/codebuild/latest/userguide/report-groups-sharing.html#report-groups-sharing-share) - // in the AWS CodeBuild User Guide. - // - // Policy is a required field - Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` + // Contains information about a batch build. + BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"` +} - // The ARN of the Project or ReportGroup resource you want to associate with - // a resource policy. - // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` +// String returns the string representation +func (s RetryBuildBatchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RetryBuildBatchOutput) GoString() string { + return s.String() +} + +// SetBuildBatch sets the BuildBatch field's value. +func (s *RetryBuildBatchOutput) SetBuildBatch(v *BuildBatch) *RetryBuildBatchOutput { + s.BuildBatch = v + return s +} + +type RetryBuildInput struct { + _ struct{} `type:"structure"` + + // Specifies the identifier of the build to restart. + Id *string `locationName:"id" min:"1" type:"string"` + + // A unique, case sensitive identifier you provide to ensure the idempotency + // of the RetryBuild request. The token is included in the RetryBuild request + // and is valid for five minutes. If you repeat the RetryBuild request with + // the same token, but change a parameter, AWS CodeBuild returns a parameter + // mismatch error. + IdempotencyToken *string `locationName:"idempotencyToken" type:"string"` } // String returns the string representation -func (s PutResourcePolicyInput) String() string { +func (s RetryBuildInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PutResourcePolicyInput) GoString() string { +func (s RetryBuildInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PutResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"} - if s.Policy == nil { - invalidParams.Add(request.NewErrParamRequired("Policy")) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) - } - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) +func (s *RetryBuildInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RetryBuildInput"} + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -8434,91 +11627,79 @@ func (s *PutResourcePolicyInput) Validate() error { return nil } -// SetPolicy sets the Policy field's value. -func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput { - s.Policy = &v +// SetId sets the Id field's value. +func (s *RetryBuildInput) SetId(v string) *RetryBuildInput { + s.Id = &v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { - s.ResourceArn = &v +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *RetryBuildInput) SetIdempotencyToken(v string) *RetryBuildInput { + s.IdempotencyToken = &v return s } -type PutResourcePolicyOutput struct { +type RetryBuildOutput struct { _ struct{} `type:"structure"` - // The ARN of the Project or ReportGroup resource that is associated with a - // resource policy. - ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"` + // Information about a build. + Build *Build `locationName:"build" type:"structure"` } // String returns the string representation -func (s PutResourcePolicyOutput) String() string { +func (s RetryBuildOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PutResourcePolicyOutput) GoString() string { +func (s RetryBuildOutput) GoString() string { return s.String() } -// SetResourceArn sets the ResourceArn field's value. -func (s *PutResourcePolicyOutput) SetResourceArn(v string) *PutResourcePolicyOutput { - s.ResourceArn = &v +// SetBuild sets the Build field's value. +func (s *RetryBuildOutput) SetBuild(v *Build) *RetryBuildOutput { + s.Build = v return s } -// Information about credentials that provide access to a private Docker registry. -// When this is set: -// -// * imagePullCredentialsType must be set to SERVICE_ROLE. -// -// * images cannot be curated or an Amazon ECR image. -// -// For more information, see Private Registry with AWS Secrets Manager Sample -// for AWS CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-private-registry.html). -type RegistryCredential struct { +// Information about S3 logs for a build project. +type S3LogsConfig struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets - // Manager. + // Set to true if you do not want your S3 build log output encrypted. By default + // S3 build logs are encrypted. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + + // The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 + // bucket name is my-bucket, and your path prefix is build-log, then acceptable + // formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log. + Location *string `locationName:"location" type:"string"` + + // The current status of the S3 build logs. Valid values are: // - // The credential can use the name of the credentials only if they exist in - // your current AWS Region. + // * ENABLED: S3 build logs are enabled for this build project. // - // Credential is a required field - Credential *string `locationName:"credential" min:"1" type:"string" required:"true"` - - // The service that created the credentials to access a private Docker registry. - // The valid value, SECRETS_MANAGER, is for AWS Secrets Manager. + // * DISABLED: S3 build logs are not enabled for this build project. // - // CredentialProvider is a required field - CredentialProvider *string `locationName:"credentialProvider" type:"string" required:"true" enum:"CredentialProviderType"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` } // String returns the string representation -func (s RegistryCredential) String() string { +func (s S3LogsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RegistryCredential) GoString() string { +func (s S3LogsConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RegistryCredential) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RegistryCredential"} - if s.Credential == nil { - invalidParams.Add(request.NewErrParamRequired("Credential")) - } - if s.Credential != nil && len(*s.Credential) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Credential", 1)) - } - if s.CredentialProvider == nil { - invalidParams.Add(request.NewErrParamRequired("CredentialProvider")) +func (s *S3LogsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3LogsConfig"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) } if invalidParams.Len() > 0 { @@ -8527,171 +11708,142 @@ func (s *RegistryCredential) Validate() error { return nil } -// SetCredential sets the Credential field's value. -func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { - s.Credential = &v +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *S3LogsConfig) SetEncryptionDisabled(v bool) *S3LogsConfig { + s.EncryptionDisabled = &v return s } -// SetCredentialProvider sets the CredentialProvider field's value. -func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { - s.CredentialProvider = &v +// SetLocation sets the Location field's value. +func (s *S3LogsConfig) SetLocation(v string) *S3LogsConfig { + s.Location = &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"` +// SetStatus sets the Status field's value. +func (s *S3LogsConfig) SetStatus(v string) *S3LogsConfig { + s.Status = &v + return s +} - // The name of the report that was run. - Name *string `locationName:"name" type:"string"` +// Information about the S3 bucket where the raw data of a report are exported. +type S3ReportExportConfig struct { + _ struct{} `type:"structure"` - // The ARN of the report group associated with this report. - ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string"` + // The name of the S3 bucket where the raw data of a report are exported. + Bucket *string `locationName:"bucket" min:"1" type:"string"` - // The status of this report. - Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` + // A boolean value that specifies if the results of a report are encrypted. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` - // A TestReportSummary object that contains information about this test report. - TestSummary *TestReportSummary `locationName:"testSummary" type:"structure"` + // The encryption key for the report's encrypted raw data. + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` - // 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 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 type of the report that was run. - Type *string `locationName:"type" type:"string" enum:"ReportType"` + // The path to the exported report's raw data results. + Path *string `locationName:"path" type:"string"` } // String returns the string representation -func (s Report) String() string { +func (s S3ReportExportConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Report) GoString() string { +func (s S3ReportExportConfig) 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 -} +// 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)) + } -// SetName sets the Name field's value. -func (s *Report) SetName(v string) *Report { - s.Name = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetReportGroupArn sets the ReportGroupArn field's value. -func (s *Report) SetReportGroupArn(v string) *Report { - s.ReportGroupArn = &v +// SetBucket sets the Bucket field's value. +func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig { + s.Bucket = &v return s } -// SetStatus sets the Status field's value. -func (s *Report) SetStatus(v string) *Report { - s.Status = &v +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig { + s.EncryptionDisabled = &v return s } -// SetTestSummary sets the TestSummary field's value. -func (s *Report) SetTestSummary(v *TestReportSummary) *Report { - s.TestSummary = v +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig { + s.EncryptionKey = &v return s } -// SetTruncated sets the Truncated field's value. -func (s *Report) SetTruncated(v bool) *Report { - s.Truncated = &v +// SetPackaging sets the Packaging field's value. +func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig { + s.Packaging = &v return s } -// SetType sets the Type field's value. -func (s *Report) SetType(v string) *Report { - s.Type = &v +// SetPath sets the Path field's value. +func (s *S3ReportExportConfig) SetPath(v string) *S3ReportExportConfig { + s.Path = &v return s } -// Information about the location where the run of a report is exported. -type ReportExportConfig struct { +// Information about the authorization settings for AWS CodeBuild to access +// the source code to be built. +// +// This information is for the AWS CodeBuild console's use only. Your code should +// not get or set this information directly. +type SourceAuth struct { _ struct{} `type:"structure"` - // The export configuration type. Valid values are: + // The resource value that applies to the specified authorization type. + Resource *string `locationName:"resource" type:"string"` + // - // * S3: The report results are exported to an S3 bucket. + // This data type is deprecated and is no longer accurate or used. // - // * 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"` + // The authorization type to use. The only valid value is OAUTH, which represents + // the OAuth authorization type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"SourceAuthType"` } // String returns the string representation -func (s ReportExportConfig) String() string { +func (s SourceAuth) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReportExportConfig) GoString() string { +func (s SourceAuth) 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)) - } +func (s *SourceAuth) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceAuth"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { @@ -8700,279 +11852,365 @@ func (s *ReportExportConfig) Validate() error { 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 +// SetResource sets the Resource field's value. +func (s *SourceAuth) SetResource(v string) *SourceAuth { + s.Resource = &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 +// SetType sets the Type field's value. +func (s *SourceAuth) SetType(v string) *SourceAuth { + s.Type = &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 { +// Information about the credentials for a GitHub, GitHub Enterprise, or Bitbucket +// repository. +type SourceCredentialsInfo struct { _ struct{} `type:"structure"` - // The ARN of a ReportGroup. + // The Amazon Resource Name (ARN) of the token. 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"` - - // A list of tag key and value pairs associated with this report group. - // - // These tags are available for use by AWS services that support AWS CodeBuild - // report group tags. - Tags []*Tag `locationName:"tags" type:"list"` + // The type of authentication used by the credentials. Valid options are OAUTH, + // BASIC_AUTH, or PERSONAL_ACCESS_TOKEN. + AuthType *string `locationName:"authType" type:"string" enum:"AuthType"` - // The type of the ReportGroup. The one valid value is TEST. - Type *string `locationName:"type" type:"string" enum:"ReportType"` + // The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, + // or BITBUCKET. + ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"` } // String returns the string representation -func (s ReportGroup) String() string { +func (s SourceCredentialsInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReportGroup) GoString() string { +func (s SourceCredentialsInfo) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *ReportGroup) SetArn(v string) *ReportGroup { +func (s *SourceCredentialsInfo) SetArn(v string) *SourceCredentialsInfo { s.Arn = &v return s } -// SetCreated sets the Created field's value. -func (s *ReportGroup) SetCreated(v time.Time) *ReportGroup { - s.Created = &v +// SetAuthType sets the AuthType field's value. +func (s *SourceCredentialsInfo) SetAuthType(v string) *SourceCredentialsInfo { + s.AuthType = &v return s } -// SetExportConfig sets the ExportConfig field's value. -func (s *ReportGroup) SetExportConfig(v *ReportExportConfig) *ReportGroup { - s.ExportConfig = v +// SetServerType sets the ServerType field's value. +func (s *SourceCredentialsInfo) SetServerType(v string) *SourceCredentialsInfo { + s.ServerType = &v return s } -// SetLastModified sets the LastModified field's value. -func (s *ReportGroup) SetLastModified(v time.Time) *ReportGroup { - s.LastModified = &v - return s -} +type StartBuildBatchInput struct { + _ struct{} `type:"structure"` -// SetName sets the Name field's value. -func (s *ReportGroup) SetName(v string) *ReportGroup { - s.Name = &v - return s -} + // An array of ProjectArtifacts objects that contains information about the + // build output artifact overrides for the build project. + ArtifactsOverride *ProjectArtifacts `locationName:"artifactsOverride" type:"structure"` -// SetTags sets the Tags field's value. -func (s *ReportGroup) SetTags(v []*Tag) *ReportGroup { - s.Tags = v - return s -} + // A BuildBatchConfigOverride object that contains batch build configuration + // overrides. + BuildBatchConfigOverride *ProjectBuildBatchConfig `locationName:"buildBatchConfigOverride" type:"structure"` -// SetType sets the Type field's value. -func (s *ReportGroup) SetType(v string) *ReportGroup { - s.Type = &v - return s -} + // Overrides the build timeout specified in the batch build project. + BuildTimeoutInMinutesOverride *int64 `locationName:"buildTimeoutInMinutesOverride" min:"5" type:"integer"` -// The specified AWS resource cannot be created, because an AWS resource with -// the same settings already exists. -type ResourceAlreadyExistsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // A buildspec file declaration that overrides, for this build only, the latest + // one already defined in the build project. + // + // If this value is set, it can be either an inline buildspec definition, the + // path to an alternate buildspec file relative to the value of the built-in + // CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The + // bucket must be in the same AWS Region as the build project. Specify the buildspec + // file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). + // If this value is not provided or is set to an empty string, the source code + // must contain a buildspec file in its root directory. For more information, + // see Buildspec File Name and Storage Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage). + BuildspecOverride *string `locationName:"buildspecOverride" type:"string"` - Message_ *string `locationName:"message" type:"string"` -} + // A ProjectCache object that specifies cache overrides. + CacheOverride *ProjectCache `locationName:"cacheOverride" type:"structure"` -// String returns the string representation -func (s ResourceAlreadyExistsException) String() string { - return awsutil.Prettify(s) -} + // The name of a certificate for this batch build that overrides the one specified + // in the batch build project. + CertificateOverride *string `locationName:"certificateOverride" type:"string"` -// GoString returns the string representation -func (s ResourceAlreadyExistsException) GoString() string { - return s.String() -} + // The name of a compute type for this batch build that overrides the one specified + // in the batch build project. + ComputeTypeOverride *string `locationName:"computeTypeOverride" type:"string" enum:"ComputeType"` -func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { - return &ResourceAlreadyExistsException{ - RespMetadata: v, - } -} + // The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides + // the one specified in the batch build project. The CMK key encrypts the build + // output artifacts. + // + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. + // + // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, + // the CMK's alias (using the format alias/alias-name ). + EncryptionKeyOverride *string `locationName:"encryptionKeyOverride" min:"1" type:"string"` -// Code returns the exception type name. -func (s *ResourceAlreadyExistsException) Code() string { - return "ResourceAlreadyExistsException" -} + // A container type for this batch build that overrides the one specified in + // the batch build project. + EnvironmentTypeOverride *string `locationName:"environmentTypeOverride" type:"string" enum:"EnvironmentType"` -// Message returns the exception's message. -func (s *ResourceAlreadyExistsException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} + // An array of EnvironmentVariable objects that override, or add to, the environment + // variables defined in the batch build project. + EnvironmentVariablesOverride []*EnvironmentVariable `locationName:"environmentVariablesOverride" type:"list"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceAlreadyExistsException) OrigErr() error { - return nil -} + // The user-defined depth of history, with a minimum value of 0, that overrides, + // for this batch build only, any previous depth of history defined in the batch + // build project. + GitCloneDepthOverride *int64 `locationName:"gitCloneDepthOverride" type:"integer"` -func (s *ResourceAlreadyExistsException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} + // A GitSubmodulesConfig object that overrides the Git submodules configuration + // for this batch build. + GitSubmodulesConfigOverride *GitSubmodulesConfig `locationName:"gitSubmodulesConfigOverride" type:"structure"` -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceAlreadyExistsException) StatusCode() int { - return s.RespMetadata.StatusCode -} + // A unique, case sensitive identifier you provide to ensure the idempotency + // of the StartBuildBatch request. The token is included in the StartBuildBatch + // request and is valid for five minutes. If you repeat the StartBuildBatch + // request with the same token, but change a parameter, AWS CodeBuild returns + // a parameter mismatch error. + IdempotencyToken *string `locationName:"idempotencyToken" type:"string"` -// RequestID returns the service's response RequestID for request. -func (s *ResourceAlreadyExistsException) RequestID() string { - return s.RespMetadata.RequestID -} + // The name of an image for this batch build that overrides the one specified + // in the batch build project. + ImageOverride *string `locationName:"imageOverride" min:"1" type:"string"` -// The specified AWS resource cannot be found. -type ResourceNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The type of credentials AWS CodeBuild uses to pull images in your batch build. + // There are two valid values: + // + // CODEBUILD + // + // Specifies that AWS CodeBuild uses its own credentials. This requires that + // you modify your ECR repository policy to trust AWS CodeBuild's service principal. + // + // SERVICE_ROLE + // + // Specifies that AWS CodeBuild uses your build project's service role. + // + // When using a cross-account or private registry image, you must use SERVICE_ROLE + // credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD + // credentials. + ImagePullCredentialsTypeOverride *string `locationName:"imagePullCredentialsTypeOverride" type:"string" enum:"ImagePullCredentialsType"` - Message_ *string `locationName:"message" type:"string"` -} + // Enable this flag to override the insecure SSL setting that is specified in + // the batch build project. The insecure SSL setting determines whether to ignore + // SSL warnings while connecting to the project source code. This override applies + // only if the build's source is GitHub Enterprise. + InsecureSslOverride *bool `locationName:"insecureSslOverride" type:"boolean"` -// String returns the string representation -func (s ResourceNotFoundException) String() string { - return awsutil.Prettify(s) -} + // A LogsConfig object that override the log settings defined in the batch build + // project. + LogsConfigOverride *LogsConfig `locationName:"logsConfigOverride" type:"structure"` -// GoString returns the string representation -func (s ResourceNotFoundException) GoString() string { - return s.String() -} + // Enable this flag to override privileged mode in the batch build project. + PrivilegedModeOverride *bool `locationName:"privilegedModeOverride" type:"boolean"` -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ - RespMetadata: v, - } -} + // The name of the project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` -// Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" -} + // The number of minutes a batch build is allowed to be queued before it times + // out. + QueuedTimeoutInMinutesOverride *int64 `locationName:"queuedTimeoutInMinutesOverride" min:"5" type:"integer"` -// Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} + // A RegistryCredential object that overrides credentials for access to a private + // registry. + RegistryCredentialOverride *RegistryCredential `locationName:"registryCredentialOverride" type:"structure"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { - return nil -} + // Set to true to report to your source provider the status of a batch build's + // start and completion. If you use this option with a source provider other + // than GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is + // thrown. + // + // The status of a build triggered by a webhook is always reported to your source + // provider. + ReportBuildBatchStatusOverride *bool `locationName:"reportBuildBatchStatusOverride" type:"boolean"` -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} + // An array of ProjectArtifacts objects that override the secondary artifacts + // defined in the batch build project. + SecondaryArtifactsOverride []*ProjectArtifacts `locationName:"secondaryArtifactsOverride" type:"list"` -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode -} + // An array of ProjectSource objects that override the secondary sources defined + // in the batch build project. + SecondarySourcesOverride []*ProjectSource `locationName:"secondarySourcesOverride" type:"list"` -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID -} + // An array of ProjectSourceVersion objects that override the secondary source + // versions in the batch build project. + SecondarySourcesVersionOverride []*ProjectSourceVersion `locationName:"secondarySourcesVersionOverride" type:"list"` -// Information about S3 logs for a build project. -type S3LogsConfig struct { - _ struct{} `type:"structure"` + // The name of a service role for this batch build that overrides the one specified + // in the batch build project. + ServiceRoleOverride *string `locationName:"serviceRoleOverride" min:"1" type:"string"` - // Set to true if you do not want your S3 build log output encrypted. By default - // S3 build logs are encrypted. - EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + // A SourceAuth object that overrides the one defined in the batch build project. + // This override applies only if the build project's source is BitBucket or + // GitHub. + SourceAuthOverride *SourceAuth `locationName:"sourceAuthOverride" type:"structure"` - // The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 - // bucket name is my-bucket, and your path prefix is build-log, then acceptable - // formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log. - Location *string `locationName:"location" type:"string"` + // A location that overrides, for this batch build, the source location defined + // in the batch build project. + SourceLocationOverride *string `locationName:"sourceLocationOverride" type:"string"` - // The current status of the S3 build logs. Valid values are: + // The source input type that overrides the source input defined in the batch + // build project. + SourceTypeOverride *string `locationName:"sourceTypeOverride" type:"string" enum:"SourceType"` + + // The version of the batch build input to be built, for this build only. If + // not specified, the latest version is used. If specified, the contents depends + // on the source provider: // - // * ENABLED: S3 build logs are enabled for this build project. + // AWS CodeCommit // - // * DISABLED: S3 build logs are not enabled for this build project. + // The commit ID, branch, or Git tag to use. // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` + // 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. If a pull request ID + // is specified, it must use the format pr/pull-request-ID (for example pr/25). + // If a branch name is specified, the branch's HEAD commit ID is used. If not + // specified, the default branch's HEAD commit ID is used. + // + // Bitbucket + // + // The commit ID, branch name, or tag name that corresponds to the version of + // the source code you want to build. If a branch name is specified, the branch's + // HEAD commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // Amazon Simple Storage Service (Amazon S3) + // + // The version ID of the object that represents the build input ZIP file to + // use. + // + // If sourceVersion is specified at the project level, then this sourceVersion + // (at the build level) takes precedence. + // + // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) + // in the AWS CodeBuild User Guide. + SourceVersion *string `locationName:"sourceVersion" type:"string"` } // String returns the string representation -func (s S3LogsConfig) String() string { +func (s StartBuildBatchInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s S3LogsConfig) GoString() string { +func (s StartBuildBatchInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *S3LogsConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3LogsConfig"} - if s.Status == nil { - invalidParams.Add(request.NewErrParamRequired("Status")) +func (s *StartBuildBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartBuildBatchInput"} + if s.BuildTimeoutInMinutesOverride != nil && *s.BuildTimeoutInMinutesOverride < 5 { + invalidParams.Add(request.NewErrParamMinValue("BuildTimeoutInMinutesOverride", 5)) + } + if s.EncryptionKeyOverride != nil && len(*s.EncryptionKeyOverride) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyOverride", 1)) + } + if s.ImageOverride != nil && len(*s.ImageOverride) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImageOverride", 1)) + } + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) + } + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + } + if s.QueuedTimeoutInMinutesOverride != nil && *s.QueuedTimeoutInMinutesOverride < 5 { + invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutesOverride", 5)) + } + if s.ServiceRoleOverride != nil && len(*s.ServiceRoleOverride) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceRoleOverride", 1)) + } + if s.ArtifactsOverride != nil { + if err := s.ArtifactsOverride.Validate(); err != nil { + invalidParams.AddNested("ArtifactsOverride", err.(request.ErrInvalidParams)) + } + } + if s.BuildBatchConfigOverride != nil { + if err := s.BuildBatchConfigOverride.Validate(); err != nil { + invalidParams.AddNested("BuildBatchConfigOverride", err.(request.ErrInvalidParams)) + } + } + if s.CacheOverride != nil { + if err := s.CacheOverride.Validate(); err != nil { + invalidParams.AddNested("CacheOverride", err.(request.ErrInvalidParams)) + } + } + if s.EnvironmentVariablesOverride != nil { + for i, v := range s.EnvironmentVariablesOverride { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariablesOverride", i), err.(request.ErrInvalidParams)) + } + } + } + if s.GitSubmodulesConfigOverride != nil { + if err := s.GitSubmodulesConfigOverride.Validate(); err != nil { + invalidParams.AddNested("GitSubmodulesConfigOverride", err.(request.ErrInvalidParams)) + } + } + if s.LogsConfigOverride != nil { + if err := s.LogsConfigOverride.Validate(); err != nil { + invalidParams.AddNested("LogsConfigOverride", err.(request.ErrInvalidParams)) + } + } + if s.RegistryCredentialOverride != nil { + if err := s.RegistryCredentialOverride.Validate(); err != nil { + invalidParams.AddNested("RegistryCredentialOverride", err.(request.ErrInvalidParams)) + } + } + if s.SecondaryArtifactsOverride != nil { + for i, v := range s.SecondaryArtifactsOverride { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifactsOverride", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SecondarySourcesOverride != nil { + for i, v := range s.SecondarySourcesOverride { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesOverride", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SecondarySourcesVersionOverride != nil { + for i, v := range s.SecondarySourcesVersionOverride { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesVersionOverride", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SourceAuthOverride != nil { + if err := s.SourceAuthOverride.Validate(); err != nil { + invalidParams.AddNested("SourceAuthOverride", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -8981,204 +12219,206 @@ func (s *S3LogsConfig) Validate() error { return nil } -// SetEncryptionDisabled sets the EncryptionDisabled field's value. -func (s *S3LogsConfig) SetEncryptionDisabled(v bool) *S3LogsConfig { - s.EncryptionDisabled = &v +// SetArtifactsOverride sets the ArtifactsOverride field's value. +func (s *StartBuildBatchInput) SetArtifactsOverride(v *ProjectArtifacts) *StartBuildBatchInput { + s.ArtifactsOverride = v return s } -// SetLocation sets the Location field's value. -func (s *S3LogsConfig) SetLocation(v string) *S3LogsConfig { - s.Location = &v +// SetBuildBatchConfigOverride sets the BuildBatchConfigOverride field's value. +func (s *StartBuildBatchInput) SetBuildBatchConfigOverride(v *ProjectBuildBatchConfig) *StartBuildBatchInput { + s.BuildBatchConfigOverride = v return s } -// SetStatus sets the Status field's value. -func (s *S3LogsConfig) SetStatus(v string) *S3LogsConfig { - s.Status = &v +// SetBuildTimeoutInMinutesOverride sets the BuildTimeoutInMinutesOverride field's value. +func (s *StartBuildBatchInput) SetBuildTimeoutInMinutesOverride(v int64) *StartBuildBatchInput { + s.BuildTimeoutInMinutesOverride = &v return s } -// Information about the S3 bucket where the raw data of a report are exported. -type S3ReportExportConfig struct { - _ struct{} `type:"structure"` +// SetBuildspecOverride sets the BuildspecOverride field's value. +func (s *StartBuildBatchInput) SetBuildspecOverride(v string) *StartBuildBatchInput { + s.BuildspecOverride = &v + return s +} - // The name of the S3 bucket where the raw data of a report are exported. - Bucket *string `locationName:"bucket" min:"1" type:"string"` +// SetCacheOverride sets the CacheOverride field's value. +func (s *StartBuildBatchInput) SetCacheOverride(v *ProjectCache) *StartBuildBatchInput { + s.CacheOverride = v + return s +} - // A boolean value that specifies if the results of a report are encrypted. - EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` +// SetCertificateOverride sets the CertificateOverride field's value. +func (s *StartBuildBatchInput) SetCertificateOverride(v string) *StartBuildBatchInput { + s.CertificateOverride = &v + return s +} - // The encryption key for the report's encrypted raw data. - EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` +// SetComputeTypeOverride sets the ComputeTypeOverride field's value. +func (s *StartBuildBatchInput) SetComputeTypeOverride(v string) *StartBuildBatchInput { + s.ComputeTypeOverride = &v + return s +} - // 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"` +// SetEncryptionKeyOverride sets the EncryptionKeyOverride field's value. +func (s *StartBuildBatchInput) SetEncryptionKeyOverride(v string) *StartBuildBatchInput { + s.EncryptionKeyOverride = &v + return s +} - // The path to the exported report's raw data results. - Path *string `locationName:"path" type:"string"` +// SetEnvironmentTypeOverride sets the EnvironmentTypeOverride field's value. +func (s *StartBuildBatchInput) SetEnvironmentTypeOverride(v string) *StartBuildBatchInput { + s.EnvironmentTypeOverride = &v + return s } -// String returns the string representation -func (s S3ReportExportConfig) String() string { - return awsutil.Prettify(s) +// SetEnvironmentVariablesOverride sets the EnvironmentVariablesOverride field's value. +func (s *StartBuildBatchInput) SetEnvironmentVariablesOverride(v []*EnvironmentVariable) *StartBuildBatchInput { + s.EnvironmentVariablesOverride = v + return s } -// GoString returns the string representation -func (s S3ReportExportConfig) GoString() string { - return s.String() +// SetGitCloneDepthOverride sets the GitCloneDepthOverride field's value. +func (s *StartBuildBatchInput) SetGitCloneDepthOverride(v int64) *StartBuildBatchInput { + s.GitCloneDepthOverride = &v + return s } -// 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)) - } +// SetGitSubmodulesConfigOverride sets the GitSubmodulesConfigOverride field's value. +func (s *StartBuildBatchInput) SetGitSubmodulesConfigOverride(v *GitSubmodulesConfig) *StartBuildBatchInput { + s.GitSubmodulesConfigOverride = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *StartBuildBatchInput) SetIdempotencyToken(v string) *StartBuildBatchInput { + s.IdempotencyToken = &v + return s } -// SetBucket sets the Bucket field's value. -func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig { - s.Bucket = &v +// SetImageOverride sets the ImageOverride field's value. +func (s *StartBuildBatchInput) SetImageOverride(v string) *StartBuildBatchInput { + s.ImageOverride = &v return s } -// SetEncryptionDisabled sets the EncryptionDisabled field's value. -func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig { - s.EncryptionDisabled = &v +// SetImagePullCredentialsTypeOverride sets the ImagePullCredentialsTypeOverride field's value. +func (s *StartBuildBatchInput) SetImagePullCredentialsTypeOverride(v string) *StartBuildBatchInput { + s.ImagePullCredentialsTypeOverride = &v return s } -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig { - s.EncryptionKey = &v +// SetInsecureSslOverride sets the InsecureSslOverride field's value. +func (s *StartBuildBatchInput) SetInsecureSslOverride(v bool) *StartBuildBatchInput { + s.InsecureSslOverride = &v return s } -// SetPackaging sets the Packaging field's value. -func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig { - s.Packaging = &v +// SetLogsConfigOverride sets the LogsConfigOverride field's value. +func (s *StartBuildBatchInput) SetLogsConfigOverride(v *LogsConfig) *StartBuildBatchInput { + s.LogsConfigOverride = v return s } -// SetPath sets the Path field's value. -func (s *S3ReportExportConfig) SetPath(v string) *S3ReportExportConfig { - s.Path = &v +// SetPrivilegedModeOverride sets the PrivilegedModeOverride field's value. +func (s *StartBuildBatchInput) SetPrivilegedModeOverride(v bool) *StartBuildBatchInput { + s.PrivilegedModeOverride = &v return s } -// Information about the authorization settings for AWS CodeBuild to access -// the source code to be built. -// -// This information is for the AWS CodeBuild console's use only. Your code should -// not get or set this information directly. -type SourceAuth struct { - _ struct{} `type:"structure"` +// SetProjectName sets the ProjectName field's value. +func (s *StartBuildBatchInput) SetProjectName(v string) *StartBuildBatchInput { + s.ProjectName = &v + return s +} - // The resource value that applies to the specified authorization type. - Resource *string `locationName:"resource" type:"string"` +// SetQueuedTimeoutInMinutesOverride sets the QueuedTimeoutInMinutesOverride field's value. +func (s *StartBuildBatchInput) SetQueuedTimeoutInMinutesOverride(v int64) *StartBuildBatchInput { + s.QueuedTimeoutInMinutesOverride = &v + return s +} - // - // This data type is deprecated and is no longer accurate or used. - // - // The authorization type to use. The only valid value is OAUTH, which represents - // the OAuth authorization type. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"SourceAuthType"` +// SetRegistryCredentialOverride sets the RegistryCredentialOverride field's value. +func (s *StartBuildBatchInput) SetRegistryCredentialOverride(v *RegistryCredential) *StartBuildBatchInput { + s.RegistryCredentialOverride = v + return s } -// String returns the string representation -func (s SourceAuth) String() string { - return awsutil.Prettify(s) +// SetReportBuildBatchStatusOverride sets the ReportBuildBatchStatusOverride field's value. +func (s *StartBuildBatchInput) SetReportBuildBatchStatusOverride(v bool) *StartBuildBatchInput { + s.ReportBuildBatchStatusOverride = &v + return s } -// GoString returns the string representation -func (s SourceAuth) GoString() string { - return s.String() +// SetSecondaryArtifactsOverride sets the SecondaryArtifactsOverride field's value. +func (s *StartBuildBatchInput) SetSecondaryArtifactsOverride(v []*ProjectArtifacts) *StartBuildBatchInput { + s.SecondaryArtifactsOverride = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *SourceAuth) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SourceAuth"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } +// SetSecondarySourcesOverride sets the SecondarySourcesOverride field's value. +func (s *StartBuildBatchInput) SetSecondarySourcesOverride(v []*ProjectSource) *StartBuildBatchInput { + s.SecondarySourcesOverride = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSecondarySourcesVersionOverride sets the SecondarySourcesVersionOverride field's value. +func (s *StartBuildBatchInput) SetSecondarySourcesVersionOverride(v []*ProjectSourceVersion) *StartBuildBatchInput { + s.SecondarySourcesVersionOverride = v + return s } -// SetResource sets the Resource field's value. -func (s *SourceAuth) SetResource(v string) *SourceAuth { - s.Resource = &v +// SetServiceRoleOverride sets the ServiceRoleOverride field's value. +func (s *StartBuildBatchInput) SetServiceRoleOverride(v string) *StartBuildBatchInput { + s.ServiceRoleOverride = &v return s } -// SetType sets the Type field's value. -func (s *SourceAuth) SetType(v string) *SourceAuth { - s.Type = &v +// SetSourceAuthOverride sets the SourceAuthOverride field's value. +func (s *StartBuildBatchInput) SetSourceAuthOverride(v *SourceAuth) *StartBuildBatchInput { + s.SourceAuthOverride = v return s } -// Information about the credentials for a GitHub, GitHub Enterprise, or Bitbucket -// repository. -type SourceCredentialsInfo struct { - _ struct{} `type:"structure"` +// SetSourceLocationOverride sets the SourceLocationOverride field's value. +func (s *StartBuildBatchInput) SetSourceLocationOverride(v string) *StartBuildBatchInput { + s.SourceLocationOverride = &v + return s +} - // The Amazon Resource Name (ARN) of the token. - Arn *string `locationName:"arn" min:"1" type:"string"` +// SetSourceTypeOverride sets the SourceTypeOverride field's value. +func (s *StartBuildBatchInput) SetSourceTypeOverride(v string) *StartBuildBatchInput { + s.SourceTypeOverride = &v + return s +} - // The type of authentication used by the credentials. Valid options are OAUTH, - // BASIC_AUTH, or PERSONAL_ACCESS_TOKEN. - AuthType *string `locationName:"authType" type:"string" enum:"AuthType"` +// SetSourceVersion sets the SourceVersion field's value. +func (s *StartBuildBatchInput) SetSourceVersion(v string) *StartBuildBatchInput { + s.SourceVersion = &v + return s +} - // The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, - // or BITBUCKET. - ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"` +type StartBuildBatchOutput struct { + _ struct{} `type:"structure"` + + // A BuildBatch object that contains information about the batch build. + BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"` } // String returns the string representation -func (s SourceCredentialsInfo) String() string { +func (s StartBuildBatchOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SourceCredentialsInfo) GoString() string { +func (s StartBuildBatchOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *SourceCredentialsInfo) SetArn(v string) *SourceCredentialsInfo { - s.Arn = &v - return s -} - -// SetAuthType sets the AuthType field's value. -func (s *SourceCredentialsInfo) SetAuthType(v string) *SourceCredentialsInfo { - s.AuthType = &v - return s -} - -// SetServerType sets the ServerType field's value. -func (s *SourceCredentialsInfo) SetServerType(v string) *SourceCredentialsInfo { - s.ServerType = &v +// SetBuildBatch sets the BuildBatch field's value. +func (s *StartBuildBatchOutput) SetBuildBatch(v *BuildBatch) *StartBuildBatchOutput { + s.BuildBatch = v return s } @@ -9189,6 +12429,11 @@ type StartBuildInput struct { // ones already defined in the build project. ArtifactsOverride *ProjectArtifacts `locationName:"artifactsOverride" type:"structure"` + // Contains information that defines how the build project reports the build + // status to the source provider. This option is only used when the source provider + // is GITHUB, GITHUB_ENTERPRISE, or BITBUCKET. + BuildStatusConfigOverride *BuildStatusConfig `locationName:"buildStatusConfigOverride" type:"structure"` + // A buildspec file declaration that overrides, for this build only, the latest // one already defined in the build project. // @@ -9214,6 +12459,10 @@ type StartBuildInput struct { // in the build project. ComputeTypeOverride *string `locationName:"computeTypeOverride" type:"string" enum:"ComputeType"` + // Specifies if session debugging is enabled for this build. For more information, + // see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html). + DebugSessionEnabled *bool `locationName:"debugSessionEnabled" type:"boolean"` + // The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides // the one specified in the build project. The CMK key encrypts the build output // artifacts. @@ -9243,7 +12492,7 @@ type StartBuildInput struct { // A unique, case sensitive identifier you provide to ensure the idempotency // of the StartBuild request. The token is included in the StartBuild request - // and is valid for 12 hours. If you repeat the StartBuild request with the + // and is valid for 5 minutes. If you repeat the StartBuild request with the // same token, but change a parameter, AWS CodeBuild returns a parameter mismatch // error. IdempotencyToken *string `locationName:"idempotencyToken" type:"string"` @@ -9255,12 +12504,14 @@ type StartBuildInput struct { // The type of credentials AWS CodeBuild uses to pull images in your build. // There are two valid values: // - // * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This - // requires that you modify your ECR repository policy to trust AWS CodeBuild's - // service principal. + // CODEBUILD // - // * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's - // service role. + // Specifies that AWS CodeBuild uses its own credentials. This requires that + // you modify your ECR repository policy to trust AWS CodeBuild's service principal. + // + // SERVICE_ROLE + // + // Specifies that AWS CodeBuild uses your build project's service role. // // When using a cross-account or private registry image, you must use SERVICE_ROLE // credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD @@ -9326,25 +12577,33 @@ type StartBuildInput struct { // in the build project. SourceTypeOverride *string `locationName:"sourceTypeOverride" type:"string" enum:"SourceType"` - // 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: + // The version of the build input to be built, for this build only. If not specified, + // the latest version is used. If specified, the contents depends on the source + // provider: // - // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. + // AWS CodeCommit // - // * 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. - // If a pull request ID is specified, it must use the format pr/pull-request-ID - // (for example pr/25). If a branch name is specified, the branch's HEAD - // commit ID is used. If not specified, the default branch's HEAD commit - // ID is used. + // The commit ID, branch, or Git tag to use. // - // * For Bitbucket: the commit ID, branch name, or tag name that corresponds - // to the version of the source code you want to build. If a branch name - // is specified, the branch's HEAD commit ID is used. If not specified, the - // default branch's HEAD commit ID is used. + // GitHub // - // * For Amazon Simple Storage Service (Amazon S3): the version ID of the - // object that represents the build input ZIP file to use. + // The commit ID, pull request ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a pull request ID + // is specified, it must use the format pr/pull-request-ID (for example pr/25). + // If a branch name is specified, the branch's HEAD commit ID is used. If not + // specified, the default branch's HEAD commit ID is used. + // + // Bitbucket + // + // The commit ID, branch name, or tag name that corresponds to the version of + // the source code you want to build. If a branch name is specified, the branch's + // HEAD commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // Amazon Simple Storage Service (Amazon S3) + // + // The version ID of the object that represents the build input ZIP file to + // use. // // If sourceVersion is specified at the project level, then this sourceVersion // (at the build level) takes precedence. @@ -9475,6 +12734,12 @@ func (s *StartBuildInput) SetArtifactsOverride(v *ProjectArtifacts) *StartBuildI return s } +// SetBuildStatusConfigOverride sets the BuildStatusConfigOverride field's value. +func (s *StartBuildInput) SetBuildStatusConfigOverride(v *BuildStatusConfig) *StartBuildInput { + s.BuildStatusConfigOverride = v + return s +} + // SetBuildspecOverride sets the BuildspecOverride field's value. func (s *StartBuildInput) SetBuildspecOverride(v string) *StartBuildInput { s.BuildspecOverride = &v @@ -9499,6 +12764,12 @@ func (s *StartBuildInput) SetComputeTypeOverride(v string) *StartBuildInput { return s } +// SetDebugSessionEnabled sets the DebugSessionEnabled field's value. +func (s *StartBuildInput) SetDebugSessionEnabled(v bool) *StartBuildInput { + s.DebugSessionEnabled = &v + return s +} + // SetEncryptionKeyOverride sets the EncryptionKeyOverride field's value. func (s *StartBuildInput) SetEncryptionKeyOverride(v string) *StartBuildInput { s.EncryptionKeyOverride = &v @@ -9666,6 +12937,70 @@ func (s *StartBuildOutput) SetBuild(v *Build) *StartBuildOutput { return s } +type StopBuildBatchInput struct { + _ struct{} `type:"structure"` + + // The identifier of the batch build to stop. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopBuildBatchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBuildBatchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopBuildBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopBuildBatchInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *StopBuildBatchInput) SetId(v string) *StopBuildBatchInput { + s.Id = &v + return s +} + +type StopBuildBatchOutput struct { + _ struct{} `type:"structure"` + + // Contains information about a batch build. + BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"` +} + +// String returns the string representation +func (s StopBuildBatchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBuildBatchOutput) GoString() string { + return s.String() +} + +// SetBuildBatch sets the BuildBatch field's value. +func (s *StopBuildBatchOutput) SetBuildBatch(v *BuildBatch) *StopBuildBatchOutput { + s.BuildBatch = v + return s +} + type StopBuildInput struct { _ struct{} `type:"structure"` @@ -9956,6 +13291,9 @@ type UpdateProjectInput struct { // build badge. BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` + // Contains configuration information about a batch build project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` + // Stores recently used information so that it can be quickly accessed at a // later time. Cache *ProjectCache `locationName:"cache" type:"structure"` @@ -10092,6 +13430,11 @@ func (s *UpdateProjectInput) Validate() error { invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams)) } } + if s.BuildBatchConfig != nil { + if err := s.BuildBatchConfig.Validate(); err != nil { + invalidParams.AddNested("BuildBatchConfig", err.(request.ErrInvalidParams)) + } + } if s.Cache != nil { if err := s.Cache.Validate(); err != nil { invalidParams.AddNested("Cache", err.(request.ErrInvalidParams)) @@ -10176,6 +13519,12 @@ func (s *UpdateProjectInput) SetBadgeEnabled(v bool) *UpdateProjectInput { return s } +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *UpdateProjectInput) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *UpdateProjectInput { + s.BuildBatchConfig = v + return s +} + // SetCache sets the Cache field's value. func (s *UpdateProjectInput) SetCache(v *ProjectCache) *UpdateProjectInput { s.Cache = v @@ -10416,6 +13765,9 @@ type UpdateWebhookInput struct { // It is recommended that you use filterGroups instead of branchFilter. BranchFilter *string `locationName:"branchFilter" type:"string"` + // Specifies the type of build this webhook will trigger. + BuildType *string `locationName:"buildType" type:"string" enum:"WebhookBuildType"` + // An array of arrays of WebhookFilter objects used to determine if a webhook // event can trigger a build. A filter group must contain at least one EVENT // WebhookFilter. @@ -10464,6 +13816,12 @@ func (s *UpdateWebhookInput) SetBranchFilter(v string) *UpdateWebhookInput { return s } +// SetBuildType sets the BuildType field's value. +func (s *UpdateWebhookInput) SetBuildType(v string) *UpdateWebhookInput { + s.BuildType = &v + return s +} + // SetFilterGroups sets the FilterGroups field's value. func (s *UpdateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *UpdateWebhookInput { s.FilterGroups = v @@ -10574,6 +13932,9 @@ type Webhook struct { // It is recommended that you use filterGroups instead of branchFilter. BranchFilter *string `locationName:"branchFilter" type:"string"` + // Specifies the type of build this webhook will trigger. + BuildType *string `locationName:"buildType" type:"string" enum:"WebhookBuildType"` + // An array of arrays of WebhookFilter objects used to determine which webhooks // are triggered. At least one WebhookFilter in the array must specify EVENT // as its type. @@ -10614,6 +13975,12 @@ func (s *Webhook) SetBranchFilter(v string) *Webhook { return s } +// SetBuildType sets the BuildType field's value. +func (s *Webhook) SetBuildType(v string) *Webhook { + s.BuildType = &v + return s +} + // SetFilterGroups sets the FilterGroups field's value. func (s *Webhook) SetFilterGroups(v [][]*WebhookFilter) *Webhook { s.FilterGroups = v @@ -10667,8 +14034,8 @@ type WebhookFilter struct { // Pattern is a required field Pattern *string `locationName:"pattern" type:"string" required:"true"` - // The type of webhook filter. There are five webhook filter types: EVENT, ACTOR_ACCOUNT_ID, - // HEAD_REF, BASE_REF, and FILE_PATH. + // The type of webhook filter. There are six webhook filter types: EVENT, ACTOR_ACCOUNT_ID, + // HEAD_REF, BASE_REF, FILE_PATH, and COMMIT_MESSAGE. // // EVENT // @@ -10705,7 +14072,18 @@ type WebhookFilter struct { // A webhook triggers a build when the path of a changed file matches the regular // expression pattern. // - // Works with GitHub and GitHub Enterprise push events only. + // Works with GitHub and Bitbucket events push and pull requests events. Also + // works with GitHub Enterprise push events, but does not work with GitHub Enterprise + // pull request events. + // + // COMMIT_MESSAGE + // + // A webhook triggers a build when the head commit message matches the regular + // expression pattern. + // + // Works with GitHub and Bitbucket events push and pull requests events. Also + // works with GitHub Enterprise push events, but does not work with GitHub Enterprise + // pull request events. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"WebhookFilterType"` @@ -10777,6 +14155,29 @@ const ( AuthTypePersonalAccessToken = "PERSONAL_ACCESS_TOKEN" ) +const ( + // BuildBatchPhaseTypeSubmitted is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeSubmitted = "SUBMITTED" + + // BuildBatchPhaseTypeDownloadBatchspec is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeDownloadBatchspec = "DOWNLOAD_BATCHSPEC" + + // BuildBatchPhaseTypeInProgress is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeInProgress = "IN_PROGRESS" + + // BuildBatchPhaseTypeCombineArtifacts is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeCombineArtifacts = "COMBINE_ARTIFACTS" + + // BuildBatchPhaseTypeSucceeded is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeSucceeded = "SUCCEEDED" + + // BuildBatchPhaseTypeFailed is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeFailed = "FAILED" + + // BuildBatchPhaseTypeStopped is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeStopped = "STOPPED" +) + const ( // BuildPhaseTypeSubmitted is a BuildPhaseType enum value BuildPhaseTypeSubmitted = "SUBMITTED" @@ -10865,6 +14266,9 @@ const ( // EnvironmentTypeArmContainer is a EnvironmentType enum value EnvironmentTypeArmContainer = "ARM_CONTAINER" + + // EnvironmentTypeWindowsServer2019Container is a EnvironmentType enum value + EnvironmentTypeWindowsServer2019Container = "WINDOWS_SERVER_2019_CONTAINER" ) const ( @@ -10956,6 +14360,14 @@ const ( ProjectSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME" ) +const ( + // ReportCodeCoverageSortByTypeLineCoveragePercentage is a ReportCodeCoverageSortByType enum value + ReportCodeCoverageSortByTypeLineCoveragePercentage = "LINE_COVERAGE_PERCENTAGE" + + // ReportCodeCoverageSortByTypeFilePath is a ReportCodeCoverageSortByType enum value + ReportCodeCoverageSortByTypeFilePath = "FILE_PATH" +) + const ( // ReportExportConfigTypeS3 is a ReportExportConfigType enum value ReportExportConfigTypeS3 = "S3" @@ -11003,6 +14415,17 @@ const ( const ( // ReportTypeTest is a ReportType enum value ReportTypeTest = "TEST" + + // ReportTypeCodeCoverage is a ReportType enum value + ReportTypeCodeCoverage = "CODE_COVERAGE" +) + +const ( + // RetryBuildBatchTypeRetryAllBuilds is a RetryBuildBatchType enum value + RetryBuildBatchTypeRetryAllBuilds = "RETRY_ALL_BUILDS" + + // RetryBuildBatchTypeRetryFailedBuilds is a RetryBuildBatchType enum value + RetryBuildBatchTypeRetryFailedBuilds = "RETRY_FAILED_BUILDS" ) const ( @@ -11080,6 +14503,14 @@ const ( StatusTypeStopped = "STOPPED" ) +const ( + // WebhookBuildTypeBuild is a WebhookBuildType enum value + WebhookBuildTypeBuild = "BUILD" + + // WebhookBuildTypeBuildBatch is a WebhookBuildType enum value + WebhookBuildTypeBuildBatch = "BUILD_BATCH" +) + const ( // WebhookFilterTypeEvent is a WebhookFilterType enum value WebhookFilterTypeEvent = "EVENT" 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 f767f1baf2d..1d642bb8207 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 @@ -915,8 +915,12 @@ func (c *ConfigService) DeleteOrganizationConfigRuleRequest(input *DeleteOrganiz // DeleteOrganizationConfigRule API operation for AWS Config. // // Deletes the specified organization config rule and all of its evaluation -// results from all member accounts in that organization. Only a master account -// can delete an organization config rule. +// results from all member accounts in that organization. +// +// Only a master account and a delegated administrator account can delete an +// organization config rule. When calling this API with a delegated administrator, +// you must ensure AWS Organizations ListDelegatedAdministrator permissions +// are added. // // AWS Config sets the state of a rule to DELETE_IN_PROGRESS until the deletion // is complete. You cannot update a rule while it is in this state. @@ -1036,7 +1040,11 @@ func (c *ConfigService) DeleteOrganizationConformancePackRequest(input *DeleteOr // // Deletes the specified organization conformance pack and all of the config // rules and remediation actions from all member accounts in that organization. -// Only a master account can delete an organization conformance pack. +// +// Only a master account or a delegated administrator account can delete an +// organization conformance pack. When calling this API with a delegated administrator, +// you must ensure AWS Organizations ListDelegatedAdministrator permissions +// are added. // // AWS Config sets the state of a conformance pack to DELETE_IN_PROGRESS until // the deletion is complete. You cannot update a conformance pack while it is @@ -1343,6 +1351,10 @@ func (c *ConfigService) DeleteRemediationExceptionsRequest(input *DeleteRemediat // // Deletes one or more remediation exceptions mentioned in the resource keys. // +// AWS Config generates a remediation exception when a problem occurs executing +// a remediation action to a specific resource. Remediation exceptions blocks +// auto-remediation until the exception is cleared. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2727,6 +2739,10 @@ func (c *ConfigService) DescribeConformancePackStatusRequest(input *DescribeConf // The specified next token is invalid. Specify the nextToken string that was // returned in the previous response to get the next page of results. // +// * InvalidParameterValueException +// One or more of the specified parameters are invalid. Verify that your parameters +// are valid and try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackStatus func (c *ConfigService) DescribeConformancePackStatus(input *DescribeConformancePackStatusInput) (*DescribeConformancePackStatusOutput, error) { req, out := c.DescribeConformancePackStatusRequest(input) @@ -2813,6 +2829,10 @@ func (c *ConfigService) DescribeConformancePacksRequest(input *DescribeConforman // The specified next token is invalid. Specify the nextToken string that was // returned in the previous response to get the next page of results. // +// * InvalidParameterValueException +// One or more of the specified parameters are invalid. Verify that your parameters +// are valid and try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePacks func (c *ConfigService) DescribeConformancePacks(input *DescribeConformancePacksInput) (*DescribeConformancePacksOutput, error) { req, out := c.DescribeConformancePacksRequest(input) @@ -3047,6 +3067,10 @@ func (c *ConfigService) DescribeOrganizationConfigRuleStatusesRequest(input *Des // // Provides organization config rule deployment status for an organization. // +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. +// // The status is not considered successful until organization config rule is // successfully deployed in all the member accounts with an exception of excluded // accounts. @@ -3056,8 +3080,6 @@ func (c *ConfigService) DescribeOrganizationConfigRuleStatusesRequest(input *Des // rule names. It is only applicable, when you request all the organization // config rules. // -// 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 // the error. @@ -3152,13 +3174,15 @@ func (c *ConfigService) DescribeOrganizationConfigRulesRequest(input *DescribeOr // // Returns a list of organization config rules. // +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. +// // 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 config // rule names. It is only applicable, when you request all the organization // config rules. // -// 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 // the error. @@ -3253,6 +3277,10 @@ func (c *ConfigService) DescribeOrganizationConformancePackStatusesRequest(input // // Provides organization conformance pack deployment status for an organization. // +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. +// // The status is not considered successful until organization conformance pack // is successfully deployed in all the member accounts with an exception of // excluded accounts. @@ -3262,8 +3290,6 @@ func (c *ConfigService) DescribeOrganizationConformancePackStatusesRequest(input // pack names. They are only applicable, when you request all the organization // 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 // the error. @@ -3362,14 +3388,16 @@ func (c *ConfigService) DescribeOrganizationConformancePacksRequest(input *Descr // // Returns a list of organization conformance packs. // +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. +// // 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. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3638,6 +3666,10 @@ func (c *ConfigService) DescribeRemediationExceptionsRequest(input *DescribeReme // of an exception and the time when the exception will be deleted. When you // specify the limit and the next token, you receive a paginated response. // +// AWS Config generates a remediation exception when a problem occurs executing +// a remediation action to a specific resource. Remediation exceptions blocks +// auto-remediation until the exception is cleared. +// // When you specify the limit and the next token, you receive a paginated response. // // Limit and next token are not applicable if you request resources in batch. @@ -5019,7 +5051,9 @@ func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusRequest(input *Ge // Returns detailed status for each member account within an organization for // a given organization config rule. // -// Only a master account can call this API. +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5116,7 +5150,9 @@ func (c *ConfigService) GetOrganizationConformancePackDetailedStatusRequest(inpu // Returns detailed status for each member account within an organization for // a given organization conformance pack. // -// Only a master account can call this API. +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6143,8 +6179,7 @@ func (c *ConfigService) PutConformancePackRequest(input *PutConformancePackInput // // This API creates a service linked role AWSServiceRoleForConfigConforms in // your account. The service linked role is created only when the role does -// not exist in your account. AWS Config verifies the existence of role with -// GetRole action. +// not exist in your account. // // You must specify either the TemplateS3Uri or the TemplateBody parameter, // but not both. If you provide both AWS Config uses the TemplateS3Uri parameter @@ -6481,25 +6516,36 @@ func (c *ConfigService) PutOrganizationConfigRuleRequest(input *PutOrganizationC // PutOrganizationConfigRule API operation for AWS Config. // // Adds or updates organization config rule for your entire organization evaluating -// whether your AWS resources comply with your desired configurations. Only -// a master account can create or update an organization config rule. +// whether your AWS resources comply with your desired configurations. +// +// Only a master account and a delegated administrator can create or update +// an organization config rule. When calling this API with a delegated administrator, +// you must ensure AWS Organizations ListDelegatedAdministrator permissions +// are added. // // 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. +// in the master or delegated administrator account of your organization. The +// service linked role is created only when the role does not exist in the caller +// account. AWS Config verifies the existence of role with GetRole action. +// +// To use this API with delegated administrator, register a delegated administrator +// by calling AWS Organization register-delegated-administrator for config-multiaccountsetup.amazonaws.com. // // You can use this action to create both custom AWS Config rules and AWS managed // Config rules. If you are adding a new custom AWS Config rule, you must first -// create AWS Lambda function in the master account that the rule invokes to -// evaluate your resources. When you use the PutOrganizationConfigRule action -// to add the rule to AWS Config, you must specify the Amazon Resource Name -// (ARN) that AWS Lambda assigns to the function. If you are adding an AWS managed -// Config rule, specify the rule's identifier for the RuleIdentifier key. +// create AWS Lambda function in the master account or a delegated administrator +// that the rule invokes to evaluate your resources. When you use the PutOrganizationConfigRule +// action to add the rule to AWS Config, you must specify the Amazon Resource +// Name (ARN) that AWS Lambda assigns to the function. If you are adding an +// AWS managed Config rule, specify the rule's identifier for the RuleIdentifier +// key. // // The maximum number of organization config rules that AWS Config supports -// is 150. +// is 150 and 3 delegated administrator per organization. +// +// Prerequisite: Ensure you call EnableAllFeatures API to enable all features +// in an organization. // // Specify either OrganizationCustomRuleMetadata or OrganizationManagedRuleMetadata. // @@ -6649,21 +6695,31 @@ func (c *ConfigService) PutOrganizationConformancePackRequest(input *PutOrganiza // // Deploys conformance packs across member accounts in an AWS Organization. // +// Only a master account and a delegated administrator can call this API. When +// calling this API with a delegated administrator, you must ensure AWS Organizations +// ListDelegatedAdministrator permissions are added. +// // 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. +// AWSServiceRoleForConfigMultiAccountSetup in the master or delegated administrator +// account of your organization. The service linked role is created only when +// the role does not exist in the caller account. To use this API with delegated +// administrator, register a delegated administrator by calling AWS Organization +// register-delegate-admin for config-multiaccountsetup.amazonaws.com. +// +// Prerequisite: Ensure you call EnableAllFeatures API to enable all features +// in an organization. // // 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. +// UPDATE_IN_PROGRESS until the conformance 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. +// You can create 6 conformance packs with 25 AWS Config rules in each pack +// and 3 delegated administrator per organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6815,6 +6871,9 @@ func (c *ConfigService) PutRemediationConfigurationsRequest(input *PutRemediatio // you to add a remediation configuration. The target (SSM document) must exist // and have permissions to use the target. // +// If you make backward incompatible changes to the SSM document, you must call +// this again to ensure the remediations can run. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -6914,6 +6973,10 @@ func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExc // for auto-remediation. This API adds a new exception or updates an exisiting // exception for a specific resource with a specific AWS Config rule. // +// AWS Config generates a remediation exception when a problem occurs executing +// a remediation action to a specific resource. Remediation exceptions blocks +// auto-remediation until the exception is cleared. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -6926,6 +6989,23 @@ func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExc // One or more of the specified parameters are invalid. Verify that your parameters // are valid and try again. // +// * 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. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationExceptions func (c *ConfigService) PutRemediationExceptions(input *PutRemediationExceptionsInput) (*PutRemediationExceptionsOutput, error) { req, out := c.PutRemediationExceptionsRequest(input) @@ -7006,6 +7086,9 @@ func (c *ConfigService) PutResourceConfigRequest(input *PutResourceConfigInput) // resource provided in the request. This API does not change or remediate the // configuration of the resource. // +// Write-only schema properites are not recorded as part of the published configuration +// item. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -8489,7 +8572,23 @@ type BaseConfigurationItem struct { // The time when the configuration recording was initiated. ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp"` - // The configuration item status. + // The configuration item status. The valid values are: + // + // * OK – The resource configuration has been updated + // + // * ResourceDiscovered – The resource was newly discovered + // + // * ResourceNotRecorded – The resource was discovered but its configuration + // was not recorded since the recorder excludes the recording of resources + // of this type + // + // * ResourceDeleted – The resource was deleted + // + // * ResourceDeletedNotRecorded – The resource was deleted but its configuration + // was not recorded since the recorder excludes the recording of resources + // of this type + // + // The CIs do not incur any cost. ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"` // An identifier that indicates the ordering of the configuration items of a @@ -9190,6 +9289,8 @@ type ConfigRule struct { // to constrain the resources that can trigger an evaluation for the rule. If // you do not specify a scope, evaluations are triggered when any resource in // the recording group changes. + // + // The scope can be empty. Scope *Scope `type:"structure"` // Provides the rule owner (AWS or customer), the rule identifier, and the notifications @@ -9455,6 +9556,7 @@ type ConfigRuleEvaluationStatus struct { // against the rule. FirstEvaluationStarted *bool `type:"boolean"` + // The time that you last turned off the AWS Config rule. LastDeactivatedTime *time.Time `type:"timestamp"` // The error code that AWS Config returned when the rule last failed. @@ -9691,6 +9793,9 @@ type ConfigurationAggregator struct { // The name of the aggregator. ConfigurationAggregatorName *string `min:"1" type:"string"` + // AWS service that created the configuration aggregator. + CreatedBy *string `min:"1" type:"string"` + // The time stamp when the configuration aggregator was created. CreationTime *time.Time `type:"timestamp"` @@ -9729,6 +9834,12 @@ func (s *ConfigurationAggregator) SetConfigurationAggregatorName(v string) *Conf return s } +// SetCreatedBy sets the CreatedBy field's value. +func (s *ConfigurationAggregator) SetCreatedBy(v string) *ConfigurationAggregator { + s.CreatedBy = &v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *ConfigurationAggregator) SetCreationTime(v time.Time) *ConfigurationAggregator { s.CreationTime = &v @@ -9775,7 +9886,23 @@ type ConfigurationItem struct { // that are associated with the same resource. ConfigurationItemMD5Hash *string `locationName:"configurationItemMD5Hash" type:"string"` - // The configuration item status. + // The configuration item status. The valid values are: + // + // * OK – The resource configuration has been updated + // + // * ResourceDiscovered – The resource was newly discovered + // + // * ResourceNotRecorded – The resource was discovered but its configuration + // was not recorded since the recorder excludes the recording of resources + // of this type + // + // * ResourceDeleted – The resource was deleted + // + // * ResourceDeletedNotRecorded – The resource was deleted but its configuration + // was not recorded since the recorder excludes the recording of resources + // of this type + // + // The CIs do not incur any cost. ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"` // An identifier that indicates the ordering of the configuration items of a @@ -10397,8 +10524,8 @@ func (s *ConformancePackEvaluationResult) SetResultRecordedTime(v time.Time) *Co } // Input parameters in the form of key-value pairs for the conformance pack, -// both of which you define. Keys can have a maximum character length of 128 -// characters, and values can have a maximum length of 256 characters. +// both of which you define. Keys can have a maximum character length of 255 +// characters, and values can have a maximum length of 4096 characters. type ConformancePackInputParameter struct { _ struct{} `type:"structure"` @@ -21000,8 +21127,8 @@ type RemediationConfiguration struct { // select a number, the default is 5. // // For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptsSeconds - // as 50 seconds, AWS Config throws an exception after the 5th failed attempt - // within 50 seconds. + // as 50 seconds, AWS Config will put a RemediationException on your behalf + // for the failing resource after the 5th failed attempt within 50 seconds. MaximumAutomaticAttempts *int64 `min:"1" type:"integer"` // An object of the RemediationParameterValue. @@ -21029,6 +21156,9 @@ type RemediationConfiguration struct { TargetType *string `type:"string" required:"true" enum:"RemediationTargetType"` // Version of the target. For example, version of the SSM document. + // + // If you make backward incompatible changes to the SSM document, you must call + // PutRemediationConfiguration API again to ensure the remediations can run. TargetVersion *string `type:"string"` } @@ -22152,6 +22282,8 @@ type SelectAggregateResourceConfigInput struct { // The maximum number of query results returned on each page. Limit *int64 `type:"integer"` + // The maximum number of query results returned on each page. AWS Config also + // allows the Limit request parameter. MaxResults *int64 `type:"integer"` // The nextToken string returned in a previous request that you use to request @@ -23867,6 +23999,15 @@ const ( // ResourceTypeAwsQldbLedger is a ResourceType enum value ResourceTypeAwsQldbLedger = "AWS::QLDB::Ledger" + + // ResourceTypeAwsSecretsManagerSecret is a ResourceType enum value + ResourceTypeAwsSecretsManagerSecret = "AWS::SecretsManager::Secret" + + // ResourceTypeAwsSnsTopic is a ResourceType enum value + ResourceTypeAwsSnsTopic = "AWS::SNS::Topic" + + // ResourceTypeAwsSsmFileData is a ResourceType enum value + ResourceTypeAwsSsmFileData = "AWS::SSM::FileData" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go index e7dc80655ec..6a926afa588 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go @@ -176,6 +176,97 @@ func (c *DatabaseMigrationService) ApplyPendingMaintenanceActionWithContext(ctx return out, req.Send() } +const opCancelReplicationTaskAssessmentRun = "CancelReplicationTaskAssessmentRun" + +// CancelReplicationTaskAssessmentRunRequest generates a "aws/request.Request" representing the +// client's request for the CancelReplicationTaskAssessmentRun operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CancelReplicationTaskAssessmentRun for more information on using the CancelReplicationTaskAssessmentRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CancelReplicationTaskAssessmentRunRequest method. +// req, resp := client.CancelReplicationTaskAssessmentRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CancelReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) CancelReplicationTaskAssessmentRunRequest(input *CancelReplicationTaskAssessmentRunInput) (req *request.Request, output *CancelReplicationTaskAssessmentRunOutput) { + op := &request.Operation{ + Name: opCancelReplicationTaskAssessmentRun, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CancelReplicationTaskAssessmentRunInput{} + } + + output = &CancelReplicationTaskAssessmentRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// CancelReplicationTaskAssessmentRun API operation for AWS Database Migration Service. +// +// Cancels a single premigration assessment run. +// +// This operation prevents any individual assessments from running if they haven't +// started running. It also attempts to cancel any individual assessments that +// are currently running. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Database Migration Service's +// API operation CancelReplicationTaskAssessmentRun for usage and error information. +// +// Returned Error Types: +// * AccessDeniedFault +// AWS DMS was denied access to the endpoint. Check that the role is correctly +// configured. +// +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidResourceStateFault +// The resource is in a state that prevents it from being used for database +// migration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CancelReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) CancelReplicationTaskAssessmentRun(input *CancelReplicationTaskAssessmentRunInput) (*CancelReplicationTaskAssessmentRunOutput, error) { + req, out := c.CancelReplicationTaskAssessmentRunRequest(input) + return out, req.Send() +} + +// CancelReplicationTaskAssessmentRunWithContext is the same as CancelReplicationTaskAssessmentRun with the addition of +// the ability to pass a context and additional request options. +// +// See CancelReplicationTaskAssessmentRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) CancelReplicationTaskAssessmentRunWithContext(ctx aws.Context, input *CancelReplicationTaskAssessmentRunInput, opts ...request.Option) (*CancelReplicationTaskAssessmentRunOutput, error) { + req, out := c.CancelReplicationTaskAssessmentRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateEndpoint = "CreateEndpoint" // CreateEndpointRequest generates a "aws/request.Request" representing the @@ -1295,6 +1386,97 @@ func (c *DatabaseMigrationService) DeleteReplicationTaskWithContext(ctx aws.Cont return out, req.Send() } +const opDeleteReplicationTaskAssessmentRun = "DeleteReplicationTaskAssessmentRun" + +// DeleteReplicationTaskAssessmentRunRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReplicationTaskAssessmentRun operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteReplicationTaskAssessmentRun for more information on using the DeleteReplicationTaskAssessmentRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteReplicationTaskAssessmentRunRequest method. +// req, resp := client.DeleteReplicationTaskAssessmentRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) DeleteReplicationTaskAssessmentRunRequest(input *DeleteReplicationTaskAssessmentRunInput) (req *request.Request, output *DeleteReplicationTaskAssessmentRunOutput) { + op := &request.Operation{ + Name: opDeleteReplicationTaskAssessmentRun, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteReplicationTaskAssessmentRunInput{} + } + + output = &DeleteReplicationTaskAssessmentRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteReplicationTaskAssessmentRun API operation for AWS Database Migration Service. +// +// Deletes the record of a single premigration assessment run. +// +// This operation removes all metadata that AWS DMS maintains about this assessment +// run. However, the operation leaves untouched all information about this assessment +// run that is stored in your Amazon S3 bucket. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Database Migration Service's +// API operation DeleteReplicationTaskAssessmentRun for usage and error information. +// +// Returned Error Types: +// * AccessDeniedFault +// AWS DMS was denied access to the endpoint. Check that the role is correctly +// configured. +// +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidResourceStateFault +// The resource is in a state that prevents it from being used for database +// migration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) DeleteReplicationTaskAssessmentRun(input *DeleteReplicationTaskAssessmentRunInput) (*DeleteReplicationTaskAssessmentRunOutput, error) { + req, out := c.DeleteReplicationTaskAssessmentRunRequest(input) + return out, req.Send() +} + +// DeleteReplicationTaskAssessmentRunWithContext is the same as DeleteReplicationTaskAssessmentRun with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteReplicationTaskAssessmentRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) DeleteReplicationTaskAssessmentRunWithContext(ctx aws.Context, input *DeleteReplicationTaskAssessmentRunInput, opts ...request.Option) (*DeleteReplicationTaskAssessmentRunOutput, error) { + req, out := c.DeleteReplicationTaskAssessmentRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeAccountAttributes = "DescribeAccountAttributes" // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the @@ -1377,6 +1559,171 @@ func (c *DatabaseMigrationService) DescribeAccountAttributesWithContext(ctx aws. return out, req.Send() } +const opDescribeApplicableIndividualAssessments = "DescribeApplicableIndividualAssessments" + +// DescribeApplicableIndividualAssessmentsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeApplicableIndividualAssessments operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeApplicableIndividualAssessments for more information on using the DescribeApplicableIndividualAssessments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeApplicableIndividualAssessmentsRequest method. +// req, resp := client.DescribeApplicableIndividualAssessmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeApplicableIndividualAssessments +func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsRequest(input *DescribeApplicableIndividualAssessmentsInput) (req *request.Request, output *DescribeApplicableIndividualAssessmentsOutput) { + op := &request.Operation{ + Name: opDescribeApplicableIndividualAssessments, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeApplicableIndividualAssessmentsInput{} + } + + output = &DescribeApplicableIndividualAssessmentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeApplicableIndividualAssessments API operation for AWS Database Migration Service. +// +// Provides a list of individual assessments that you can specify for a new +// premigration assessment run, given one or more parameters. +// +// If you specify an existing migration task, this operation provides the default +// individual assessments you can specify for that task. Otherwise, the specified +// parameters model elements of a possible migration task on which to base a +// premigration assessment run. +// +// To use these migration task modeling parameters, you must specify an existing +// replication instance, a source database engine, a target database engine, +// and a migration type. This combination of parameters potentially limits the +// default individual assessments available for an assessment run created for +// a corresponding migration task. +// +// If you specify no parameters, this operation provides a list of all possible +// individual assessments that you can specify for an assessment run. If you +// specify any one of the task modeling parameters, you must specify all of +// them or the operation cannot provide a list of individual assessments. The +// only parameter that you can specify alone is for an existing migration task. +// The specified task definition then determines the default list of individual +// assessments that you can specify in an assessment run for the task. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Database Migration Service's +// API operation DescribeApplicableIndividualAssessments for usage and error information. +// +// Returned Error Types: +// * AccessDeniedFault +// AWS DMS was denied access to the endpoint. Check that the role is correctly +// configured. +// +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidResourceStateFault +// The resource is in a state that prevents it from being used for database +// migration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeApplicableIndividualAssessments +func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessments(input *DescribeApplicableIndividualAssessmentsInput) (*DescribeApplicableIndividualAssessmentsOutput, error) { + req, out := c.DescribeApplicableIndividualAssessmentsRequest(input) + return out, req.Send() +} + +// DescribeApplicableIndividualAssessmentsWithContext is the same as DescribeApplicableIndividualAssessments with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeApplicableIndividualAssessments for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsWithContext(ctx aws.Context, input *DescribeApplicableIndividualAssessmentsInput, opts ...request.Option) (*DescribeApplicableIndividualAssessmentsOutput, error) { + req, out := c.DescribeApplicableIndividualAssessmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeApplicableIndividualAssessmentsPages iterates over the pages of a DescribeApplicableIndividualAssessments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeApplicableIndividualAssessments 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 DescribeApplicableIndividualAssessments operation. +// pageNum := 0 +// err := client.DescribeApplicableIndividualAssessmentsPages(params, +// func(page *databasemigrationservice.DescribeApplicableIndividualAssessmentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsPages(input *DescribeApplicableIndividualAssessmentsInput, fn func(*DescribeApplicableIndividualAssessmentsOutput, bool) bool) error { + return c.DescribeApplicableIndividualAssessmentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeApplicableIndividualAssessmentsPagesWithContext same as DescribeApplicableIndividualAssessmentsPages 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 *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsPagesWithContext(ctx aws.Context, input *DescribeApplicableIndividualAssessmentsInput, fn func(*DescribeApplicableIndividualAssessmentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeApplicableIndividualAssessmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeApplicableIndividualAssessmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeApplicableIndividualAssessmentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeCertificates = "DescribeCertificates" // DescribeCertificatesRequest generates a "aws/request.Request" representing the @@ -3182,32 +3529,316 @@ func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentResultsPages return p.Err() } -const opDescribeReplicationTasks = "DescribeReplicationTasks" +const opDescribeReplicationTaskAssessmentRuns = "DescribeReplicationTaskAssessmentRuns" -// DescribeReplicationTasksRequest generates a "aws/request.Request" representing the -// client's request for the DescribeReplicationTasks operation. The "output" return +// DescribeReplicationTaskAssessmentRunsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReplicationTaskAssessmentRuns operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeReplicationTasks for more information on using the DescribeReplicationTasks +// See DescribeReplicationTaskAssessmentRuns for more information on using the DescribeReplicationTaskAssessmentRuns // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeReplicationTasksRequest method. -// req, resp := client.DescribeReplicationTasksRequest(params) +// // Example sending a request using the DescribeReplicationTaskAssessmentRunsRequest method. +// req, resp := client.DescribeReplicationTaskAssessmentRunsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTasks +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentRuns +func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsRequest(input *DescribeReplicationTaskAssessmentRunsInput) (req *request.Request, output *DescribeReplicationTaskAssessmentRunsOutput) { + op := &request.Operation{ + Name: opDescribeReplicationTaskAssessmentRuns, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeReplicationTaskAssessmentRunsInput{} + } + + output = &DescribeReplicationTaskAssessmentRunsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReplicationTaskAssessmentRuns API operation for AWS Database Migration Service. +// +// Returns a paginated list of premigration assessment runs based on filter +// settings. +// +// These filter settings can specify a combination of premigration assessment +// runs, migration tasks, replication instances, and assessment run status values. +// +// This operation doesn't return information about individual assessments. For +// this information, see the DescribeReplicationTaskIndividualAssessments 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 Database Migration Service's +// API operation DescribeReplicationTaskAssessmentRuns for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundFault +// The resource could not be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentRuns +func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRuns(input *DescribeReplicationTaskAssessmentRunsInput) (*DescribeReplicationTaskAssessmentRunsOutput, error) { + req, out := c.DescribeReplicationTaskAssessmentRunsRequest(input) + return out, req.Send() +} + +// DescribeReplicationTaskAssessmentRunsWithContext is the same as DescribeReplicationTaskAssessmentRuns with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReplicationTaskAssessmentRuns for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsWithContext(ctx aws.Context, input *DescribeReplicationTaskAssessmentRunsInput, opts ...request.Option) (*DescribeReplicationTaskAssessmentRunsOutput, error) { + req, out := c.DescribeReplicationTaskAssessmentRunsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeReplicationTaskAssessmentRunsPages iterates over the pages of a DescribeReplicationTaskAssessmentRuns operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReplicationTaskAssessmentRuns 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 DescribeReplicationTaskAssessmentRuns operation. +// pageNum := 0 +// err := client.DescribeReplicationTaskAssessmentRunsPages(params, +// func(page *databasemigrationservice.DescribeReplicationTaskAssessmentRunsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsPages(input *DescribeReplicationTaskAssessmentRunsInput, fn func(*DescribeReplicationTaskAssessmentRunsOutput, bool) bool) error { + return c.DescribeReplicationTaskAssessmentRunsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeReplicationTaskAssessmentRunsPagesWithContext same as DescribeReplicationTaskAssessmentRunsPages 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 *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsPagesWithContext(ctx aws.Context, input *DescribeReplicationTaskAssessmentRunsInput, fn func(*DescribeReplicationTaskAssessmentRunsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeReplicationTaskAssessmentRunsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeReplicationTaskAssessmentRunsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeReplicationTaskAssessmentRunsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeReplicationTaskIndividualAssessments = "DescribeReplicationTaskIndividualAssessments" + +// DescribeReplicationTaskIndividualAssessmentsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReplicationTaskIndividualAssessments operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeReplicationTaskIndividualAssessments for more information on using the DescribeReplicationTaskIndividualAssessments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeReplicationTaskIndividualAssessmentsRequest method. +// req, resp := client.DescribeReplicationTaskIndividualAssessmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskIndividualAssessments +func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsRequest(input *DescribeReplicationTaskIndividualAssessmentsInput) (req *request.Request, output *DescribeReplicationTaskIndividualAssessmentsOutput) { + op := &request.Operation{ + Name: opDescribeReplicationTaskIndividualAssessments, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeReplicationTaskIndividualAssessmentsInput{} + } + + output = &DescribeReplicationTaskIndividualAssessmentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReplicationTaskIndividualAssessments API operation for AWS Database Migration Service. +// +// Returns a paginated list of individual assessments based on filter settings. +// +// These filter settings can specify a combination of premigration assessment +// runs, migration tasks, and assessment status values. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Database Migration Service's +// API operation DescribeReplicationTaskIndividualAssessments for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundFault +// The resource could not be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskIndividualAssessments +func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessments(input *DescribeReplicationTaskIndividualAssessmentsInput) (*DescribeReplicationTaskIndividualAssessmentsOutput, error) { + req, out := c.DescribeReplicationTaskIndividualAssessmentsRequest(input) + return out, req.Send() +} + +// DescribeReplicationTaskIndividualAssessmentsWithContext is the same as DescribeReplicationTaskIndividualAssessments with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReplicationTaskIndividualAssessments for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsWithContext(ctx aws.Context, input *DescribeReplicationTaskIndividualAssessmentsInput, opts ...request.Option) (*DescribeReplicationTaskIndividualAssessmentsOutput, error) { + req, out := c.DescribeReplicationTaskIndividualAssessmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeReplicationTaskIndividualAssessmentsPages iterates over the pages of a DescribeReplicationTaskIndividualAssessments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReplicationTaskIndividualAssessments 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 DescribeReplicationTaskIndividualAssessments operation. +// pageNum := 0 +// err := client.DescribeReplicationTaskIndividualAssessmentsPages(params, +// func(page *databasemigrationservice.DescribeReplicationTaskIndividualAssessmentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsPages(input *DescribeReplicationTaskIndividualAssessmentsInput, fn func(*DescribeReplicationTaskIndividualAssessmentsOutput, bool) bool) error { + return c.DescribeReplicationTaskIndividualAssessmentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeReplicationTaskIndividualAssessmentsPagesWithContext same as DescribeReplicationTaskIndividualAssessmentsPages 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 *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsPagesWithContext(ctx aws.Context, input *DescribeReplicationTaskIndividualAssessmentsInput, fn func(*DescribeReplicationTaskIndividualAssessmentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeReplicationTaskIndividualAssessmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeReplicationTaskIndividualAssessmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeReplicationTaskIndividualAssessmentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeReplicationTasks = "DescribeReplicationTasks" + +// DescribeReplicationTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReplicationTasks operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeReplicationTasks for more information on using the DescribeReplicationTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeReplicationTasksRequest method. +// req, resp := client.DescribeReplicationTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTasks func (c *DatabaseMigrationService) DescribeReplicationTasksRequest(input *DescribeReplicationTasksInput) (req *request.Request, output *DescribeReplicationTasksOutput) { op := &request.Operation{ Name: opDescribeReplicationTasks, @@ -4776,60 +5407,72 @@ func (c *DatabaseMigrationService) StartReplicationTaskAssessmentWithContext(ctx return out, req.Send() } -const opStopReplicationTask = "StopReplicationTask" +const opStartReplicationTaskAssessmentRun = "StartReplicationTaskAssessmentRun" -// StopReplicationTaskRequest generates a "aws/request.Request" representing the -// client's request for the StopReplicationTask operation. The "output" return +// StartReplicationTaskAssessmentRunRequest generates a "aws/request.Request" representing the +// client's request for the StartReplicationTaskAssessmentRun operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopReplicationTask for more information on using the StopReplicationTask +// See StartReplicationTaskAssessmentRun for more information on using the StartReplicationTaskAssessmentRun // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StopReplicationTaskRequest method. -// req, resp := client.StopReplicationTaskRequest(params) +// // Example sending a request using the StartReplicationTaskAssessmentRunRequest method. +// req, resp := client.StartReplicationTaskAssessmentRunRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask -func (c *DatabaseMigrationService) StopReplicationTaskRequest(input *StopReplicationTaskInput) (req *request.Request, output *StopReplicationTaskOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRunRequest(input *StartReplicationTaskAssessmentRunInput) (req *request.Request, output *StartReplicationTaskAssessmentRunOutput) { op := &request.Operation{ - Name: opStopReplicationTask, + Name: opStartReplicationTaskAssessmentRun, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopReplicationTaskInput{} + input = &StartReplicationTaskAssessmentRunInput{} } - output = &StopReplicationTaskOutput{} + output = &StartReplicationTaskAssessmentRunOutput{} req = c.newRequest(op, input, output) return } -// StopReplicationTask API operation for AWS Database Migration Service. +// StartReplicationTaskAssessmentRun API operation for AWS Database Migration Service. // -// Stops the replication task. +// Starts a new premigration assessment run for one or more individual assessments +// of a migration task. +// +// The assessments that you can specify depend on the source and target database +// engine and the migration type defined for the given task. To run this operation, +// your migration task must already be created. After you run this operation, +// you can review the status of each individual assessment. You can also run +// the migration task manually after the assessment run and its individual assessments +// complete. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Database Migration Service's -// API operation StopReplicationTask for usage and error information. +// API operation StartReplicationTaskAssessmentRun for usage and error information. // // Returned Error Types: +// * AccessDeniedFault +// AWS DMS was denied access to the endpoint. Check that the role is correctly +// configured. +// // * ResourceNotFoundFault // The resource could not be found. // @@ -4837,22 +5480,134 @@ func (c *DatabaseMigrationService) StopReplicationTaskRequest(input *StopReplica // The resource is in a state that prevents it from being used for database // migration. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask -func (c *DatabaseMigrationService) StopReplicationTask(input *StopReplicationTaskInput) (*StopReplicationTaskOutput, error) { - req, out := c.StopReplicationTaskRequest(input) - return out, req.Send() -} - -// StopReplicationTaskWithContext is the same as StopReplicationTask with the addition of -// the ability to pass a context and additional request options. +// * KMSAccessDeniedFault +// The ciphertext references a key that doesn't exist or that the DMS account +// doesn't have access to. // -// See StopReplicationTask for details on how to use this API operation. +// * KMSDisabledFault +// The specified master key (CMK) isn't enabled. // -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *DatabaseMigrationService) StopReplicationTaskWithContext(ctx aws.Context, input *StopReplicationTaskInput, opts ...request.Option) (*StopReplicationTaskOutput, error) { +// * KMSFault +// An AWS Key Management Service (AWS KMS) error is preventing access to AWS +// KMS. +// +// * KMSInvalidStateFault +// The state of the specified AWS KMS resource isn't valid for this request. +// +// * KMSNotFoundFault +// The specified AWS KMS entity or resource can't be found. +// +// * KMSKeyNotAccessibleFault +// AWS DMS cannot access the AWS KMS key. +// +// * S3AccessDeniedFault +// Insufficient privileges are preventing access to an Amazon S3 object. +// +// * S3ResourceNotFoundFault +// A specified Amazon S3 bucket, bucket folder, or other object can't be found. +// +// * ResourceAlreadyExistsFault +// The resource you are attempting to create already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRun(input *StartReplicationTaskAssessmentRunInput) (*StartReplicationTaskAssessmentRunOutput, error) { + req, out := c.StartReplicationTaskAssessmentRunRequest(input) + return out, req.Send() +} + +// StartReplicationTaskAssessmentRunWithContext is the same as StartReplicationTaskAssessmentRun with the addition of +// the ability to pass a context and additional request options. +// +// See StartReplicationTaskAssessmentRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRunWithContext(ctx aws.Context, input *StartReplicationTaskAssessmentRunInput, opts ...request.Option) (*StartReplicationTaskAssessmentRunOutput, error) { + req, out := c.StartReplicationTaskAssessmentRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopReplicationTask = "StopReplicationTask" + +// StopReplicationTaskRequest generates a "aws/request.Request" representing the +// client's request for the StopReplicationTask operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopReplicationTask for more information on using the StopReplicationTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopReplicationTaskRequest method. +// req, resp := client.StopReplicationTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask +func (c *DatabaseMigrationService) StopReplicationTaskRequest(input *StopReplicationTaskInput) (req *request.Request, output *StopReplicationTaskOutput) { + op := &request.Operation{ + Name: opStopReplicationTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopReplicationTaskInput{} + } + + output = &StopReplicationTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopReplicationTask API operation for AWS Database Migration Service. +// +// Stops the replication task. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Database Migration Service's +// API operation StopReplicationTask for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidResourceStateFault +// The resource is in a state that prevents it from being used for database +// migration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask +func (c *DatabaseMigrationService) StopReplicationTask(input *StopReplicationTaskInput) (*StopReplicationTaskOutput, error) { + req, out := c.StopReplicationTaskRequest(input) + return out, req.Send() +} + +// StopReplicationTaskWithContext is the same as StopReplicationTask with the addition of +// the ability to pass a context and additional request options. +// +// See StopReplicationTask for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) StopReplicationTaskWithContext(ctx aws.Context, input *StopReplicationTaskInput, opts ...request.Option) (*StopReplicationTaskOutput, error) { req, out := c.StopReplicationTaskRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) @@ -5244,6 +5999,67 @@ func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { return s } +type CancelReplicationTaskAssessmentRunInput struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN) of the premigration assessment run to be canceled. + // + // ReplicationTaskAssessmentRunArn is a required field + ReplicationTaskAssessmentRunArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelReplicationTaskAssessmentRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelReplicationTaskAssessmentRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelReplicationTaskAssessmentRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelReplicationTaskAssessmentRunInput"} + if s.ReplicationTaskAssessmentRunArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationTaskAssessmentRunArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value. +func (s *CancelReplicationTaskAssessmentRunInput) SetReplicationTaskAssessmentRunArn(v string) *CancelReplicationTaskAssessmentRunInput { + s.ReplicationTaskAssessmentRunArn = &v + return s +} + +type CancelReplicationTaskAssessmentRunOutput struct { + _ struct{} `type:"structure"` + + // The ReplicationTaskAssessmentRun object for the canceled assessment run. + ReplicationTaskAssessmentRun *ReplicationTaskAssessmentRun `type:"structure"` +} + +// String returns the string representation +func (s CancelReplicationTaskAssessmentRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelReplicationTaskAssessmentRunOutput) GoString() string { + return s.String() +} + +// SetReplicationTaskAssessmentRun sets the ReplicationTaskAssessmentRun field's value. +func (s *CancelReplicationTaskAssessmentRunOutput) SetReplicationTaskAssessmentRun(v *ReplicationTaskAssessmentRun) *CancelReplicationTaskAssessmentRunOutput { + s.ReplicationTaskAssessmentRun = v + return s +} + // The SSL certificate that can be used to encrypt connections between the endpoints // and the replication instance. type Certificate struct { @@ -5506,6 +6322,12 @@ type CreateEndpointInput struct { // in the AWS Database Migration Service User Guide. ExtraConnectionAttributes *string `type:"string"` + // Settings in JSON format for the source IBM Db2 LUW endpoint. For information + // about other available settings, see Extra connection attributes when using + // Db2 LUW as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + IBMDb2Settings *IBMDb2Settings `type:"structure"` + // Settings in JSON format for the target Apache Kafka endpoint. For more information // about the available settings, see Using Apache Kafka as a Target for AWS // Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html) @@ -5528,24 +6350,56 @@ type CreateEndpointInput struct { // account has a different default encryption key for each AWS Region. KmsKeyId *string `type:"string"` + // Settings in JSON format for the source and target Microsoft SQL Server endpoint. + // For information about other available settings, see Extra connection attributes + // when using SQL Server as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.ConnectionAttrib) + // and Extra connection attributes when using SQL Server as a target for AWS + // DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + MicrosoftSQLServerSettings *MicrosoftSQLServerSettings `type:"structure"` + // Settings in JSON format for the source MongoDB endpoint. For more information // about the available settings, see Using MongoDB as a Target for AWS Database // Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration) // in the AWS Database Migration Service User Guide. MongoDbSettings *MongoDbSettings `type:"structure"` + // Settings in JSON format for the source and target MySQL endpoint. For information + // about other available settings, see Extra connection attributes when using + // MySQL as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.ConnectionAttrib) + // and Extra connection attributes when using a MySQL-compatible database as + // a target for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + MySQLSettings *MySQLSettings `type:"structure"` + // Settings in JSON format for the target Amazon Neptune endpoint. For more // information about the available settings, see Specifying Endpoint Settings // for Amazon Neptune as a Target (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) // in the AWS Database Migration Service User Guide. NeptuneSettings *NeptuneSettings `type:"structure"` + // Settings in JSON format for the source and target Oracle endpoint. For information + // about other available settings, see Extra connection attributes when using + // Oracle as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.ConnectionAttrib) + // and Extra connection attributes when using Oracle as a target for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + OracleSettings *OracleSettings `type:"structure"` + // The password to be used to log in to the endpoint database. Password *string `type:"string" sensitive:"true"` // The port used by the endpoint database. Port *int64 `type:"integer"` + // Settings in JSON format for the source and target PostgreSQL endpoint. For + // information about other available settings, see Extra connection attributes + // when using PostgreSQL as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.ConnectionAttrib) + // and Extra connection attributes when using PostgreSQL as a target for AWS + // DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + PostgreSQLSettings *PostgreSQLSettings `type:"structure"` + // Provides information that defines an Amazon Redshift endpoint. RedshiftSettings *RedshiftSettings `type:"structure"` @@ -5566,6 +6420,14 @@ type CreateEndpointInput struct { // is none SslMode *string `type:"string" enum:"DmsSslModeValue"` + // Settings in JSON format for the source and target SAP ASE endpoint. For information + // about other available settings, see Extra connection attributes when using + // SAP ASE as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.ConnectionAttrib) + // and Extra connection attributes when using SAP ASE as a target for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + SybaseSettings *SybaseSettings `type:"structure"` + // One or more tags to be assigned to the endpoint. Tags []*Tag `type:"list"` @@ -5677,6 +6539,12 @@ func (s *CreateEndpointInput) SetExtraConnectionAttributes(v string) *CreateEndp return s } +// SetIBMDb2Settings sets the IBMDb2Settings field's value. +func (s *CreateEndpointInput) SetIBMDb2Settings(v *IBMDb2Settings) *CreateEndpointInput { + s.IBMDb2Settings = v + return s +} + // SetKafkaSettings sets the KafkaSettings field's value. func (s *CreateEndpointInput) SetKafkaSettings(v *KafkaSettings) *CreateEndpointInput { s.KafkaSettings = v @@ -5695,18 +6563,36 @@ func (s *CreateEndpointInput) SetKmsKeyId(v string) *CreateEndpointInput { return s } +// SetMicrosoftSQLServerSettings sets the MicrosoftSQLServerSettings field's value. +func (s *CreateEndpointInput) SetMicrosoftSQLServerSettings(v *MicrosoftSQLServerSettings) *CreateEndpointInput { + s.MicrosoftSQLServerSettings = v + return s +} + // SetMongoDbSettings sets the MongoDbSettings field's value. func (s *CreateEndpointInput) SetMongoDbSettings(v *MongoDbSettings) *CreateEndpointInput { s.MongoDbSettings = v return s } +// SetMySQLSettings sets the MySQLSettings field's value. +func (s *CreateEndpointInput) SetMySQLSettings(v *MySQLSettings) *CreateEndpointInput { + s.MySQLSettings = v + return s +} + // SetNeptuneSettings sets the NeptuneSettings field's value. func (s *CreateEndpointInput) SetNeptuneSettings(v *NeptuneSettings) *CreateEndpointInput { s.NeptuneSettings = v return s } +// SetOracleSettings sets the OracleSettings field's value. +func (s *CreateEndpointInput) SetOracleSettings(v *OracleSettings) *CreateEndpointInput { + s.OracleSettings = v + return s +} + // SetPassword sets the Password field's value. func (s *CreateEndpointInput) SetPassword(v string) *CreateEndpointInput { s.Password = &v @@ -5719,6 +6605,12 @@ func (s *CreateEndpointInput) SetPort(v int64) *CreateEndpointInput { return s } +// SetPostgreSQLSettings sets the PostgreSQLSettings field's value. +func (s *CreateEndpointInput) SetPostgreSQLSettings(v *PostgreSQLSettings) *CreateEndpointInput { + s.PostgreSQLSettings = v + return s +} + // SetRedshiftSettings sets the RedshiftSettings field's value. func (s *CreateEndpointInput) SetRedshiftSettings(v *RedshiftSettings) *CreateEndpointInput { s.RedshiftSettings = v @@ -5749,6 +6641,12 @@ func (s *CreateEndpointInput) SetSslMode(v string) *CreateEndpointInput { return s } +// SetSybaseSettings sets the SybaseSettings field's value. +func (s *CreateEndpointInput) SetSybaseSettings(v *SybaseSettings) *CreateEndpointInput { + s.SybaseSettings = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateEndpointInput) SetTags(v []*Tag) *CreateEndpointInput { s.Tags = v @@ -6856,6 +7754,67 @@ func (s DeleteReplicationSubnetGroupOutput) GoString() string { return s.String() } +type DeleteReplicationTaskAssessmentRunInput struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN) of the premigration assessment run to be deleted. + // + // ReplicationTaskAssessmentRunArn is a required field + ReplicationTaskAssessmentRunArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReplicationTaskAssessmentRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReplicationTaskAssessmentRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReplicationTaskAssessmentRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationTaskAssessmentRunInput"} + if s.ReplicationTaskAssessmentRunArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationTaskAssessmentRunArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value. +func (s *DeleteReplicationTaskAssessmentRunInput) SetReplicationTaskAssessmentRunArn(v string) *DeleteReplicationTaskAssessmentRunInput { + s.ReplicationTaskAssessmentRunArn = &v + return s +} + +type DeleteReplicationTaskAssessmentRunOutput struct { + _ struct{} `type:"structure"` + + // The ReplicationTaskAssessmentRun object for the deleted assessment run. + ReplicationTaskAssessmentRun *ReplicationTaskAssessmentRun `type:"structure"` +} + +// String returns the string representation +func (s DeleteReplicationTaskAssessmentRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReplicationTaskAssessmentRunOutput) GoString() string { + return s.String() +} + +// SetReplicationTaskAssessmentRun sets the ReplicationTaskAssessmentRun field's value. +func (s *DeleteReplicationTaskAssessmentRunOutput) SetReplicationTaskAssessmentRun(v *ReplicationTaskAssessmentRun) *DeleteReplicationTaskAssessmentRunOutput { + s.ReplicationTaskAssessmentRun = v + return s +} + type DeleteReplicationTaskInput struct { _ struct{} `type:"structure"` @@ -6972,52 +7931,178 @@ func (s *DescribeAccountAttributesOutput) SetUniqueAccountIdentifier(v string) * return s } -type DescribeCertificatesInput struct { +type DescribeApplicableIndividualAssessmentsInput struct { _ struct{} `type:"structure"` - // Filters applied to the certificate described in the form of key-value pairs. - Filters []*Filter `type:"list"` - - // An optional pagination token provided by a previous request. If this parameter + // Optional pagination token provided by a previous request. If this parameter // is specified, the response includes only records beyond the marker, up to // the value specified by MaxRecords. Marker *string `type:"string"` - // The maximum number of records to include in the response. If more records - // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. - // - // Default: 10 + // Maximum number of records to include in the response. If more records exist + // than the specified MaxRecords value, a pagination token called a marker is + // included in the response so that the remaining results can be retrieved. MaxRecords *int64 `type:"integer"` + + // Name of the migration type that each provided individual assessment must + // support. + MigrationType *string `type:"string" enum:"MigrationTypeValue"` + + // ARN of a replication instance on which you want to base the default list + // of individual assessments. + ReplicationInstanceArn *string `type:"string"` + + // Amazon Resource Name (ARN) of a migration task on which you want to base + // the default list of individual assessments. + ReplicationTaskArn *string `type:"string"` + + // Name of a database engine that the specified replication instance supports + // as a source. + SourceEngineName *string `type:"string"` + + // Name of a database engine that the specified replication instance supports + // as a target. + TargetEngineName *string `type:"string"` } // String returns the string representation -func (s DescribeCertificatesInput) String() string { +func (s DescribeApplicableIndividualAssessmentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeCertificatesInput) GoString() string { +func (s DescribeApplicableIndividualAssessmentsInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeCertificatesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"} - 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)) - } - } - } +// SetMarker sets the Marker field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetMarker(v string) *DescribeApplicableIndividualAssessmentsInput { + s.Marker = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetMaxRecords(v int64) *DescribeApplicableIndividualAssessmentsInput { + s.MaxRecords = &v + return s +} + +// SetMigrationType sets the MigrationType field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetMigrationType(v string) *DescribeApplicableIndividualAssessmentsInput { + s.MigrationType = &v + return s +} + +// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetReplicationInstanceArn(v string) *DescribeApplicableIndividualAssessmentsInput { + s.ReplicationInstanceArn = &v + return s +} + +// SetReplicationTaskArn sets the ReplicationTaskArn field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetReplicationTaskArn(v string) *DescribeApplicableIndividualAssessmentsInput { + s.ReplicationTaskArn = &v + return s +} + +// SetSourceEngineName sets the SourceEngineName field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetSourceEngineName(v string) *DescribeApplicableIndividualAssessmentsInput { + s.SourceEngineName = &v + return s +} + +// SetTargetEngineName sets the TargetEngineName field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetTargetEngineName(v string) *DescribeApplicableIndividualAssessmentsInput { + s.TargetEngineName = &v + return s +} + +type DescribeApplicableIndividualAssessmentsOutput struct { + _ struct{} `type:"structure"` + + // List of names for the individual assessments supported by the premigration + // assessment run that you start based on the specified request parameters. + // For more information on the available individual assessments, including compatibility + // with different migration task configurations, see Working with premigration + // assessment runs (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.AssessmentReport.html) + // in the AWS Database Migration Service User Guide. + IndividualAssessmentNames []*string `type:"list"` + + // Pagination token returned for you to pass to a subsequent request. If you + // pass this token as the Marker value in a subsequent request, the response + // includes only records beyond the marker, up to the value specified in the + // request by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeApplicableIndividualAssessmentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicableIndividualAssessmentsOutput) GoString() string { + return s.String() +} + +// SetIndividualAssessmentNames sets the IndividualAssessmentNames field's value. +func (s *DescribeApplicableIndividualAssessmentsOutput) SetIndividualAssessmentNames(v []*string) *DescribeApplicableIndividualAssessmentsOutput { + s.IndividualAssessmentNames = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeApplicableIndividualAssessmentsOutput) SetMarker(v string) *DescribeApplicableIndividualAssessmentsOutput { + s.Marker = &v + return s +} + +type DescribeCertificatesInput struct { + _ struct{} `type:"structure"` + + // Filters applied to the certificates described in the form of key-value pairs. + Filters []*Filter `type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that the remaining results can be retrieved. + // + // Default: 10 + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeCertificatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCertificatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCertificatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"} + 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 } @@ -7180,7 +8265,7 @@ func (s *DescribeConnectionsOutput) SetMarker(v string) *DescribeConnectionsOutp type DescribeEndpointTypesInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to the endpoint types. // // Valid filter names: engine-name | endpoint-type Filters []*Filter `type:"list"` @@ -7285,7 +8370,7 @@ func (s *DescribeEndpointTypesOutput) SetSupportedEndpointTypes(v []*SupportedEn type DescribeEndpointsInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to the endpoints. // // Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name Filters []*Filter `type:"list"` @@ -7390,7 +8475,7 @@ func (s *DescribeEndpointsOutput) SetMarker(v string) *DescribeEndpointsOutput { type DescribeEventCategoriesInput struct { _ struct{} `type:"structure"` - // Filters applied to the action. + // Filters applied to the event categories. Filters []*Filter `type:"list"` // The type of AWS DMS resource that generates events. @@ -7467,7 +8552,7 @@ func (s *DescribeEventCategoriesOutput) SetEventCategoryGroupList(v []*EventCate type DescribeEventSubscriptionsInput struct { _ struct{} `type:"structure"` - // Filters applied to the action. + // Filters applied to event subscriptions. Filters []*Filter `type:"list"` // An optional pagination token provided by a previous request. If this parameter @@ -7588,7 +8673,7 @@ type DescribeEventsInput struct { // A list of event categories for the source type that you've chosen. EventCategories []*string `type:"list"` - // Filters applied to the action. + // Filters applied to events. Filters []*Filter `type:"list"` // An optional pagination token provided by a previous request. If this parameter @@ -8092,7 +9177,7 @@ func (s *DescribeReplicationInstanceTaskLogsOutput) SetReplicationInstanceTaskLo type DescribeReplicationInstancesInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to replication instances. // // Valid filter names: replication-instance-arn | replication-instance-id | // replication-instance-class | engine-version @@ -8198,7 +9283,7 @@ func (s *DescribeReplicationInstancesOutput) SetReplicationInstances(v []*Replic type DescribeReplicationSubnetGroupsInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to replication subnet groups. // // Valid filter names: replication-subnet-group-id Filters []*Filter `type:"list"` @@ -8394,10 +9479,218 @@ func (s *DescribeReplicationTaskAssessmentResultsOutput) SetReplicationTaskAsses return s } +type DescribeReplicationTaskAssessmentRunsInput struct { + _ struct{} `type:"structure"` + + // Filters applied to the premigration assessment runs described in the form + // of key-value pairs. + // + // Valid filter names: replication-task-assessment-run-arn, replication-task-arn, + // replication-instance-arn, status + Filters []*Filter `type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that the remaining results can be retrieved. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeReplicationTaskAssessmentRunsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReplicationTaskAssessmentRunsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReplicationTaskAssessmentRunsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationTaskAssessmentRunsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeReplicationTaskAssessmentRunsInput) SetFilters(v []*Filter) *DescribeReplicationTaskAssessmentRunsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReplicationTaskAssessmentRunsInput) SetMarker(v string) *DescribeReplicationTaskAssessmentRunsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeReplicationTaskAssessmentRunsInput) SetMaxRecords(v int64) *DescribeReplicationTaskAssessmentRunsInput { + s.MaxRecords = &v + return s +} + +type DescribeReplicationTaskAssessmentRunsOutput struct { + _ struct{} `type:"structure"` + + // A pagination token returned for you to pass to a subsequent request. If you + // pass this token as the Marker value in a subsequent request, the response + // includes only records beyond the marker, up to the value specified in the + // request by MaxRecords. + Marker *string `type:"string"` + + // One or more premigration assessment runs as specified by Filters. + ReplicationTaskAssessmentRuns []*ReplicationTaskAssessmentRun `type:"list"` +} + +// String returns the string representation +func (s DescribeReplicationTaskAssessmentRunsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReplicationTaskAssessmentRunsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReplicationTaskAssessmentRunsOutput) SetMarker(v string) *DescribeReplicationTaskAssessmentRunsOutput { + s.Marker = &v + return s +} + +// SetReplicationTaskAssessmentRuns sets the ReplicationTaskAssessmentRuns field's value. +func (s *DescribeReplicationTaskAssessmentRunsOutput) SetReplicationTaskAssessmentRuns(v []*ReplicationTaskAssessmentRun) *DescribeReplicationTaskAssessmentRunsOutput { + s.ReplicationTaskAssessmentRuns = v + return s +} + +type DescribeReplicationTaskIndividualAssessmentsInput struct { + _ struct{} `type:"structure"` + + // Filters applied to the individual assessments described in the form of key-value + // pairs. + // + // Valid filter names: replication-task-assessment-run-arn, replication-task-arn, + // status + Filters []*Filter `type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that the remaining results can be retrieved. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeReplicationTaskIndividualAssessmentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReplicationTaskIndividualAssessmentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReplicationTaskIndividualAssessmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationTaskIndividualAssessmentsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsInput) SetFilters(v []*Filter) *DescribeReplicationTaskIndividualAssessmentsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsInput) SetMarker(v string) *DescribeReplicationTaskIndividualAssessmentsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsInput) SetMaxRecords(v int64) *DescribeReplicationTaskIndividualAssessmentsInput { + s.MaxRecords = &v + return s +} + +type DescribeReplicationTaskIndividualAssessmentsOutput struct { + _ struct{} `type:"structure"` + + // A pagination token returned for you to pass to a subsequent request. If you + // pass this token as the Marker value in a subsequent request, the response + // includes only records beyond the marker, up to the value specified in the + // request by MaxRecords. + Marker *string `type:"string"` + + // One or more individual assessments as specified by Filters. + ReplicationTaskIndividualAssessments []*ReplicationTaskIndividualAssessment `type:"list"` +} + +// String returns the string representation +func (s DescribeReplicationTaskIndividualAssessmentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReplicationTaskIndividualAssessmentsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsOutput) SetMarker(v string) *DescribeReplicationTaskIndividualAssessmentsOutput { + s.Marker = &v + return s +} + +// SetReplicationTaskIndividualAssessments sets the ReplicationTaskIndividualAssessments field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsOutput) SetReplicationTaskIndividualAssessments(v []*ReplicationTaskIndividualAssessment) *DescribeReplicationTaskIndividualAssessmentsOutput { + s.ReplicationTaskIndividualAssessments = v + return s +} + type DescribeReplicationTasksInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to replication tasks. // // Valid filter names: replication-task-arn | replication-task-id | migration-type // | endpoint-arn | replication-instance-arn @@ -8612,7 +9905,7 @@ func (s *DescribeSchemasOutput) SetSchemas(v []*string) *DescribeSchemasOutput { type DescribeTableStatisticsInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe table statistics action. + // Filters applied to table statistics. // // Valid filter names: schema-name | table-name | table-state // @@ -8924,7 +10217,7 @@ type Endpoint struct { // "BucketName": "string", "CompressionType": "none"|"gzip" } DmsTransferSettings *DmsTransferSettings `type:"structure"` - // The settings for the target DynamoDB database. For more information, see + // The settings for the DynamoDB target endpoint. For more information, see // the DynamoDBSettings structure. DynamoDbSettings *DynamoDbSettings `type:"structure"` @@ -8964,6 +10257,10 @@ type Endpoint struct { // Additional connection attributes used to connect to the endpoint. ExtraConnectionAttributes *string `type:"string"` + // The settings for the IBM Db2 LUW source endpoint. For more information, see + // the IBMDb2Settings structure. + IBMDb2Settings *IBMDb2Settings `type:"structure"` + // The settings for the Apache Kafka target endpoint. For more information, // see the KafkaSettings structure. KafkaSettings *KafkaSettings `type:"structure"` @@ -8982,17 +10279,33 @@ type Endpoint struct { // account has a different default encryption key for each AWS Region. KmsKeyId *string `type:"string"` + // The settings for the Microsoft SQL Server source and target endpoint. For + // more information, see the MicrosoftSQLServerSettings structure. + MicrosoftSQLServerSettings *MicrosoftSQLServerSettings `type:"structure"` + // The settings for the MongoDB source endpoint. For more information, see the // MongoDbSettings structure. MongoDbSettings *MongoDbSettings `type:"structure"` + // The settings for the MySQL source and target endpoint. For more information, + // see the MySQLSettings structure. + MySQLSettings *MySQLSettings `type:"structure"` + // The settings for the Amazon Neptune target endpoint. For more information, // see the NeptuneSettings structure. NeptuneSettings *NeptuneSettings `type:"structure"` + // The settings for the Oracle source and target endpoint. For more information, + // see the OracleSettings structure. + OracleSettings *OracleSettings `type:"structure"` + // The port value used to access the endpoint. Port *int64 `type:"integer"` + // The settings for the PostgreSQL source and target endpoint. For more information, + // see the PostgreSQLSettings structure. + PostgreSQLSettings *PostgreSQLSettings `type:"structure"` + // Settings for the Amazon Redshift endpoint. RedshiftSettings *RedshiftSettings `type:"structure"` @@ -9012,6 +10325,10 @@ type Endpoint struct { // The status of the endpoint. Status *string `type:"string"` + // The settings for the SAP ASE source and target endpoint. For more information, + // see the SybaseSettings structure. + SybaseSettings *SybaseSettings `type:"structure"` + // The user name used to connect to the endpoint. Username *string `type:"string"` } @@ -9104,6 +10421,12 @@ func (s *Endpoint) SetExtraConnectionAttributes(v string) *Endpoint { return s } +// SetIBMDb2Settings sets the IBMDb2Settings field's value. +func (s *Endpoint) SetIBMDb2Settings(v *IBMDb2Settings) *Endpoint { + s.IBMDb2Settings = v + return s +} + // SetKafkaSettings sets the KafkaSettings field's value. func (s *Endpoint) SetKafkaSettings(v *KafkaSettings) *Endpoint { s.KafkaSettings = v @@ -9122,24 +10445,48 @@ func (s *Endpoint) SetKmsKeyId(v string) *Endpoint { return s } +// SetMicrosoftSQLServerSettings sets the MicrosoftSQLServerSettings field's value. +func (s *Endpoint) SetMicrosoftSQLServerSettings(v *MicrosoftSQLServerSettings) *Endpoint { + s.MicrosoftSQLServerSettings = v + return s +} + // SetMongoDbSettings sets the MongoDbSettings field's value. func (s *Endpoint) SetMongoDbSettings(v *MongoDbSettings) *Endpoint { s.MongoDbSettings = v return s } +// SetMySQLSettings sets the MySQLSettings field's value. +func (s *Endpoint) SetMySQLSettings(v *MySQLSettings) *Endpoint { + s.MySQLSettings = v + return s +} + // SetNeptuneSettings sets the NeptuneSettings field's value. func (s *Endpoint) SetNeptuneSettings(v *NeptuneSettings) *Endpoint { s.NeptuneSettings = v return s } +// SetOracleSettings sets the OracleSettings field's value. +func (s *Endpoint) SetOracleSettings(v *OracleSettings) *Endpoint { + s.OracleSettings = v + return s +} + // SetPort sets the Port field's value. func (s *Endpoint) SetPort(v int64) *Endpoint { s.Port = &v return s } +// SetPostgreSQLSettings sets the PostgreSQLSettings field's value. +func (s *Endpoint) SetPostgreSQLSettings(v *PostgreSQLSettings) *Endpoint { + s.PostgreSQLSettings = v + return s +} + // SetRedshiftSettings sets the RedshiftSettings field's value. func (s *Endpoint) SetRedshiftSettings(v *RedshiftSettings) *Endpoint { s.RedshiftSettings = v @@ -9176,6 +10523,12 @@ func (s *Endpoint) SetStatus(v string) *Endpoint { return s } +// SetSybaseSettings sets the SybaseSettings field's value. +func (s *Endpoint) SetSybaseSettings(v *SybaseSettings) *Endpoint { + s.SybaseSettings = v + return s +} + // SetUsername sets the Username field's value. func (s *Endpoint) SetUsername(v string) *Endpoint { s.Username = &v @@ -9392,17 +10745,19 @@ func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscrip return s } -// Identifies the name and value of a source filter object used to limit the -// number and type of records transferred from your source to your target. +// Identifies the name and value of a filter object. This filter is used to +// limit the number and type of AWS DMS objects that are returned for a particular +// Describe* or similar operation. type Filter struct { _ struct{} `type:"structure"` - // The name of the filter. + // The name of the filter as specified for a Describe* or similar operation. // // Name is a required field Name *string `type:"string" required:"true"` - // The filter value. + // The filter value, which can specify one or more values used to narrow the + // returned results. // // Values is a required field Values []*string `type:"list" required:"true"` @@ -9446,6 +10801,66 @@ func (s *Filter) SetValues(v []*string) *Filter { return s } +// Provides information that defines an IBM Db2 LUW endpoint. +type IBMDb2Settings struct { + _ struct{} `type:"structure"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s IBMDb2Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IBMDb2Settings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *IBMDb2Settings) SetDatabaseName(v string) *IBMDb2Settings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *IBMDb2Settings) SetPassword(v string) *IBMDb2Settings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *IBMDb2Settings) SetPort(v int64) *IBMDb2Settings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *IBMDb2Settings) SetServerName(v string) *IBMDb2Settings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *IBMDb2Settings) SetUsername(v string) *IBMDb2Settings { + s.Username = &v + return s +} + type ImportCertificateInput struct { _ struct{} `type:"structure"` @@ -9876,6 +11291,63 @@ func (s *KMSDisabledFault) RequestID() string { return s.RespMetadata.RequestID } +// An AWS Key Management Service (AWS KMS) error is preventing access to AWS +// KMS. +type KMSFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s KMSFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KMSFault) GoString() string { + return s.String() +} + +func newErrorKMSFault(v protocol.ResponseMetadata) error { + return &KMSFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *KMSFault) Code() string { + return "KMSFault" +} + +// Message returns the exception's message. +func (s *KMSFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *KMSFault) OrigErr() error { + return nil +} + +func (s *KMSFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *KMSFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *KMSFault) RequestID() string { + return s.RespMetadata.RequestID +} + // The state of the specified AWS KMS resource isn't valid for this request. type KMSInvalidStateFault struct { _ struct{} `type:"structure"` @@ -10111,6 +11583,38 @@ type KafkaSettings struct { // "ec2-12-345-678-901.compute-1.amazonaws.com:2345". Broker *string `type:"string"` + // Shows detailed control information for table definition, column definition, + // and table and column changes in the Kafka message output. The default is + // False. + IncludeControlDetails *bool `type:"boolean"` + + // Shows the partition value within the Kafka message output, unless the partition + // type is schema-table-type. The default is False. + IncludePartitionValue *bool `type:"boolean"` + + // Includes any data definition language (DDL) operations that change the table + // in the control data, such as rename-table, drop-table, add-column, drop-column, + // and rename-column. The default is False. + IncludeTableAlterOperations *bool `type:"boolean"` + + // Provides detailed transaction information from the source database. This + // information includes a commit timestamp, a log position, and values for transaction_id, + // previous transaction_id, and transaction_record_id (the record offset within + // a transaction). The default is False. + IncludeTransactionDetails *bool `type:"boolean"` + + // The output format for the records created on the endpoint. The message format + // is JSON (default) or JSON_UNFORMATTED (a single line with no tab). + MessageFormat *string `type:"string" enum:"MessageFormatValue"` + + // Prefixes schema and table names to partition values, when the partition type + // is primary-key-type. Doing this increases data distribution among Kafka partitions. + // For example, suppose that a SysBench schema has thousands of tables and each + // table has only limited range for a primary key. In this case, the same primary + // key is sent from thousands of tables to the same partition, which causes + // throttling. The default is False. + PartitionIncludeSchemaTable *bool `type:"boolean"` + // The topic to which you migrate the data. If you don't specify a topic, AWS // DMS specifies "kafka-default-topic" as the migration topic. Topic *string `type:"string"` @@ -10132,6 +11636,42 @@ func (s *KafkaSettings) SetBroker(v string) *KafkaSettings { return s } +// SetIncludeControlDetails sets the IncludeControlDetails field's value. +func (s *KafkaSettings) SetIncludeControlDetails(v bool) *KafkaSettings { + s.IncludeControlDetails = &v + return s +} + +// SetIncludePartitionValue sets the IncludePartitionValue field's value. +func (s *KafkaSettings) SetIncludePartitionValue(v bool) *KafkaSettings { + s.IncludePartitionValue = &v + return s +} + +// SetIncludeTableAlterOperations sets the IncludeTableAlterOperations field's value. +func (s *KafkaSettings) SetIncludeTableAlterOperations(v bool) *KafkaSettings { + s.IncludeTableAlterOperations = &v + return s +} + +// SetIncludeTransactionDetails sets the IncludeTransactionDetails field's value. +func (s *KafkaSettings) SetIncludeTransactionDetails(v bool) *KafkaSettings { + s.IncludeTransactionDetails = &v + return s +} + +// SetMessageFormat sets the MessageFormat field's value. +func (s *KafkaSettings) SetMessageFormat(v string) *KafkaSettings { + s.MessageFormat = &v + return s +} + +// SetPartitionIncludeSchemaTable sets the PartitionIncludeSchemaTable field's value. +func (s *KafkaSettings) SetPartitionIncludeSchemaTable(v bool) *KafkaSettings { + s.PartitionIncludeSchemaTable = &v + return s +} + // SetTopic sets the Topic field's value. func (s *KafkaSettings) SetTopic(v string) *KafkaSettings { s.Topic = &v @@ -10304,6 +11844,66 @@ func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOut return s } +// Provides information that defines a Microsoft SQL Server endpoint. +type MicrosoftSQLServerSettings struct { + _ struct{} `type:"structure"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s MicrosoftSQLServerSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MicrosoftSQLServerSettings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *MicrosoftSQLServerSettings) SetDatabaseName(v string) *MicrosoftSQLServerSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *MicrosoftSQLServerSettings) SetPassword(v string) *MicrosoftSQLServerSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *MicrosoftSQLServerSettings) SetPort(v int64) *MicrosoftSQLServerSettings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *MicrosoftSQLServerSettings) SetServerName(v string) *MicrosoftSQLServerSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *MicrosoftSQLServerSettings) SetUsername(v string) *MicrosoftSQLServerSettings { + s.Username = &v + return s +} + type ModifyEndpointInput struct { _ struct{} `type:"structure"` @@ -10371,6 +11971,12 @@ type ModifyEndpointInput struct { // pass the empty string ("") as an argument. ExtraConnectionAttributes *string `type:"string"` + // Settings in JSON format for the source IBM Db2 LUW endpoint. For information + // about other available settings, see Extra connection attributes when using + // Db2 LUW as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + IBMDb2Settings *IBMDb2Settings `type:"structure"` + // Settings in JSON format for the target Apache Kafka endpoint. For more information // about the available settings, see Using Apache Kafka as a Target for AWS // Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html) @@ -10383,24 +11989,56 @@ type ModifyEndpointInput struct { // in the AWS Database Migration Service User Guide. KinesisSettings *KinesisSettings `type:"structure"` + // Settings in JSON format for the source and target Microsoft SQL Server endpoint. + // For information about other available settings, see Extra connection attributes + // when using SQL Server as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.ConnectionAttrib) + // and Extra connection attributes when using SQL Server as a target for AWS + // DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + MicrosoftSQLServerSettings *MicrosoftSQLServerSettings `type:"structure"` + // Settings in JSON format for the source MongoDB endpoint. For more information // about the available settings, see the configuration properties section in // Using MongoDB as a Target for AWS Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html) // in the AWS Database Migration Service User Guide. MongoDbSettings *MongoDbSettings `type:"structure"` + // Settings in JSON format for the source and target MySQL endpoint. For information + // about other available settings, see Extra connection attributes when using + // MySQL as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.ConnectionAttrib) + // and Extra connection attributes when using a MySQL-compatible database as + // a target for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + MySQLSettings *MySQLSettings `type:"structure"` + // Settings in JSON format for the target Amazon Neptune endpoint. For more // information about the available settings, see Specifying Endpoint Settings // for Amazon Neptune as a Target (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) // in the AWS Database Migration Service User Guide. NeptuneSettings *NeptuneSettings `type:"structure"` + // Settings in JSON format for the source and target Oracle endpoint. For information + // about other available settings, see Extra connection attributes when using + // Oracle as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.ConnectionAttrib) + // and Extra connection attributes when using Oracle as a target for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + OracleSettings *OracleSettings `type:"structure"` + // The password to be used to login to the endpoint database. Password *string `type:"string" sensitive:"true"` // The port used by the endpoint database. Port *int64 `type:"integer"` + // Settings in JSON format for the source and target PostgreSQL endpoint. For + // information about other available settings, see Extra connection attributes + // when using PostgreSQL as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.ConnectionAttrib) + // and Extra connection attributes when using PostgreSQL as a target for AWS + // DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + PostgreSQLSettings *PostgreSQLSettings `type:"structure"` + // Provides information that defines an Amazon Redshift endpoint. RedshiftSettings *RedshiftSettings `type:"structure"` @@ -10420,6 +12058,14 @@ type ModifyEndpointInput struct { // The SSL mode used to connect to the endpoint. The default value is none. SslMode *string `type:"string" enum:"DmsSslModeValue"` + // Settings in JSON format for the source and target SAP ASE endpoint. For information + // about other available settings, see Extra connection attributes when using + // SAP ASE as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.ConnectionAttrib) + // and Extra connection attributes when using SAP ASE as a target for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + SybaseSettings *SybaseSettings `type:"structure"` + // The user name to be used to login to the endpoint database. Username *string `type:"string"` } @@ -10528,6 +12174,12 @@ func (s *ModifyEndpointInput) SetExtraConnectionAttributes(v string) *ModifyEndp return s } +// SetIBMDb2Settings sets the IBMDb2Settings field's value. +func (s *ModifyEndpointInput) SetIBMDb2Settings(v *IBMDb2Settings) *ModifyEndpointInput { + s.IBMDb2Settings = v + return s +} + // SetKafkaSettings sets the KafkaSettings field's value. func (s *ModifyEndpointInput) SetKafkaSettings(v *KafkaSettings) *ModifyEndpointInput { s.KafkaSettings = v @@ -10540,18 +12192,36 @@ func (s *ModifyEndpointInput) SetKinesisSettings(v *KinesisSettings) *ModifyEndp return s } +// SetMicrosoftSQLServerSettings sets the MicrosoftSQLServerSettings field's value. +func (s *ModifyEndpointInput) SetMicrosoftSQLServerSettings(v *MicrosoftSQLServerSettings) *ModifyEndpointInput { + s.MicrosoftSQLServerSettings = v + return s +} + // SetMongoDbSettings sets the MongoDbSettings field's value. func (s *ModifyEndpointInput) SetMongoDbSettings(v *MongoDbSettings) *ModifyEndpointInput { s.MongoDbSettings = v return s } +// SetMySQLSettings sets the MySQLSettings field's value. +func (s *ModifyEndpointInput) SetMySQLSettings(v *MySQLSettings) *ModifyEndpointInput { + s.MySQLSettings = v + return s +} + // SetNeptuneSettings sets the NeptuneSettings field's value. func (s *ModifyEndpointInput) SetNeptuneSettings(v *NeptuneSettings) *ModifyEndpointInput { s.NeptuneSettings = v return s } +// SetOracleSettings sets the OracleSettings field's value. +func (s *ModifyEndpointInput) SetOracleSettings(v *OracleSettings) *ModifyEndpointInput { + s.OracleSettings = v + return s +} + // SetPassword sets the Password field's value. func (s *ModifyEndpointInput) SetPassword(v string) *ModifyEndpointInput { s.Password = &v @@ -10564,6 +12234,12 @@ func (s *ModifyEndpointInput) SetPort(v int64) *ModifyEndpointInput { return s } +// SetPostgreSQLSettings sets the PostgreSQLSettings field's value. +func (s *ModifyEndpointInput) SetPostgreSQLSettings(v *PostgreSQLSettings) *ModifyEndpointInput { + s.PostgreSQLSettings = v + return s +} + // SetRedshiftSettings sets the RedshiftSettings field's value. func (s *ModifyEndpointInput) SetRedshiftSettings(v *RedshiftSettings) *ModifyEndpointInput { s.RedshiftSettings = v @@ -10594,6 +12270,12 @@ func (s *ModifyEndpointInput) SetSslMode(v string) *ModifyEndpointInput { return s } +// SetSybaseSettings sets the SybaseSettings field's value. +func (s *ModifyEndpointInput) SetSybaseSettings(v *SybaseSettings) *ModifyEndpointInput { + s.SybaseSettings = v + return s +} + // SetUsername sets the Username field's value. func (s *ModifyEndpointInput) SetUsername(v string) *ModifyEndpointInput { s.Username = &v @@ -11322,24 +13004,84 @@ func (s *MongoDbSettings) SetUsername(v string) *MongoDbSettings { return s } -// Provides information that defines an Amazon Neptune endpoint. -type NeptuneSettings struct { +// Provides information that defines a MySQL endpoint. +type MySQLSettings struct { _ struct{} `type:"structure"` - // The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated - // graph data to the Neptune target database before raising an error. The default - // is 250. - ErrorRetryDuration *int64 `type:"integer"` + // Database name for the endpoint. + DatabaseName *string `type:"string"` - // If you want AWS Identity and Access Management (IAM) authorization enabled - // for this endpoint, set this parameter to true. Then attach the appropriate - // IAM policy document to your service role specified by ServiceAccessRoleArn. - // The default is false. - IamAuthEnabled *bool `type:"boolean"` + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` - // The maximum size in kilobytes of migrated graph data stored in a .csv file - // before AWS DMS bulk-loads the data to the Neptune target database. The default - // is 1,048,576 KB. If the bulk load is successful, AWS DMS clears the bucket, + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s MySQLSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MySQLSettings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *MySQLSettings) SetDatabaseName(v string) *MySQLSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *MySQLSettings) SetPassword(v string) *MySQLSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *MySQLSettings) SetPort(v int64) *MySQLSettings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *MySQLSettings) SetServerName(v string) *MySQLSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *MySQLSettings) SetUsername(v string) *MySQLSettings { + s.Username = &v + return s +} + +// Provides information that defines an Amazon Neptune endpoint. +type NeptuneSettings struct { + _ struct{} `type:"structure"` + + // The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated + // graph data to the Neptune target database before raising an error. The default + // is 250. + ErrorRetryDuration *int64 `type:"integer"` + + // If you want AWS Identity and Access Management (IAM) authorization enabled + // for this endpoint, set this parameter to true. Then attach the appropriate + // IAM policy document to your service role specified by ServiceAccessRoleArn. + // The default is false. + IamAuthEnabled *bool `type:"boolean"` + + // The maximum size in kilobytes of migrated graph data stored in a .csv file + // before AWS DMS bulk-loads the data to the Neptune target database. The default + // is 1,048,576 KB. If the bulk load is successful, AWS DMS clears the bucket, // ready to store the next batch of migrated graph data. MaxFileSize *int64 `type:"integer"` @@ -11436,6 +13178,138 @@ func (s *NeptuneSettings) SetServiceAccessRoleArn(v string) *NeptuneSettings { return s } +// Provides information that defines an Oracle endpoint. +type OracleSettings struct { + _ struct{} `type:"structure"` + + // For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) + // password. You can set this value from the asm_user_password value. You set + // this value as part of the comma-separated value that you set to the Password + // request parameter when you create the endpoint to access transaction logs + // using Binary Reader. For more information, see Configuration for change data + // capture (CDC) on an Oracle source database (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration). + AsmPassword *string `type:"string" sensitive:"true"` + + // For an Oracle source endpoint, your ASM server address. You can set this + // value from the asm_server value. You set asm_server as part of the extra + // connection attribute string to access an Oracle server with Binary Reader + // that uses ASM. For more information, see Configuration for change data capture + // (CDC) on an Oracle source database (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration). + AsmServer *string `type:"string"` + + // For an Oracle source endpoint, your ASM user name. You can set this value + // from the asm_user value. You set asm_user as part of the extra connection + // attribute string to access an Oracle server with Binary Reader that uses + // ASM. For more information, see Configuration for change data capture (CDC) + // on an Oracle source database (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration). + AsmUser *string `type:"string"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // For an Oracle source endpoint, the transparent data encryption (TDE) password + // required by AWM DMS to access Oracle redo logs encrypted by TDE using Binary + // Reader. It is also the TDE_Password part of the comma-separated value you + // set to the Password request parameter when you create the endpoint. The SecurityDbEncryptian + // setting is related to this SecurityDbEncryptionName setting. For more information, + // see Supported encryption methods for using Oracle as a source for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) + // in the AWS Database Migration Service User Guide. + SecurityDbEncryption *string `type:"string" sensitive:"true"` + + // For an Oracle source endpoint, the name of a key used for the transparent + // data encryption (TDE) of the columns and tablespaces in an Oracle source + // database that is encrypted using TDE. The key value is the value of the SecurityDbEncryption + // setting. For more information on setting the key name value of SecurityDbEncryptionName, + // see the information and example for setting the securityDbEncryptionName + // extra connection attribute in Supported encryption methods for using Oracle + // as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) + // in the AWS Database Migration Service User Guide. + SecurityDbEncryptionName *string `type:"string"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s OracleSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OracleSettings) GoString() string { + return s.String() +} + +// SetAsmPassword sets the AsmPassword field's value. +func (s *OracleSettings) SetAsmPassword(v string) *OracleSettings { + s.AsmPassword = &v + return s +} + +// SetAsmServer sets the AsmServer field's value. +func (s *OracleSettings) SetAsmServer(v string) *OracleSettings { + s.AsmServer = &v + return s +} + +// SetAsmUser sets the AsmUser field's value. +func (s *OracleSettings) SetAsmUser(v string) *OracleSettings { + s.AsmUser = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *OracleSettings) SetDatabaseName(v string) *OracleSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *OracleSettings) SetPassword(v string) *OracleSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *OracleSettings) SetPort(v int64) *OracleSettings { + s.Port = &v + return s +} + +// SetSecurityDbEncryption sets the SecurityDbEncryption field's value. +func (s *OracleSettings) SetSecurityDbEncryption(v string) *OracleSettings { + s.SecurityDbEncryption = &v + return s +} + +// SetSecurityDbEncryptionName sets the SecurityDbEncryptionName field's value. +func (s *OracleSettings) SetSecurityDbEncryptionName(v string) *OracleSettings { + s.SecurityDbEncryptionName = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *OracleSettings) SetServerName(v string) *OracleSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *OracleSettings) SetUsername(v string) *OracleSettings { + s.Username = &v + return s +} + // In response to the DescribeOrderableReplicationInstances operation, this // object describes an available replication instance. This description includes // the replication instance's type, engine version, and allocated storage. @@ -11629,6 +13503,66 @@ func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceA return s } +// Provides information that defines a PostgreSQL endpoint. +type PostgreSQLSettings struct { + _ struct{} `type:"structure"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s PostgreSQLSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PostgreSQLSettings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *PostgreSQLSettings) SetDatabaseName(v string) *PostgreSQLSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *PostgreSQLSettings) SetPassword(v string) *PostgreSQLSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *PostgreSQLSettings) SetPort(v int64) *PostgreSQLSettings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *PostgreSQLSettings) SetServerName(v string) *PostgreSQLSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *PostgreSQLSettings) SetUsername(v string) *PostgreSQLSettings { + s.Username = &v + return s +} + type RebootReplicationInstanceInput struct { _ struct{} `type:"structure"` @@ -12166,6 +14100,16 @@ func (s *ReloadTablesInput) Validate() error { if s.TablesToReload == nil { invalidParams.Add(request.NewErrParamRequired("TablesToReload")) } + if s.TablesToReload != nil { + for i, v := range s.TablesToReload { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TablesToReload", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -13086,118 +15030,390 @@ func (s *ReplicationTaskAssessmentResult) SetS3ObjectUrl(v string) *ReplicationT return s } -// In response to a request by the DescribeReplicationTasks operation, this -// object provides a collection of statistics about a replication task. -type ReplicationTaskStats struct { +// Provides information that describes a premigration assessment run that you +// have started using the StartReplicationTaskAssessmentRun operation. +// +// Some of the information appears based on other operations that can return +// the ReplicationTaskAssessmentRun object. +type ReplicationTaskAssessmentRun struct { _ struct{} `type:"structure"` - // The elapsed time of the task, in milliseconds. - ElapsedTimeMillis *int64 `type:"long"` + // Indication of the completion progress for the individual assessments specified + // to run. + AssessmentProgress *ReplicationTaskAssessmentRunProgress `type:"structure"` - // The date the replication task was started either with a fresh start or a - // target reload. - FreshStartDate *time.Time `type:"timestamp"` + // Unique name of the assessment run. + AssessmentRunName *string `type:"string"` - // The date the replication task full load was completed. - FullLoadFinishDate *time.Time `type:"timestamp"` + // Last message generated by an individual assessment failure. + LastFailureMessage *string `type:"string"` - // The percent complete for the full load migration task. - FullLoadProgressPercent *int64 `type:"integer"` + // ARN of the migration task associated with this premigration assessment run. + ReplicationTaskArn *string `type:"string"` - // The date the replication task full load was started. - FullLoadStartDate *time.Time `type:"timestamp"` + // Amazon Resource Name (ARN) of this assessment run. + ReplicationTaskAssessmentRunArn *string `type:"string"` - // The date the replication task was started either with a fresh start or a - // resume. For more information, see StartReplicationTaskType (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html#DMS-StartReplicationTask-request-StartReplicationTaskType). - StartDate *time.Time `type:"timestamp"` + // Date on which the assessment run was created using the StartReplicationTaskAssessmentRun + // operation. + ReplicationTaskAssessmentRunCreationDate *time.Time `type:"timestamp"` - // The date the replication task was stopped. - StopDate *time.Time `type:"timestamp"` + // Encryption mode used to encrypt the assessment run results. + ResultEncryptionMode *string `type:"string"` - // The number of errors that have occurred during this task. - TablesErrored *int64 `type:"integer"` + // ARN of the AWS KMS encryption key used to encrypt the assessment run results. + ResultKmsKeyArn *string `type:"string"` - // The number of tables loaded for this task. - TablesLoaded *int64 `type:"integer"` + // Amazon S3 bucket where AWS DMS stores the results of this assessment run. + ResultLocationBucket *string `type:"string"` - // The number of tables currently loading for this task. - TablesLoading *int64 `type:"integer"` + // Folder in an Amazon S3 bucket where AWS DMS stores the results of this assessment + // run. + ResultLocationFolder *string `type:"string"` - // The number of tables queued for this task. - TablesQueued *int64 `type:"integer"` + // ARN of the service role used to start the assessment run using the StartReplicationTaskAssessmentRun + // operation. + ServiceAccessRoleArn *string `type:"string"` + + // Assessment run status. + // + // This status can have one of the following values: + // + // * "cancelling" – The assessment run was canceled by the CancelReplicationTaskAssessmentRun + // operation. + // + // * "deleting" – The assessment run was deleted by the DeleteReplicationTaskAssessmentRun + // operation. + // + // * "failed" – At least one individual assessment completed with a failed + // status. + // + // * "error-provisioning" – An internal error occurred while resources + // were provisioned (during provisioning status). + // + // * "error-executing" – An internal error occurred while individual assessments + // ran (during running status). + // + // * "invalid state" – The assessment run is in an unknown state. + // + // * "passed" – All individual assessments have completed, and none has + // a failed status. + // + // * "provisioning" – Resources required to run individual assessments + // are being provisioned. + // + // * "running" – Individual assessments are being run. + // + // * "starting" – The assessment run is starting, but resources are not + // yet being provisioned for individual assessments. + Status *string `type:"string"` } // String returns the string representation -func (s ReplicationTaskStats) String() string { +func (s ReplicationTaskAssessmentRun) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReplicationTaskStats) GoString() string { +func (s ReplicationTaskAssessmentRun) GoString() string { return s.String() } -// SetElapsedTimeMillis sets the ElapsedTimeMillis field's value. -func (s *ReplicationTaskStats) SetElapsedTimeMillis(v int64) *ReplicationTaskStats { - s.ElapsedTimeMillis = &v +// SetAssessmentProgress sets the AssessmentProgress field's value. +func (s *ReplicationTaskAssessmentRun) SetAssessmentProgress(v *ReplicationTaskAssessmentRunProgress) *ReplicationTaskAssessmentRun { + s.AssessmentProgress = v return s } -// SetFreshStartDate sets the FreshStartDate field's value. -func (s *ReplicationTaskStats) SetFreshStartDate(v time.Time) *ReplicationTaskStats { - s.FreshStartDate = &v +// SetAssessmentRunName sets the AssessmentRunName field's value. +func (s *ReplicationTaskAssessmentRun) SetAssessmentRunName(v string) *ReplicationTaskAssessmentRun { + s.AssessmentRunName = &v return s } -// SetFullLoadFinishDate sets the FullLoadFinishDate field's value. -func (s *ReplicationTaskStats) SetFullLoadFinishDate(v time.Time) *ReplicationTaskStats { - s.FullLoadFinishDate = &v +// SetLastFailureMessage sets the LastFailureMessage field's value. +func (s *ReplicationTaskAssessmentRun) SetLastFailureMessage(v string) *ReplicationTaskAssessmentRun { + s.LastFailureMessage = &v return s } -// SetFullLoadProgressPercent sets the FullLoadProgressPercent field's value. -func (s *ReplicationTaskStats) SetFullLoadProgressPercent(v int64) *ReplicationTaskStats { - s.FullLoadProgressPercent = &v +// SetReplicationTaskArn sets the ReplicationTaskArn field's value. +func (s *ReplicationTaskAssessmentRun) SetReplicationTaskArn(v string) *ReplicationTaskAssessmentRun { + s.ReplicationTaskArn = &v return s } -// SetFullLoadStartDate sets the FullLoadStartDate field's value. -func (s *ReplicationTaskStats) SetFullLoadStartDate(v time.Time) *ReplicationTaskStats { - s.FullLoadStartDate = &v +// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value. +func (s *ReplicationTaskAssessmentRun) SetReplicationTaskAssessmentRunArn(v string) *ReplicationTaskAssessmentRun { + s.ReplicationTaskAssessmentRunArn = &v return s } -// SetStartDate sets the StartDate field's value. -func (s *ReplicationTaskStats) SetStartDate(v time.Time) *ReplicationTaskStats { - s.StartDate = &v +// SetReplicationTaskAssessmentRunCreationDate sets the ReplicationTaskAssessmentRunCreationDate field's value. +func (s *ReplicationTaskAssessmentRun) SetReplicationTaskAssessmentRunCreationDate(v time.Time) *ReplicationTaskAssessmentRun { + s.ReplicationTaskAssessmentRunCreationDate = &v return s } -// SetStopDate sets the StopDate field's value. -func (s *ReplicationTaskStats) SetStopDate(v time.Time) *ReplicationTaskStats { - s.StopDate = &v +// SetResultEncryptionMode sets the ResultEncryptionMode field's value. +func (s *ReplicationTaskAssessmentRun) SetResultEncryptionMode(v string) *ReplicationTaskAssessmentRun { + s.ResultEncryptionMode = &v return s } -// SetTablesErrored sets the TablesErrored field's value. -func (s *ReplicationTaskStats) SetTablesErrored(v int64) *ReplicationTaskStats { - s.TablesErrored = &v +// SetResultKmsKeyArn sets the ResultKmsKeyArn field's value. +func (s *ReplicationTaskAssessmentRun) SetResultKmsKeyArn(v string) *ReplicationTaskAssessmentRun { + s.ResultKmsKeyArn = &v return s } -// SetTablesLoaded sets the TablesLoaded field's value. -func (s *ReplicationTaskStats) SetTablesLoaded(v int64) *ReplicationTaskStats { - s.TablesLoaded = &v +// SetResultLocationBucket sets the ResultLocationBucket field's value. +func (s *ReplicationTaskAssessmentRun) SetResultLocationBucket(v string) *ReplicationTaskAssessmentRun { + s.ResultLocationBucket = &v return s } -// SetTablesLoading sets the TablesLoading field's value. -func (s *ReplicationTaskStats) SetTablesLoading(v int64) *ReplicationTaskStats { - s.TablesLoading = &v +// SetResultLocationFolder sets the ResultLocationFolder field's value. +func (s *ReplicationTaskAssessmentRun) SetResultLocationFolder(v string) *ReplicationTaskAssessmentRun { + s.ResultLocationFolder = &v return s } -// SetTablesQueued sets the TablesQueued field's value. +// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value. +func (s *ReplicationTaskAssessmentRun) SetServiceAccessRoleArn(v string) *ReplicationTaskAssessmentRun { + s.ServiceAccessRoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ReplicationTaskAssessmentRun) SetStatus(v string) *ReplicationTaskAssessmentRun { + s.Status = &v + return s +} + +// The progress values reported by the AssessmentProgress response element. +type ReplicationTaskAssessmentRunProgress struct { + _ struct{} `type:"structure"` + + // The number of individual assessments that have completed, successfully or + // not. + IndividualAssessmentCompletedCount *int64 `type:"integer"` + + // The number of individual assessments that are specified to run. + IndividualAssessmentCount *int64 `type:"integer"` +} + +// String returns the string representation +func (s ReplicationTaskAssessmentRunProgress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicationTaskAssessmentRunProgress) GoString() string { + return s.String() +} + +// SetIndividualAssessmentCompletedCount sets the IndividualAssessmentCompletedCount field's value. +func (s *ReplicationTaskAssessmentRunProgress) SetIndividualAssessmentCompletedCount(v int64) *ReplicationTaskAssessmentRunProgress { + s.IndividualAssessmentCompletedCount = &v + return s +} + +// SetIndividualAssessmentCount sets the IndividualAssessmentCount field's value. +func (s *ReplicationTaskAssessmentRunProgress) SetIndividualAssessmentCount(v int64) *ReplicationTaskAssessmentRunProgress { + s.IndividualAssessmentCount = &v + return s +} + +// Provides information that describes an individual assessment from a premigration +// assessment run. +type ReplicationTaskIndividualAssessment struct { + _ struct{} `type:"structure"` + + // Name of this individual assessment. + IndividualAssessmentName *string `type:"string"` + + // ARN of the premigration assessment run that is created to run this individual + // assessment. + ReplicationTaskAssessmentRunArn *string `type:"string"` + + // Amazon Resource Name (ARN) of this individual assessment. + ReplicationTaskIndividualAssessmentArn *string `type:"string"` + + // Date when this individual assessment was started as part of running the StartReplicationTaskAssessmentRun + // operation. + ReplicationTaskIndividualAssessmentStartDate *time.Time `type:"timestamp"` + + // Individual assessment status. + // + // This status can have one of the following values: + // + // * "cancelled" + // + // * "error" + // + // * "failed" + // + // * "passed" + // + // * "pending" + // + // * "running" + Status *string `type:"string"` +} + +// String returns the string representation +func (s ReplicationTaskIndividualAssessment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicationTaskIndividualAssessment) GoString() string { + return s.String() +} + +// SetIndividualAssessmentName sets the IndividualAssessmentName field's value. +func (s *ReplicationTaskIndividualAssessment) SetIndividualAssessmentName(v string) *ReplicationTaskIndividualAssessment { + s.IndividualAssessmentName = &v + return s +} + +// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value. +func (s *ReplicationTaskIndividualAssessment) SetReplicationTaskAssessmentRunArn(v string) *ReplicationTaskIndividualAssessment { + s.ReplicationTaskAssessmentRunArn = &v + return s +} + +// SetReplicationTaskIndividualAssessmentArn sets the ReplicationTaskIndividualAssessmentArn field's value. +func (s *ReplicationTaskIndividualAssessment) SetReplicationTaskIndividualAssessmentArn(v string) *ReplicationTaskIndividualAssessment { + s.ReplicationTaskIndividualAssessmentArn = &v + return s +} + +// SetReplicationTaskIndividualAssessmentStartDate sets the ReplicationTaskIndividualAssessmentStartDate field's value. +func (s *ReplicationTaskIndividualAssessment) SetReplicationTaskIndividualAssessmentStartDate(v time.Time) *ReplicationTaskIndividualAssessment { + s.ReplicationTaskIndividualAssessmentStartDate = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ReplicationTaskIndividualAssessment) SetStatus(v string) *ReplicationTaskIndividualAssessment { + s.Status = &v + return s +} + +// In response to a request by the DescribeReplicationTasks operation, this +// object provides a collection of statistics about a replication task. +type ReplicationTaskStats struct { + _ struct{} `type:"structure"` + + // The elapsed time of the task, in milliseconds. + ElapsedTimeMillis *int64 `type:"long"` + + // The date the replication task was started either with a fresh start or a + // target reload. + FreshStartDate *time.Time `type:"timestamp"` + + // The date the replication task full load was completed. + FullLoadFinishDate *time.Time `type:"timestamp"` + + // The percent complete for the full load migration task. + FullLoadProgressPercent *int64 `type:"integer"` + + // The date the replication task full load was started. + FullLoadStartDate *time.Time `type:"timestamp"` + + // The date the replication task was started either with a fresh start or a + // resume. For more information, see StartReplicationTaskType (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html#DMS-StartReplicationTask-request-StartReplicationTaskType). + StartDate *time.Time `type:"timestamp"` + + // The date the replication task was stopped. + StopDate *time.Time `type:"timestamp"` + + // The number of errors that have occurred during this task. + TablesErrored *int64 `type:"integer"` + + // The number of tables loaded for this task. + TablesLoaded *int64 `type:"integer"` + + // The number of tables currently loading for this task. + TablesLoading *int64 `type:"integer"` + + // The number of tables queued for this task. + TablesQueued *int64 `type:"integer"` +} + +// String returns the string representation +func (s ReplicationTaskStats) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicationTaskStats) GoString() string { + return s.String() +} + +// SetElapsedTimeMillis sets the ElapsedTimeMillis field's value. +func (s *ReplicationTaskStats) SetElapsedTimeMillis(v int64) *ReplicationTaskStats { + s.ElapsedTimeMillis = &v + return s +} + +// SetFreshStartDate sets the FreshStartDate field's value. +func (s *ReplicationTaskStats) SetFreshStartDate(v time.Time) *ReplicationTaskStats { + s.FreshStartDate = &v + return s +} + +// SetFullLoadFinishDate sets the FullLoadFinishDate field's value. +func (s *ReplicationTaskStats) SetFullLoadFinishDate(v time.Time) *ReplicationTaskStats { + s.FullLoadFinishDate = &v + return s +} + +// SetFullLoadProgressPercent sets the FullLoadProgressPercent field's value. +func (s *ReplicationTaskStats) SetFullLoadProgressPercent(v int64) *ReplicationTaskStats { + s.FullLoadProgressPercent = &v + return s +} + +// SetFullLoadStartDate sets the FullLoadStartDate field's value. +func (s *ReplicationTaskStats) SetFullLoadStartDate(v time.Time) *ReplicationTaskStats { + s.FullLoadStartDate = &v + return s +} + +// SetStartDate sets the StartDate field's value. +func (s *ReplicationTaskStats) SetStartDate(v time.Time) *ReplicationTaskStats { + s.StartDate = &v + return s +} + +// SetStopDate sets the StopDate field's value. +func (s *ReplicationTaskStats) SetStopDate(v time.Time) *ReplicationTaskStats { + s.StopDate = &v + return s +} + +// SetTablesErrored sets the TablesErrored field's value. +func (s *ReplicationTaskStats) SetTablesErrored(v int64) *ReplicationTaskStats { + s.TablesErrored = &v + return s +} + +// SetTablesLoaded sets the TablesLoaded field's value. +func (s *ReplicationTaskStats) SetTablesLoaded(v int64) *ReplicationTaskStats { + s.TablesLoaded = &v + return s +} + +// SetTablesLoading sets the TablesLoading field's value. +func (s *ReplicationTaskStats) SetTablesLoading(v int64) *ReplicationTaskStats { + s.TablesLoading = &v + return s +} + +// SetTablesQueued sets the TablesQueued field's value. func (s *ReplicationTaskStats) SetTablesQueued(v int64) *ReplicationTaskStats { s.TablesQueued = &v return s @@ -13409,6 +15625,118 @@ func (s *ResourceQuotaExceededFault) RequestID() string { return s.RespMetadata.RequestID } +// Insufficient privileges are preventing access to an Amazon S3 object. +type S3AccessDeniedFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s S3AccessDeniedFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3AccessDeniedFault) GoString() string { + return s.String() +} + +func newErrorS3AccessDeniedFault(v protocol.ResponseMetadata) error { + return &S3AccessDeniedFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *S3AccessDeniedFault) Code() string { + return "S3AccessDeniedFault" +} + +// Message returns the exception's message. +func (s *S3AccessDeniedFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *S3AccessDeniedFault) OrigErr() error { + return nil +} + +func (s *S3AccessDeniedFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *S3AccessDeniedFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *S3AccessDeniedFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// A specified Amazon S3 bucket, bucket folder, or other object can't be found. +type S3ResourceNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s S3ResourceNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ResourceNotFoundFault) GoString() string { + return s.String() +} + +func newErrorS3ResourceNotFoundFault(v protocol.ResponseMetadata) error { + return &S3ResourceNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *S3ResourceNotFoundFault) Code() string { + return "S3ResourceNotFoundFault" +} + +// Message returns the exception's message. +func (s *S3ResourceNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *S3ResourceNotFoundFault) OrigErr() error { + return nil +} + +func (s *S3ResourceNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *S3ResourceNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *S3ResourceNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + // Settings for exporting data to Amazon S3. type S3Settings struct { _ struct{} `type:"structure"` @@ -13956,6 +16284,187 @@ func (s *StartReplicationTaskAssessmentOutput) SetReplicationTask(v *Replication return s } +type StartReplicationTaskAssessmentRunInput struct { + _ struct{} `type:"structure"` + + // Unique name to identify the assessment run. + // + // AssessmentRunName is a required field + AssessmentRunName *string `type:"string" required:"true"` + + // Space-separated list of names for specific individual assessments that you + // want to exclude. These names come from the default list of individual assessments + // that AWS DMS supports for the associated migration task. This task is specified + // by ReplicationTaskArn. + // + // You can't set a value for Exclude if you also set a value for IncludeOnly + // in the API operation. + // + // To identify the names of the default individual assessments that AWS DMS + // supports for the associated migration task, run the DescribeApplicableIndividualAssessments + // operation using its own ReplicationTaskArn request parameter. + Exclude []*string `type:"list"` + + // Space-separated list of names for specific individual assessments that you + // want to include. These names come from the default list of individual assessments + // that AWS DMS supports for the associated migration task. This task is specified + // by ReplicationTaskArn. + // + // You can't set a value for IncludeOnly if you also set a value for Exclude + // in the API operation. + // + // To identify the names of the default individual assessments that AWS DMS + // supports for the associated migration task, run the DescribeApplicableIndividualAssessments + // operation using its own ReplicationTaskArn request parameter. + IncludeOnly []*string `type:"list"` + + // Amazon Resource Name (ARN) of the migration task associated with the premigration + // assessment run that you want to start. + // + // ReplicationTaskArn is a required field + ReplicationTaskArn *string `type:"string" required:"true"` + + // Encryption mode that you can specify to encrypt the results of this assessment + // run. If you don't specify this request parameter, AWS DMS stores the assessment + // run results without encryption. You can specify one of the options following: + // + // * "SSE_S3" – The server-side encryption provided as a default by Amazon + // S3. + // + // * "SSE_KMS" – AWS Key Management Service (AWS KMS) encryption. This + // encryption can use either a custom KMS encryption key that you specify + // or the default KMS encryption key that DMS provides. + ResultEncryptionMode *string `type:"string"` + + // ARN of a custom KMS encryption key that you specify when you set ResultEncryptionMode + // to "SSE_KMS". + ResultKmsKeyArn *string `type:"string"` + + // Amazon S3 bucket where you want AWS DMS to store the results of this assessment + // run. + // + // ResultLocationBucket is a required field + ResultLocationBucket *string `type:"string" required:"true"` + + // Folder within an Amazon S3 bucket where you want AWS DMS to store the results + // of this assessment run. + ResultLocationFolder *string `type:"string"` + + // ARN of a service role needed to start the assessment run. + // + // ServiceAccessRoleArn is a required field + ServiceAccessRoleArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s StartReplicationTaskAssessmentRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartReplicationTaskAssessmentRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartReplicationTaskAssessmentRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartReplicationTaskAssessmentRunInput"} + if s.AssessmentRunName == nil { + invalidParams.Add(request.NewErrParamRequired("AssessmentRunName")) + } + if s.ReplicationTaskArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn")) + } + if s.ResultLocationBucket == nil { + invalidParams.Add(request.NewErrParamRequired("ResultLocationBucket")) + } + if s.ServiceAccessRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceAccessRoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssessmentRunName sets the AssessmentRunName field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetAssessmentRunName(v string) *StartReplicationTaskAssessmentRunInput { + s.AssessmentRunName = &v + return s +} + +// SetExclude sets the Exclude field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetExclude(v []*string) *StartReplicationTaskAssessmentRunInput { + s.Exclude = v + return s +} + +// SetIncludeOnly sets the IncludeOnly field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetIncludeOnly(v []*string) *StartReplicationTaskAssessmentRunInput { + s.IncludeOnly = v + return s +} + +// SetReplicationTaskArn sets the ReplicationTaskArn field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetReplicationTaskArn(v string) *StartReplicationTaskAssessmentRunInput { + s.ReplicationTaskArn = &v + return s +} + +// SetResultEncryptionMode sets the ResultEncryptionMode field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetResultEncryptionMode(v string) *StartReplicationTaskAssessmentRunInput { + s.ResultEncryptionMode = &v + return s +} + +// SetResultKmsKeyArn sets the ResultKmsKeyArn field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetResultKmsKeyArn(v string) *StartReplicationTaskAssessmentRunInput { + s.ResultKmsKeyArn = &v + return s +} + +// SetResultLocationBucket sets the ResultLocationBucket field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetResultLocationBucket(v string) *StartReplicationTaskAssessmentRunInput { + s.ResultLocationBucket = &v + return s +} + +// SetResultLocationFolder sets the ResultLocationFolder field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetResultLocationFolder(v string) *StartReplicationTaskAssessmentRunInput { + s.ResultLocationFolder = &v + return s +} + +// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetServiceAccessRoleArn(v string) *StartReplicationTaskAssessmentRunInput { + s.ServiceAccessRoleArn = &v + return s +} + +type StartReplicationTaskAssessmentRunOutput struct { + _ struct{} `type:"structure"` + + // The premigration assessment run that was started. + ReplicationTaskAssessmentRun *ReplicationTaskAssessmentRun `type:"structure"` +} + +// String returns the string representation +func (s StartReplicationTaskAssessmentRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartReplicationTaskAssessmentRunOutput) GoString() string { + return s.String() +} + +// SetReplicationTaskAssessmentRun sets the ReplicationTaskAssessmentRun field's value. +func (s *StartReplicationTaskAssessmentRunOutput) SetReplicationTaskAssessmentRun(v *ReplicationTaskAssessmentRun) *StartReplicationTaskAssessmentRunOutput { + s.ReplicationTaskAssessmentRun = v + return s +} + type StartReplicationTaskInput struct { _ struct{} `type:"structure"` @@ -14370,6 +16879,66 @@ func (s *SupportedEndpointType) SetSupportsCDC(v bool) *SupportedEndpointType { return s } +// Provides information that defines a SAP ASE endpoint. +type SybaseSettings struct { + _ struct{} `type:"structure"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s SybaseSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SybaseSettings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *SybaseSettings) SetDatabaseName(v string) *SybaseSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *SybaseSettings) SetPassword(v string) *SybaseSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *SybaseSettings) SetPort(v int64) *SybaseSettings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *SybaseSettings) SetServerName(v string) *SybaseSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *SybaseSettings) SetUsername(v string) *SybaseSettings { + s.Username = &v + return s +} + // Provides a collection of table statistics in response to a request by the // DescribeTableStatistics operation. type TableStatistics struct { @@ -14593,10 +17162,14 @@ type TableToReload struct { _ struct{} `type:"structure"` // The schema name of the table to be reloaded. - SchemaName *string `type:"string"` + // + // SchemaName is a required field + SchemaName *string `type:"string" required:"true"` // The table name of the table to be reloaded. - TableName *string `type:"string"` + // + // TableName is a required field + TableName *string `type:"string" required:"true"` } // String returns the string representation @@ -14609,6 +17182,22 @@ func (s TableToReload) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *TableToReload) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TableToReload"} + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetSchemaName sets the SchemaName field's value. func (s *TableToReload) SetSchemaName(v string) *TableToReload { s.SchemaName = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/errors.go b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/errors.go index e2e32caf6f0..b02044ee188 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/errors.go @@ -53,6 +53,13 @@ const ( // The specified master key (CMK) isn't enabled. ErrCodeKMSDisabledFault = "KMSDisabledFault" + // ErrCodeKMSFault for service response error code + // "KMSFault". + // + // An AWS Key Management Service (AWS KMS) error is preventing access to AWS + // KMS. + ErrCodeKMSFault = "KMSFault" + // ErrCodeKMSInvalidStateFault for service response error code // "KMSInvalidStateFault". // @@ -102,6 +109,18 @@ const ( // The quota for this resource quota has been exceeded. ErrCodeResourceQuotaExceededFault = "ResourceQuotaExceededFault" + // ErrCodeS3AccessDeniedFault for service response error code + // "S3AccessDeniedFault". + // + // Insufficient privileges are preventing access to an Amazon S3 object. + ErrCodeS3AccessDeniedFault = "S3AccessDeniedFault" + + // ErrCodeS3ResourceNotFoundFault for service response error code + // "S3ResourceNotFoundFault". + // + // A specified Amazon S3 bucket, bucket folder, or other object can't be found. + ErrCodeS3ResourceNotFoundFault = "S3ResourceNotFoundFault" + // ErrCodeSNSInvalidTopicFault for service response error code // "SNSInvalidTopicFault". // @@ -141,6 +160,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidSubnet": newErrorInvalidSubnet, "KMSAccessDeniedFault": newErrorKMSAccessDeniedFault, "KMSDisabledFault": newErrorKMSDisabledFault, + "KMSFault": newErrorKMSFault, "KMSInvalidStateFault": newErrorKMSInvalidStateFault, "KMSKeyNotAccessibleFault": newErrorKMSKeyNotAccessibleFault, "KMSNotFoundFault": newErrorKMSNotFoundFault, @@ -149,6 +169,8 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ResourceAlreadyExistsFault": newErrorResourceAlreadyExistsFault, "ResourceNotFoundFault": newErrorResourceNotFoundFault, "ResourceQuotaExceededFault": newErrorResourceQuotaExceededFault, + "S3AccessDeniedFault": newErrorS3AccessDeniedFault, + "S3ResourceNotFoundFault": newErrorS3ResourceNotFoundFault, "SNSInvalidTopicFault": newErrorSNSInvalidTopicFault, "SNSNoAuthorizationFault": newErrorSNSNoAuthorizationFault, "StorageQuotaExceededFault": newErrorStorageQuotaExceededFault, 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 79b332bbf01..3473737cf83 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 @@ -60,7 +60,7 @@ func (c *DataSync) CancelTaskExecutionRequest(input *CancelTaskExecutionInput) ( // // Cancels execution of a task. // -// When you cancel a task execution, the transfer of some files are abruptly +// When you cancel a task execution, the transfer of some files is abruptly // interrupted. The contents of files that are transferred to the destination // might be incomplete or inconsistent with the source files. However, if you // start a new task execution on the same task and you allow the task execution @@ -156,7 +156,7 @@ func (c *DataSync) CreateAgentRequest(input *CreateAgentInput) (req *request.Req // target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created // in this AWS Region. // -// You can activate the agent in a VPC (Virtual private Cloud) or provide the +// You can activate the agent in a VPC (virtual private cloud) or provide the // agent access to a VPC endpoint so you can run tasks without going over the // public Internet. // @@ -413,7 +413,7 @@ func (c *DataSync) CreateLocationNfsRequest(input *CreateLocationNfsInput) (req // CreateLocationNfs API operation for AWS DataSync. // // Defines a file system on a Network File System (NFS) server that can be read -// from or written to +// 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 @@ -451,6 +451,88 @@ func (c *DataSync) CreateLocationNfsWithContext(ctx aws.Context, input *CreateLo return out, req.Send() } +const opCreateLocationObjectStorage = "CreateLocationObjectStorage" + +// CreateLocationObjectStorageRequest generates a "aws/request.Request" representing the +// client's request for the CreateLocationObjectStorage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateLocationObjectStorage for more information on using the CreateLocationObjectStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateLocationObjectStorageRequest method. +// req, resp := client.CreateLocationObjectStorageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorage +func (c *DataSync) CreateLocationObjectStorageRequest(input *CreateLocationObjectStorageInput) (req *request.Request, output *CreateLocationObjectStorageOutput) { + op := &request.Operation{ + Name: opCreateLocationObjectStorage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateLocationObjectStorageInput{} + } + + output = &CreateLocationObjectStorageOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLocationObjectStorage API operation for AWS DataSync. +// +// Creates an endpoint for a self-managed object storage bucket. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 DataSync's +// API operation CreateLocationObjectStorage for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * InternalException +// This exception is thrown when an error occurs in the AWS DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorage +func (c *DataSync) CreateLocationObjectStorage(input *CreateLocationObjectStorageInput) (*CreateLocationObjectStorageOutput, error) { + req, out := c.CreateLocationObjectStorageRequest(input) + return out, req.Send() +} + +// CreateLocationObjectStorageWithContext is the same as CreateLocationObjectStorage with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLocationObjectStorage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) CreateLocationObjectStorageWithContext(ctx aws.Context, input *CreateLocationObjectStorageInput, opts ...request.Option) (*CreateLocationObjectStorageOutput, error) { + req, out := c.CreateLocationObjectStorageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateLocationS3 = "CreateLocationS3" // CreateLocationS3Request generates a "aws/request.Request" representing the @@ -586,7 +668,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 +// Defines a file system on a Server Message Block (SMB) server that can be // read from or written to. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1269,7 +1351,7 @@ func (c *DataSync) DescribeLocationNfsRequest(input *DescribeLocationNfsInput) ( // DescribeLocationNfs API operation for AWS DataSync. // -// Returns metadata, such as the path information, about a NFS location. +// Returns metadata, such as the path information, about an NFS location. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1307,6 +1389,88 @@ func (c *DataSync) DescribeLocationNfsWithContext(ctx aws.Context, input *Descri return out, req.Send() } +const opDescribeLocationObjectStorage = "DescribeLocationObjectStorage" + +// DescribeLocationObjectStorageRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLocationObjectStorage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeLocationObjectStorage for more information on using the DescribeLocationObjectStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeLocationObjectStorageRequest method. +// req, resp := client.DescribeLocationObjectStorageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorage +func (c *DataSync) DescribeLocationObjectStorageRequest(input *DescribeLocationObjectStorageInput) (req *request.Request, output *DescribeLocationObjectStorageOutput) { + op := &request.Operation{ + Name: opDescribeLocationObjectStorage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeLocationObjectStorageInput{} + } + + output = &DescribeLocationObjectStorageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeLocationObjectStorage API operation for AWS DataSync. +// +// Returns metadata about a self-managed object storage server location. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 DataSync's +// API operation DescribeLocationObjectStorage for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * InternalException +// This exception is thrown when an error occurs in the AWS DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorage +func (c *DataSync) DescribeLocationObjectStorage(input *DescribeLocationObjectStorageInput) (*DescribeLocationObjectStorageOutput, error) { + req, out := c.DescribeLocationObjectStorageRequest(input) + return out, req.Send() +} + +// DescribeLocationObjectStorageWithContext is the same as DescribeLocationObjectStorage with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeLocationObjectStorage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) DescribeLocationObjectStorageWithContext(ctx aws.Context, input *DescribeLocationObjectStorageInput, opts ...request.Option) (*DescribeLocationObjectStorageOutput, error) { + req, out := c.DescribeLocationObjectStorageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeLocationS3 = "DescribeLocationS3" // DescribeLocationS3Request generates a "aws/request.Request" representing the @@ -1433,7 +1597,7 @@ func (c *DataSync) DescribeLocationSmbRequest(input *DescribeLocationSmbInput) ( // DescribeLocationSmb API operation for AWS DataSync. // -// Returns metadata, such as the path and user information about a SMB location. +// Returns metadata, such as the path and user information about an SMB location. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1835,7 +1999,7 @@ func (c *DataSync) ListLocationsRequest(input *ListLocationsInput) (req *request // ListLocations API operation for AWS DataSync. // -// Returns a lists of source and destination locations. +// Returns a list of source and destination locations. // // If you have more locations than are returned in a response (that is, the // response returns only a truncated list of your agents), the response contains @@ -1980,7 +2144,7 @@ func (c *DataSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( // ListTagsForResource API operation for AWS DataSync. // -// Returns all the tags associated with a specified resources. +// Returns all the tags associated with a specified resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2912,11 +3076,11 @@ type CreateAgentInput struct { // in UTF-8 format, and the following special characters: + - = . _ : / @. Tags []*TagListEntry `type:"list"` - // The ID of the VPC (Virtual Private Cloud) endpoint that the agent has access + // The ID of the VPC (virtual private cloud) endpoint that the agent has access // to. This is the client-side VPC endpoint, also called a PrivateLink. If you // don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service // Configuration (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service) - // in the AWS VPC User Guide. + // in the Amazon VPC User Guide. // // VPC endpoint ID looks like this: vpce-01234d5aff67890e1. VpcEndpointId *string `type:"string"` @@ -3061,7 +3225,7 @@ type CreateLocationEfsInput struct { // 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 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. @@ -3323,6 +3487,10 @@ type CreateLocationNfsInput struct { // Contains a list of Amazon Resource Names (ARNs) of agents that are used to // connect to an NFS server. // + // If you are copying data to or from your AWS Snowcone device, see NFS Server + // on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) + // for more information. + // // OnPremConfig is a required field OnPremConfig *OnPremConfig `type:"structure" required:"true"` @@ -3330,6 +3498,10 @@ type CreateLocationNfsInput struct { // (DNS) name of the NFS server. An agent that is installed on-premises uses // this host name to mount the NFS server in a network. // + // If you are copying data to or from your AWS Snowcone device, see NFS Server + // on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) + // for more information. + // // This name must either be DNS-compliant or must be an IP version 4 (IPv4) // address. // @@ -3354,6 +3526,10 @@ type CreateLocationNfsInput struct { // enables the agent to read the files. For the agent to access directories, // you must additionally enable all execute access. // + // If you are copying data to or from your AWS Snowcone device, see NFS Server + // on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) + // for more information. + // // For information about NFS export configuration, see 18.7. The /etc/exports // Configuration File in the Red Hat Enterprise Linux documentation. // @@ -3464,6 +3640,189 @@ func (s *CreateLocationNfsOutput) SetLocationArn(v string) *CreateLocationNfsOut return s } +// CreateLocationObjectStorageRequest +type CreateLocationObjectStorageInput struct { + _ struct{} `type:"structure"` + + // Optional. The access key is used if credentials are required to access the + // self-managed object storage server. + AccessKey *string `min:"8" type:"string"` + + // The Amazon Resource Name (ARN) of the agents associated with the self-managed + // object storage server location. + // + // AgentArns is a required field + AgentArns []*string `min:"1" type:"list" required:"true"` + + // The bucket on the self-managed object storage server that is used to read + // data from. + // + // BucketName is a required field + BucketName *string `min:"3" type:"string" required:"true"` + + // Optional. The secret key is used if credentials are required to access the + // self-managed object storage server. + SecretKey *string `min:"8" type:"string" sensitive:"true"` + + // The name of the self-managed object storage server. This value is the IP + // address or Domain Name Service (DNS) name of the object storage server. An + // agent uses this host name to mount the object storage server in a network. + // + // ServerHostname is a required field + ServerHostname *string `type:"string" required:"true"` + + // The port that your self-managed object storage server accepts inbound network + // traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443 + // (HTTPS). You can specify a custom port if your self-managed object storage + // server requires one. + ServerPort *int64 `min:"1" type:"integer"` + + // The protocol that the object storage server uses to communicate. Valid values + // are HTTP or HTTPS. + ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"` + + // The subdirectory in the self-managed object storage server that is used to + // read data from. + Subdirectory *string `type:"string"` + + // The key-value pair that represents the tag that you want to add to the location. + // The value can be an empty string. We recommend using tags to name your resources. + Tags []*TagListEntry `type:"list"` +} + +// String returns the string representation +func (s CreateLocationObjectStorageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLocationObjectStorageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLocationObjectStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationObjectStorageInput"} + if s.AccessKey != nil && len(*s.AccessKey) < 8 { + invalidParams.Add(request.NewErrParamMinLen("AccessKey", 8)) + } + if s.AgentArns == nil { + invalidParams.Add(request.NewErrParamRequired("AgentArns")) + } + if s.AgentArns != nil && len(s.AgentArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) + } + if s.BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("BucketName")) + } + if s.BucketName != nil && len(*s.BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) + } + if s.SecretKey != nil && len(*s.SecretKey) < 8 { + invalidParams.Add(request.NewErrParamMinLen("SecretKey", 8)) + } + if s.ServerHostname == nil { + invalidParams.Add(request.NewErrParamRequired("ServerHostname")) + } + if s.ServerPort != nil && *s.ServerPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ServerPort", 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 +} + +// SetAccessKey sets the AccessKey field's value. +func (s *CreateLocationObjectStorageInput) SetAccessKey(v string) *CreateLocationObjectStorageInput { + s.AccessKey = &v + return s +} + +// SetAgentArns sets the AgentArns field's value. +func (s *CreateLocationObjectStorageInput) SetAgentArns(v []*string) *CreateLocationObjectStorageInput { + s.AgentArns = v + return s +} + +// SetBucketName sets the BucketName field's value. +func (s *CreateLocationObjectStorageInput) SetBucketName(v string) *CreateLocationObjectStorageInput { + s.BucketName = &v + return s +} + +// SetSecretKey sets the SecretKey field's value. +func (s *CreateLocationObjectStorageInput) SetSecretKey(v string) *CreateLocationObjectStorageInput { + s.SecretKey = &v + return s +} + +// SetServerHostname sets the ServerHostname field's value. +func (s *CreateLocationObjectStorageInput) SetServerHostname(v string) *CreateLocationObjectStorageInput { + s.ServerHostname = &v + return s +} + +// SetServerPort sets the ServerPort field's value. +func (s *CreateLocationObjectStorageInput) SetServerPort(v int64) *CreateLocationObjectStorageInput { + s.ServerPort = &v + return s +} + +// SetServerProtocol sets the ServerProtocol field's value. +func (s *CreateLocationObjectStorageInput) SetServerProtocol(v string) *CreateLocationObjectStorageInput { + s.ServerProtocol = &v + return s +} + +// SetSubdirectory sets the Subdirectory field's value. +func (s *CreateLocationObjectStorageInput) SetSubdirectory(v string) *CreateLocationObjectStorageInput { + s.Subdirectory = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateLocationObjectStorageInput) SetTags(v []*TagListEntry) *CreateLocationObjectStorageInput { + s.Tags = v + return s +} + +// CreateLocationObjectStorageResponse +type CreateLocationObjectStorageOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the agents associated with the self-managed + // object storage server location. + LocationArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateLocationObjectStorageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLocationObjectStorageOutput) GoString() string { + return s.String() +} + +// SetLocationArn sets the LocationArn field's value. +func (s *CreateLocationObjectStorageOutput) SetLocationArn(v string) *CreateLocationObjectStorageOutput { + s.LocationArn = &v + return s +} + // CreateLocationS3Request type CreateLocationS3Input struct { _ struct{} `type:"structure"` @@ -3633,7 +3992,7 @@ 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. + // 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 @@ -3785,12 +4144,6 @@ type CreateTaskInput struct { // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is // used to monitor and log events in the task. - // - // For more information on these groups, see Working with Log Groups and Log - // Streams in the Amazon CloudWatch User Guide. - // - // For more information about how to use CloudWatch Logs with DataSync, see - // Monitoring Your Task in the AWS DataSync User Guide. CloudWatchLogGroupArn *string `type:"string"` // The Amazon Resource Name (ARN) of an AWS storage resource's location. @@ -3814,7 +4167,7 @@ type CreateTaskInput struct { // file permissions, data integrity verification, and so on. // // For each individual task execution, you can override these options by specifying - // the OverrideOptions before starting a the task execution. For more information, + // the OverrideOptions before starting the task execution. For more information, // see the operation. Options *Options `type:"structure"` @@ -4164,7 +4517,7 @@ type DescribeAgentOutput struct { CreationTime *time.Time `type:"timestamp"` // The type of endpoint that your agent is connected to. If the endpoint is - // a VPC endpoint, the agent is not accessible over the public Internet. + // a VPC endpoint, the agent is not accessible over the public internet. EndpointType *string `type:"string" enum:"EndpointType"` // The time that the agent last connected to DataSyc. @@ -4288,7 +4641,7 @@ type DescribeLocationEfsOutput struct { // with the security group on the mount target in the subnet specified. Ec2Config *Ec2Config `type:"structure"` - // The Amazon resource Name (ARN) of the EFS location that was described. + // The Amazon Resource Name (ARN) of the EFS location that was described. LocationArn *string `type:"string"` // The URL of the EFS location that was described. @@ -4376,14 +4729,14 @@ type DescribeLocationFsxWindowsOutput struct { // The name of the Windows domain that the FSx for Windows server belongs to. Domain *string `type:"string"` - // The Amazon resource Name (ARN) of the FSx for Windows location that was described. + // The Amazon Resource Name (ARN) of the FSx for Windows location that was described. LocationArn *string `type:"string"` // The URL of the FSx for Windows location that was described. LocationUri *string `type:"string"` // The Amazon Resource Names (ARNs) of the security groups that are configured - // for the for the FSx for Windows file system. + // for the FSx for Windows file system. SecurityGroupArns []*string `min:"1" type:"list"` // The user who has the permissions to access files and folders in the FSx for @@ -4441,7 +4794,7 @@ func (s *DescribeLocationFsxWindowsOutput) SetUser(v string) *DescribeLocationFs type DescribeLocationNfsInput struct { _ struct{} `type:"structure"` - // The Amazon resource Name (ARN) of the NFS location to describe. + // The Amazon Resource Name (ARN) of the NFS location to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -4483,7 +4836,7 @@ type DescribeLocationNfsOutput struct { // The time that the NFS location was created. CreationTime *time.Time `type:"timestamp"` - // The Amazon resource Name (ARN) of the NFS location that was described. + // The Amazon Resource Name (ARN) of the NFS location that was described. LocationArn *string `type:"string"` // The URL of the source NFS location that was described. @@ -4537,6 +4890,131 @@ func (s *DescribeLocationNfsOutput) SetOnPremConfig(v *OnPremConfig) *DescribeLo return s } +// DescribeLocationObjectStorageRequest +type DescribeLocationObjectStorageInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the self-managed object storage server + // location that was described. + // + // LocationArn is a required field + LocationArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeLocationObjectStorageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLocationObjectStorageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLocationObjectStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationObjectStorageInput"} + if s.LocationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LocationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationObjectStorageInput) SetLocationArn(v string) *DescribeLocationObjectStorageInput { + s.LocationArn = &v + return s +} + +// DescribeLocationObjectStorageResponse +type DescribeLocationObjectStorageOutput struct { + _ struct{} `type:"structure"` + + // Optional. The access key is used if credentials are required to access the + // self-managed object storage server. + AccessKey *string `min:"8" type:"string"` + + // The Amazon Resource Name (ARN) of the agents associated with the self-managed + // object storage server location. + AgentArns []*string `min:"1" type:"list"` + + // The time that the self-managed object storage server agent was created. + CreationTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the self-managed object storage server + // location to describe. + LocationArn *string `type:"string"` + + // The URL of the source self-managed object storage server location that was + // described. + LocationUri *string `type:"string"` + + // The port that your self-managed object storage server accepts inbound network + // traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443 + // (HTTPS). + ServerPort *int64 `min:"1" type:"integer"` + + // The protocol that the object storage server uses to communicate. Valid values + // are HTTP or HTTPS. + ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"` +} + +// String returns the string representation +func (s DescribeLocationObjectStorageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLocationObjectStorageOutput) GoString() string { + return s.String() +} + +// SetAccessKey sets the AccessKey field's value. +func (s *DescribeLocationObjectStorageOutput) SetAccessKey(v string) *DescribeLocationObjectStorageOutput { + s.AccessKey = &v + return s +} + +// SetAgentArns sets the AgentArns field's value. +func (s *DescribeLocationObjectStorageOutput) SetAgentArns(v []*string) *DescribeLocationObjectStorageOutput { + s.AgentArns = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeLocationObjectStorageOutput) SetCreationTime(v time.Time) *DescribeLocationObjectStorageOutput { + s.CreationTime = &v + return s +} + +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationObjectStorageOutput) SetLocationArn(v string) *DescribeLocationObjectStorageOutput { + s.LocationArn = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *DescribeLocationObjectStorageOutput) SetLocationUri(v string) *DescribeLocationObjectStorageOutput { + s.LocationUri = &v + return s +} + +// SetServerPort sets the ServerPort field's value. +func (s *DescribeLocationObjectStorageOutput) SetServerPort(v int64) *DescribeLocationObjectStorageOutput { + s.ServerPort = &v + return s +} + +// SetServerProtocol sets the ServerProtocol field's value. +func (s *DescribeLocationObjectStorageOutput) SetServerProtocol(v string) *DescribeLocationObjectStorageOutput { + s.ServerProtocol = &v + return s +} + // DescribeLocationS3Request type DescribeLocationS3Input struct { _ struct{} `type:"structure"` @@ -4649,7 +5127,7 @@ func (s *DescribeLocationS3Output) SetS3StorageClass(v string) *DescribeLocation type DescribeLocationSmbInput struct { _ struct{} `type:"structure"` - // The Amazon resource Name (ARN) of the SMB location to describe. + // The Amazon Resource Name (ARN) of the SMB location to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -4698,7 +5176,7 @@ type DescribeLocationSmbOutput struct { // The name of the Windows domain that the SMB server belongs to. Domain *string `type:"string"` - // The Amazon resource Name (ARN) of the SMB location that was described. + // The Amazon Resource Name (ARN) of the SMB location that was described. LocationArn *string `type:"string"` // The URL of the source SBM location that was described. @@ -5938,10 +6416,12 @@ type Options struct { // NONE: Ignore UID and GID. Gid *string `type:"string" enum:"Gid"` - // A value that determines the type of logs DataSync will deliver to your AWS - // CloudWatch Logs file. If set to OFF, no logs will be delivered. BASIC will - // deliver a few logs per transfer operation and TRANSFER will deliver a verbose - // log that contains logs for every file that is transferred. + // A value that determines the type of logs that DataSync publishes to a log + // stream in the Amazon CloudWatch log group that you provide. For more information + // about providing a log group for DataSync, see CloudWatchLogGroupArn (https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn). + // If set to OFF, no logs are published. BASIC publishes logs on errors for + // individual files transferred, and TRANSFER publishes logs for every file + // or object that is transferred and integrity checked. LogLevel *string `type:"string" enum:"LogLevel"` // A value that indicates the last time that a file was modified (that is, a @@ -6012,10 +6492,16 @@ type Options struct { // A value that determines whether tasks should be queued before executing the // 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 queue-task-execution. + // If you use the same agent to run multiple tasks, you can enable the tasks + // to run in series. For more information, see queue-task-execution. TaskQueueing *string `type:"string" enum:"TaskQueueing"` + // TransferMode has two values: CHANGED and ALL. CHANGED performs an "incremental" + // or "delta sync", it compares file modification time between source and destination + // to determine which files need to be transferred. ALL skips destination inventory + // and transfers all files discovered on the source. + TransferMode *string `type:"string" enum:"TransferMode"` + // The user ID (UID) of the file's owner. // // Default value: INT_VALUE. This preserves the integer value of the ID. @@ -6027,14 +6513,21 @@ type Options struct { // A value that determines whether a data integrity verification should be performed // at the end of a task execution after all data and metadata have been transferred. + // For more information, see create-task // // Default value: POINT_IN_TIME_CONSISTENT. // - // POINT_IN_TIME_CONSISTENT: Perform verification (recommended). + // ONLY_FILES_TRANSFERRED (recommended): Perform verification only on files + // that were transferred. // - // ONLY_FILES_TRANSFERRED: Perform verification on only files that were transferred. + // POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at + // the end of the transfer to verify that source and destination are fully synchronized. + // This option isn't supported when transferring to S3 Glacier or S3 Glacier + // Deep Archive storage classes. // - // NONE: Skip verification. + // NONE: No additional verification is done at the end of the transfer, but + // all data transmissions are integrity-checked with checksum verification during + // the transfer. VerifyMode *string `type:"string" enum:"VerifyMode"` } @@ -6121,6 +6614,12 @@ func (s *Options) SetTaskQueueing(v string) *Options { return s } +// SetTransferMode sets the TransferMode field's value. +func (s *Options) SetTransferMode(v string) *Options { + s.TransferMode = &v + return s +} + // SetUid sets the Uid field's value. func (s *Options) SetUid(v string) *Options { s.Uid = &v @@ -6133,7 +6632,7 @@ func (s *Options) SetVerifyMode(v string) *Options { return s } -// The VPC endpoint, subnet and security group that an agent uses to access +// The VPC endpoint, subnet, and security group that an agent uses to access // IP addresses in a VPC (Virtual Private Cloud). type PrivateLinkConfig struct { _ struct{} `type:"structure"` @@ -6141,7 +6640,7 @@ type PrivateLinkConfig struct { // The private endpoint that is configured for an agent that has access to IP // addresses in a PrivateLink (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html). // An agent that is configured with this endpoint will not be accessible over - // the public Internet. + // the public internet. PrivateLinkEndpoint *string `min:"7" type:"string"` // The Amazon Resource Names (ARNs) of the security groups that are configured @@ -6155,7 +6654,7 @@ type PrivateLinkConfig struct { // The ID of the VPC endpoint that is configured for an agent. An agent that // is configured with a VPC endpoint will not be accessible over the public - // Internet. + // internet. VpcEndpointId *string `type:"string"` } @@ -7058,6 +7557,14 @@ const ( NfsVersionNfs41 = "NFS4_1" ) +const ( + // ObjectStorageServerProtocolHttps is a ObjectStorageServerProtocol enum value + ObjectStorageServerProtocolHttps = "HTTPS" + + // ObjectStorageServerProtocolHttp is a ObjectStorageServerProtocol enum value + ObjectStorageServerProtocolHttp = "HTTP" +) + const ( // OverwriteModeAlways is a OverwriteMode enum value OverwriteModeAlways = "ALWAYS" @@ -7180,6 +7687,14 @@ const ( TaskStatusUnavailable = "UNAVAILABLE" ) +const ( + // TransferModeChanged is a TransferMode enum value + TransferModeChanged = "CHANGED" + + // TransferModeAll is a TransferMode enum value + TransferModeAll = "ALL" +) + const ( // UidNone is a Uid enum value UidNone = "NONE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go index a611388eb9e..e68e32007c6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go @@ -1620,10 +1620,8 @@ func (c *DirectConnect) CreateDirectConnectGatewayAssociationProposalRequest(inp // Creates a proposal to associate the specified virtual private gateway or // transit gateway with the specified Direct Connect gateway. // -// You can only associate a Direct Connect gateway and virtual private gateway -// or transit gateway when the account that owns the Direct Connect gateway -// and the account that owns the virtual private gateway or transit gateway -// have the same AWS Payer ID. +// You can associate a Direct Connect gateway and virtual private gateway or +// transit gateway that is owned by any 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 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 2e438ca2bad..69dc3dd6c85 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 @@ -3926,13 +3926,13 @@ func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *requ // * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify // ec2.internal. If you're using AmazonProvidedDNS in another Region, specify // region.compute.internal (for example, ap-northeast-1.compute.internal). -// Otherwise, specify a domain name (for example, MyCompany.com). This value -// is used to complete unqualified DNS hostnames. Important: Some Linux operating -// systems accept multiple domain names separated by spaces. However, Windows -// and other Linux operating systems treat the value as a single domain, -// which results in unexpected behavior. If your DHCP options set is associated -// with a VPC that has instances with multiple operating systems, specify -// only one domain name. +// Otherwise, specify a domain name (for example, ExampleCompany.com). This +// value is used to complete unqualified DNS hostnames. Important: Some Linux +// operating systems accept multiple domain names separated by spaces. However, +// Windows and other Linux operating systems treat the value as a single +// domain, which results in unexpected behavior. If your DHCP options set +// is associated with a VPC that has instances with multiple operating systems, +// specify only one domain name. // // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) // servers. @@ -6100,7 +6100,7 @@ func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSub // // Creates a data feed for Spot Instances, enabling you to view Spot Instance // usage logs. You can create one data feed per AWS account. For more information, -// see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) +// see Spot Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -17464,7 +17464,9 @@ func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplat // DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud. // // Describes one or more versions of a specified launch template. You can describe -// all versions, individual versions, or a range of versions. +// all versions, individual versions, or a range of versions. You can also describe +// all the latest versions or all the default versions of all the launch templates +// in your 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 @@ -21302,7 +21304,7 @@ func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafee // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud. // // Describes the data feed for Spot Instances. For more information, see Spot -// Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) +// Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -21820,7 +21822,7 @@ func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInp // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud. // // Describes the Spot price history. For more information, see Spot Instance -// Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) +// pricing history (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) // in the Amazon EC2 User Guide for Linux Instances. // // When you specify a start and end time, this operation returns the prices @@ -28523,6 +28525,138 @@ func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEb return out, req.Send() } +const opGetGroupsForCapacityReservation = "GetGroupsForCapacityReservation" + +// GetGroupsForCapacityReservationRequest generates a "aws/request.Request" representing the +// client's request for the GetGroupsForCapacityReservation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetGroupsForCapacityReservation for more information on using the GetGroupsForCapacityReservation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetGroupsForCapacityReservationRequest method. +// req, resp := client.GetGroupsForCapacityReservationRequest(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/GetGroupsForCapacityReservation +func (c *EC2) GetGroupsForCapacityReservationRequest(input *GetGroupsForCapacityReservationInput) (req *request.Request, output *GetGroupsForCapacityReservationOutput) { + op := &request.Operation{ + Name: opGetGroupsForCapacityReservation, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetGroupsForCapacityReservationInput{} + } + + output = &GetGroupsForCapacityReservationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetGroupsForCapacityReservation API operation for Amazon Elastic Compute Cloud. +// +// Lists the resource groups to which a Capacity Reservation has been added. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 GetGroupsForCapacityReservation for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation +func (c *EC2) GetGroupsForCapacityReservation(input *GetGroupsForCapacityReservationInput) (*GetGroupsForCapacityReservationOutput, error) { + req, out := c.GetGroupsForCapacityReservationRequest(input) + return out, req.Send() +} + +// GetGroupsForCapacityReservationWithContext is the same as GetGroupsForCapacityReservation with the addition of +// the ability to pass a context and additional request options. +// +// See GetGroupsForCapacityReservation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) GetGroupsForCapacityReservationWithContext(ctx aws.Context, input *GetGroupsForCapacityReservationInput, opts ...request.Option) (*GetGroupsForCapacityReservationOutput, error) { + req, out := c.GetGroupsForCapacityReservationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetGroupsForCapacityReservationPages iterates over the pages of a GetGroupsForCapacityReservation operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetGroupsForCapacityReservation 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 GetGroupsForCapacityReservation operation. +// pageNum := 0 +// err := client.GetGroupsForCapacityReservationPages(params, +// func(page *ec2.GetGroupsForCapacityReservationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetGroupsForCapacityReservationPages(input *GetGroupsForCapacityReservationInput, fn func(*GetGroupsForCapacityReservationOutput, bool) bool) error { + return c.GetGroupsForCapacityReservationPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetGroupsForCapacityReservationPagesWithContext same as GetGroupsForCapacityReservationPages 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) GetGroupsForCapacityReservationPagesWithContext(ctx aws.Context, input *GetGroupsForCapacityReservationInput, fn func(*GetGroupsForCapacityReservationOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetGroupsForCapacityReservationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetGroupsForCapacityReservationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetGroupsForCapacityReservationOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview" // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the @@ -28649,6 +28783,12 @@ func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (r // Retrieves the configuration data of the specified instance. You can use this // data to create a launch template. // +// This action calls on other describe actions to get instance information. +// Depending on your instance configuration, you may need to allow the following +// actions in your IAM policy: DescribeSpotInstanceRequests, DescribeInstanceCreditSpecifications, +// DescribeVolumes, DescribeInstanceAttribute, and DescribeElasticGpus. Or, +// you can allow describe* depending on your instance requirements. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -30156,7 +30296,7 @@ func (c *EC2) ModifyAvailabilityZoneGroupRequest(input *ModifyAvailabilityZoneGr // // Enables or disables an Availability Zone group for your account. // -// Use describe-availability-zones (https://docs.aws.amazon.com/AWSEC2ApiDocReef/build/server-root/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) +// Use DescribeAvailabilityZones (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) // to view the value for GroupName. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -34085,7 +34225,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // // Registers an AMI. When you're creating an AMI, this is the final step you // must complete before you can launch an instance from the AMI. For more information -// about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) +// about creating AMIs, see Creating your own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) // in the Amazon Elastic Compute Cloud User Guide. // // For Amazon EBS-backed instances, CreateImage creates and registers the AMI @@ -34093,12 +34233,12 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from // a snapshot of a root device volume. You specify the snapshot using the block -// device mapping. For more information, see Launching a Linux Instance from -// a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html) +// device mapping. For more information, see Launching a Linux instance from +// a backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html) // in the Amazon Elastic Compute Cloud User Guide. // -// You can't register an image where a secondary (non-root) snapshot has AWS -// Marketplace product codes. +// If any snapshots have AWS Marketplace product codes, they are copied to the +// new AMI. // // Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) // and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code @@ -34119,7 +34259,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // a Reserved Instance without the matching billing product code, the Reserved // Instance will not be applied to the On-Demand Instance. For information about // how to obtain the platform details and billing information of an AMI, see -// Obtaining Billing Information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html) +// Obtaining billing information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html) // in the Amazon Elastic Compute Cloud User Guide. // // If needed, you can deregister an AMI at any time. Any modifications you make @@ -35497,7 +35637,7 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques // the fleet. You cannot tag other resource types in a Spot Fleet request because // only the spot-fleet-request and instance resource types are supported. // -// For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) +// For more information, see Spot Fleet requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -35574,7 +35714,7 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req // // Creates a Spot Instance request. // -// For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) +// For more information, see Spot Instance requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -38824,9 +38964,11 @@ type AllocateAddressInput struct { // address from the address pool. CustomerOwnedIpv4Pool *string `type:"string"` - // Set to vpc to allocate the address for use with instances in a VPC. + // Indicates whether the Elastic IP address is for use with instances in a VPC + // or instances in EC2-Classic. // - // Default: The address is for use with instances in EC2-Classic. + // Default: If the Region supports EC2-Classic, the default is standard. Otherwise, + // the default is vpc. Domain *string `type:"string" enum:"DomainType"` // Checks whether you have the required permissions for the action, without @@ -38915,8 +39057,8 @@ type AllocateAddressOutput struct { // The ID of the customer-owned address pool. CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"` - // Indicates whether this Elastic IP address is for use with instances in EC2-Classic - // (standard) or instances in a VPC (vpc). + // Indicates whether the Elastic IP address is for use with instances in a VPC + // (vpc) or instances in EC2-Classic (standard). Domain *string `locationName:"domain" type:"string" enum:"DomainType"` // The location from which the IP address is advertised. @@ -40994,11 +41136,13 @@ type AuthorizeClientVpnIngressInput struct { _ struct{} `type:"structure"` // The ID of the group to grant access to, for example, the Active Directory - // group or identity provider (IdP) group. + // group or identity provider (IdP) group. Required if AuthorizeAllGroups is + // false or not specified. AccessGroupId *string `type:"string"` - // Indicates whether to grant access to all clients. Use true to grant all clients - // who successfully establish a VPN connection access to the network. + // Indicates whether to grant access to all clients. Specify true to grant all + // clients who successfully establish a VPN connection access to the network. + // Must be set to true if AccessGroupId is not specified. AuthorizeAllGroups *bool `type:"boolean"` // Unique, case-sensitive identifier that you provide to ensure the idempotency @@ -41406,7 +41550,7 @@ func (s AuthorizeSecurityGroupIngressOutput) GoString() string { return s.String() } -// Describes an Availability Zone or Local Zone. +// Describes a Zone. type AvailabilityZone struct { _ struct{} `type:"structure"` @@ -41415,7 +41559,7 @@ type AvailabilityZone struct { // For Local Zones, the name of the associated group, for example us-west-2-lax-1. GroupName *string `locationName:"groupName" type:"string"` - // Any messages about the Availability Zone or Local Zone. + // Any messages about the Zone. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"` // The name of the location from which the address is advertised. @@ -41427,17 +41571,28 @@ type AvailabilityZone struct { // are opted-in, and not-opted-in. OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"` + // The ID of the zone that handles some of the Local Zone control plane operations, + // such as API calls. + ParentZoneId *string `locationName:"parentZoneId" type:"string"` + + // The name of the zone that handles some of the Local Zone control plane operations, + // such as API calls. + ParentZoneName *string `locationName:"parentZoneName" type:"string"` + // The name of the Region. RegionName *string `locationName:"regionName" type:"string"` - // The state of the Availability Zone or Local Zone. + // The state of the Zone. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"` - // The ID of the Availability Zone or Local Zone. + // The ID of the Zone. ZoneId *string `locationName:"zoneId" type:"string"` - // The name of the Availability Zone or Local Zone. + // The name of the Zone. ZoneName *string `locationName:"zoneName" type:"string"` + + // The type of zone. The valid values are availability-zone and local-zone. + ZoneType *string `locationName:"zoneType" type:"string"` } // String returns the string representation @@ -41474,6 +41629,18 @@ func (s *AvailabilityZone) SetOptInStatus(v string) *AvailabilityZone { return s } +// SetParentZoneId sets the ParentZoneId field's value. +func (s *AvailabilityZone) SetParentZoneId(v string) *AvailabilityZone { + s.ParentZoneId = &v + return s +} + +// SetParentZoneName sets the ParentZoneName field's value. +func (s *AvailabilityZone) SetParentZoneName(v string) *AvailabilityZone { + s.ParentZoneName = &v + return s +} + // SetRegionName sets the RegionName field's value. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone { s.RegionName = &v @@ -41498,11 +41665,17 @@ func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone { return s } -// Describes a message about an Availability Zone or Local Zone. +// SetZoneType sets the ZoneType field's value. +func (s *AvailabilityZone) SetZoneType(v string) *AvailabilityZone { + s.ZoneType = &v + return s +} + +// Describes a message about a Zone. type AvailabilityZoneMessage struct { _ struct{} `type:"structure"` - // The message about the Availability Zone or Local Zone. + // The message about the Zone. Message *string `locationName:"message" type:"string"` } @@ -42885,6 +43058,39 @@ func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservatio return s } +// Describes a resource group to which a Capacity Reservation has been added. +type CapacityReservationGroup struct { + _ struct{} `type:"structure"` + + // The ARN of the resource group. + GroupArn *string `locationName:"groupArn" type:"string"` + + // The ID of the AWS account that owns the resource group. + OwnerId *string `locationName:"ownerId" type:"string"` +} + +// String returns the string representation +func (s CapacityReservationGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CapacityReservationGroup) GoString() string { + return s.String() +} + +// SetGroupArn sets the GroupArn field's value. +func (s *CapacityReservationGroup) SetGroupArn(v string) *CapacityReservationGroup { + s.GroupArn = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *CapacityReservationGroup) SetOwnerId(v string) *CapacityReservationGroup { + s.OwnerId = &v + return s +} + // Describes the strategy for using unused Capacity Reservations for fulfilling // On-Demand capacity. // @@ -42983,7 +43189,7 @@ func (s *CapacityReservationOptionsRequest) SetUsageStrategy(v string) *Capacity // to run as an On-Demand Instance or to run in any open Capacity Reservation // that has matching attributes (instance type, platform, Availability Zone). // Use the CapacityReservationTarget parameter to explicitly target a specific -// Capacity Reservation. +// Capacity Reservation or a Capacity Reservation group. type CapacityReservationSpecification struct { _ struct{} `type:"structure"` @@ -42997,7 +43203,8 @@ type CapacityReservationSpecification struct { // one is available. The instance runs as an On-Demand Instance. CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"` - // Information about the target Capacity Reservation. + // Information about the target Capacity Reservation or Capacity Reservation + // group. CapacityReservationTarget *CapacityReservationTarget `type:"structure"` } @@ -43028,7 +43235,8 @@ func (s *CapacityReservationSpecification) SetCapacityReservationTarget(v *Capac // instance is configured to run in On-Demand capacity, or if it is configured // in run in any open Capacity Reservation that has matching attributes (instance // type, platform, Availability Zone). The action returns the capacityReservationTarget -// response element if the instance explicily targets a specific Capacity Reservation. +// response element if the instance explicily targets a specific Capacity Reservation +// or Capacity Reservation group. type CapacityReservationSpecificationResponse struct { _ struct{} `type:"structure"` @@ -43042,7 +43250,8 @@ type CapacityReservationSpecificationResponse struct { // one is available. The instance runs in On-Demand capacity. CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"` - // Information about the targeted Capacity Reservation. + // Information about the targeted Capacity Reservation or Capacity Reservation + // group. CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"` } @@ -43068,12 +43277,15 @@ func (s *CapacityReservationSpecificationResponse) SetCapacityReservationTarget( return s } -// Describes a target Capacity Reservation. +// Describes a target Capacity Reservation or Capacity Reservation group. type CapacityReservationTarget struct { _ struct{} `type:"structure"` - // The ID of the Capacity Reservation. + // The ID of the Capacity Reservation in which to run the instance. CapacityReservationId *string `type:"string"` + + // The ARN of the Capacity Reservation resource group in which to run the instance. + CapacityReservationResourceGroupArn *string `type:"string"` } // String returns the string representation @@ -43092,12 +43304,21 @@ func (s *CapacityReservationTarget) SetCapacityReservationId(v string) *Capacity return s } -// Describes a target Capacity Reservation. +// SetCapacityReservationResourceGroupArn sets the CapacityReservationResourceGroupArn field's value. +func (s *CapacityReservationTarget) SetCapacityReservationResourceGroupArn(v string) *CapacityReservationTarget { + s.CapacityReservationResourceGroupArn = &v + return s +} + +// Describes a target Capacity Reservation or Capacity Reservation group. type CapacityReservationTargetResponse struct { _ struct{} `type:"structure"` - // The ID of the Capacity Reservation. + // The ID of the targeted Capacity Reservation. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"` + + // The ARN of the targeted Capacity Reservation group. + CapacityReservationResourceGroupArn *string `locationName:"capacityReservationResourceGroupArn" type:"string"` } // String returns the string representation @@ -43116,6 +43337,12 @@ func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) * return s } +// SetCapacityReservationResourceGroupArn sets the CapacityReservationResourceGroupArn field's value. +func (s *CapacityReservationTargetResponse) SetCapacityReservationResourceGroupArn(v string) *CapacityReservationTargetResponse { + s.CapacityReservationResourceGroupArn = &v + return s +} + // Information about the client certificate used for authentication. type CertificateAuthentication struct { _ struct{} `type:"structure"` @@ -44199,6 +44426,9 @@ type CoipPool struct { // The ID of the local gateway route table. LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"` + // The ARN of the address pool. + PoolArn *string `locationName:"poolArn" min:"1" type:"string"` + // The address ranges of the address pool. PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"` @@ -44225,6 +44455,12 @@ func (s *CoipPool) SetLocalGatewayRouteTableId(v string) *CoipPool { return s } +// SetPoolArn sets the PoolArn field's value. +func (s *CoipPool) SetPoolArn(v string) *CoipPool { + s.PoolArn = &v + return s +} + // SetPoolCidrs sets the PoolCidrs field's value. func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool { s.PoolCidrs = v @@ -44345,7 +44581,8 @@ func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstance type ConnectionLogOptions struct { _ struct{} `type:"structure"` - // The name of the CloudWatch Logs log group. + // The name of the CloudWatch Logs log group. Required if connection logging + // is enabled. CloudwatchLogGroup *string `type:"string"` // The name of the CloudWatch Logs log stream to which the connection data is @@ -45146,8 +45383,6 @@ type CreateCapacityReservationInput struct { // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). - // - // Constraint: Maximum 64 ASCII characters. ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -45783,6 +46018,9 @@ type CreateCustomerGatewayInput struct { // The address must be static. PublicIp *string `locationName:"IpAddress" type:"string"` + // The tags to apply to the customer gateway. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The type of VPN connection that this customer gateway supports (ipsec.1). // // Type is a required field @@ -45845,6 +46083,12 @@ func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewa return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateCustomerGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateCustomerGatewayInput { + s.TagSpecifications = v + return s +} + // SetType sets the Type field's value. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput { s.Type = &v @@ -46010,6 +46254,9 @@ type CreateDhcpOptionsInput struct { // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + + // The tags to assign to the DHCP option. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -46047,6 +46294,12 @@ func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateDhcpOptionsInput) SetTagSpecifications(v []*TagSpecification) *CreateDhcpOptionsInput { + s.TagSpecifications = v + return s +} + type CreateDhcpOptionsOutput struct { _ struct{} `type:"structure"` @@ -46083,6 +46336,9 @@ type CreateEgressOnlyInternetGatewayInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` + // The tags to assign to the egress-only internet gateway. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the VPC for which to create the egress-only internet gateway. // // VpcId is a required field @@ -46124,6 +46380,12 @@ func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOn return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateEgressOnlyInternetGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateEgressOnlyInternetGatewayInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput { s.VpcId = &v @@ -47112,6 +47374,9 @@ type CreateInternetGatewayInput struct { // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + + // The tags to assign to the internet gateway. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -47130,6 +47395,12 @@ func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInp return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateInternetGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateInternetGatewayInput { + s.TagSpecifications = v + return s +} + type CreateInternetGatewayOutput struct { _ struct{} `type:"structure"` @@ -48199,6 +48470,9 @@ type CreateNetworkAclInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // The tags to assign to the network ACL. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the VPC. // // VpcId is a required field @@ -48234,6 +48508,12 @@ func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateNetworkAclInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkAclInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput { s.VpcId = &v @@ -48320,6 +48600,9 @@ type CreateNetworkInterfaceInput struct { // // SubnetId is a required field SubnetId *string `locationName:"subnetId" type:"string" required:"true"` + + // The tags to apply to the new network interface. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -48405,6 +48688,12 @@ func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterf return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateNetworkInterfaceInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkInterfaceInput { + s.TagSpecifications = v + return s +} + // Contains the output of CreateNetworkInterface. type CreateNetworkInterfaceOutput struct { _ struct{} `type:"structure"` @@ -48922,6 +49211,9 @@ type CreateRouteTableInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // The tags to assign to the route table. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the VPC. // // VpcId is a required field @@ -48957,6 +49249,12 @@ func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateRouteTableInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput { s.VpcId = &v @@ -49017,6 +49315,9 @@ type CreateSecurityGroupInput struct { // GroupName is a required field GroupName *string `type:"string" required:"true"` + // The tags to assign to the security group. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // [EC2-VPC] The ID of the VPC. Required for EC2-VPC. VpcId *string `type:"string"` } @@ -49065,6 +49366,12 @@ func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupIn return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateSecurityGroupInput) SetTagSpecifications(v []*TagSpecification) *CreateSecurityGroupInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput { s.VpcId = &v @@ -49076,6 +49383,9 @@ type CreateSecurityGroupOutput struct { // The ID of the security group. GroupId *string `locationName:"groupId" type:"string"` + + // The tags assigned to the security group. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -49094,6 +49404,12 @@ func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOut return s } +// SetTags sets the Tags field's value. +func (s *CreateSecurityGroupOutput) SetTags(v []*Tag) *CreateSecurityGroupOutput { + s.Tags = v + return s +} + type CreateSnapshotInput struct { _ struct{} `type:"structure"` @@ -49387,6 +49703,9 @@ type CreateSubnetInput struct { // ARN, you must also specify the Availability Zone of the Outpost subnet. OutpostArn *string `type:"string"` + // The tags to assign to the subnet. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the VPC. // // VpcId is a required field @@ -49455,6 +49774,12 @@ func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateSubnetInput) SetTagSpecifications(v []*TagSpecification) *CreateSubnetInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput { s.VpcId = &v @@ -51507,6 +51832,9 @@ type CreateVpcInput struct { // The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block. Ipv6Pool *string `type:"string"` + + // The tags to assign to the VPC. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -51574,6 +51902,12 @@ func (s *CreateVpcInput) SetIpv6Pool(v string) *CreateVpcInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateVpcInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcInput { + s.TagSpecifications = v + return s +} + type CreateVpcOutput struct { _ struct{} `type:"structure"` @@ -51621,6 +51955,9 @@ type CreateVpcPeeringConnectionInput struct { // You must specify this parameter in the request. PeerVpcId *string `locationName:"peerVpcId" type:"string"` + // The tags to assign to the peering connection. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the requester VPC. You must specify this parameter in the request. VpcId *string `locationName:"vpcId" type:"string"` } @@ -51659,6 +51996,12 @@ func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeri return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateVpcPeeringConnectionInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcPeeringConnectionInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput { s.VpcId = &v @@ -51706,6 +52049,9 @@ type CreateVpnConnectionInput struct { // The options for the VPN connection. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"` + // The tags to apply to the VPN connection. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the transit gateway. If you specify a transit gateway, you cannot // specify a virtual private gateway. TransitGatewayId *string `type:"string"` @@ -51764,6 +52110,12 @@ func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecificati return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateVpnConnectionInput) SetTagSpecifications(v []*TagSpecification) *CreateVpnConnectionInput { + s.TagSpecifications = v + return s +} + // SetTransitGatewayId sets the TransitGatewayId field's value. func (s *CreateVpnConnectionInput) SetTransitGatewayId(v string) *CreateVpnConnectionInput { s.TransitGatewayId = &v @@ -51893,6 +52245,9 @@ type CreateVpnGatewayInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // The tags to apply to the virtual private gateway. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The type of VPN connection this virtual private gateway supports. // // Type is a required field @@ -51940,6 +52295,12 @@ func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateVpnGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateVpnGatewayInput { + s.TagSpecifications = v + return s +} + // SetType sets the Type field's value. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput { s.Type = &v @@ -51970,12 +52331,12 @@ func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayO return s } -// Describes the credit option for CPU usage of a T2 or T3 instance. +// Describes the credit option for CPU usage of a T2, T3, or T3a instance. type CreditSpecification struct { _ struct{} `type:"structure"` - // The credit option for CPU usage of a T2 or T3 instance. Valid values are - // standard and unlimited. + // The credit option for CPU usage of a T2, T3, or T3a instance. Valid values + // are standard and unlimited. CpuCredits *string `locationName:"cpuCredits" type:"string"` } @@ -51995,12 +52356,12 @@ func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification { return s } -// The credit option for CPU usage of a T2 or T3 instance. +// The credit option for CPU usage of a T2, T3, or T3a instance. type CreditSpecificationRequest struct { _ struct{} `type:"structure"` - // The credit option for CPU usage of a T2 or T3 instance. Valid values are - // standard and unlimited. + // The credit option for CPU usage of a T2, T3, or T3a instance. Valid values + // are standard and unlimited. // // CpuCredits is a required field CpuCredits *string `type:"string" required:"true"` @@ -56512,12 +56873,14 @@ type DescribeAvailabilityZonesInput struct { // Zones, use the name of the group associated with the Local Zone (for example, // us-west-2-lax-1). // - // * message - The Availability Zone or Local Zone message. + // * message - The Zone message. // // * opt-in-status - The opt in status (opted-in, and not-opted-in | opt-in-not-required). // - // * region-name - The name of the Region for the Availability Zone or Local - // Zone (for example, us-east-1). + // * The ID of the zone that handles some of the Local Zone control plane + // operations, such as API calls. + // + // * region-name - The name of the Region for the Zone (for example, us-east-1). // // * state - The state of the Availability Zone or Local Zone (available // | information | impaired | unavailable). @@ -56525,14 +56888,18 @@ type DescribeAvailabilityZonesInput struct { // * zone-id - The ID of the Availability Zone (for example, use1-az1) or // the Local Zone (for example, use usw2-lax1-az1). // + // * zone-type - The type of zone, for example, local-zone. + // // * zone-name - The name of the Availability Zone (for example, us-east-1a) // or the Local Zone (for example, use us-west-2-lax-1a). + // + // * zone-type - The type of zone, for example, local-zone. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The IDs of the Availability Zones and Local Zones. + // The IDs of the Zones. ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"` - // The names of the Availability Zones and Local Zones. + // The names of the Zones. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"` } @@ -56579,7 +56946,7 @@ func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvai type DescribeAvailabilityZonesOutput struct { _ struct{} `type:"structure"` - // Information about the Availability Zones and Local Zones. + // Information about the Zones. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"` } @@ -56854,10 +57221,11 @@ type DescribeCapacityReservationsInput struct { // The maximum number of results to return for the request in a single page. // The remaining results can be seen by sending another request with the returned - // nextToken value. + // nextToken value. This value can be between 5 and 500. If maxResults is given + // a larger value than 500, you receive an error. MaxResults *int64 `min:"1" type:"integer"` - // The token to retrieve the next page of results. + // The token to use to retrieve the next page of results. NextToken *string `type:"string"` } @@ -60363,11 +60731,13 @@ type DescribeImagesInput struct { // // * name - The name of the AMI (provided during image creation). // - // * owner-alias - String value from an Amazon-maintained list (amazon | - // aws-marketplace | microsoft) of snapshot owners. Not to be confused with - // the user-configured AWS account alias, which is set from the IAM console. + // * owner-alias - The owner alias, from an Amazon-maintained list (amazon + // | aws-marketplace). This is not the user-configured AWS account alias + // set using the IAM console. We recommend that you use the related parameter + // instead of this filter. // - // * owner-id - The AWS account ID of the image owner. + // * owner-id - The AWS account ID of the owner. We recommend that you use + // the related parameter instead of this filter. // // * platform - The platform. To only list Windows-based AMIs, use windows. // @@ -60409,10 +60779,10 @@ type DescribeImagesInput struct { // Default: Describes all images available to you. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"` - // Filters the images by the owner. Specify an AWS account ID, self (owner is - // the sender of the request), or an AWS owner alias (valid values are amazon - // | aws-marketplace | microsoft). Omitting this option returns all images for - // which you have launch permissions, regardless of ownership. + // Scopes the results to images with the specified owners. You can specify a + // combination of AWS account IDs, self, amazon, and aws-marketplace. If you + // omit this parameter, the results include all images for which you have launch + // permissions, regardless of ownership. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"` } @@ -62256,12 +62626,16 @@ type DescribeLaunchTemplateVersionsInput struct { // * ram-disk-id - The RAM disk ID. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The ID of the launch template. You must specify either the launch template - // ID or launch template name in the request. + // The ID of the launch template. To describe one or more versions of a specified + // launch template, you must specify either the launch template ID or the launch + // template name in the request. To describe all the latest or default launch + // template versions in your account, you must omit this parameter. LaunchTemplateId *string `type:"string"` - // The name of the launch template. You must specify either the launch template - // ID or launch template name in the request. + // The name of the launch template. To describe one or more versions of a specified + // launch template, you must specify either the launch template ID or the launch + // template name in the request. To describe all the latest or default launch + // template versions in your account, you must omit this parameter. LaunchTemplateName *string `min:"3" type:"string"` // The maximum number of results to return in a single call. To retrieve the @@ -62278,7 +62652,18 @@ type DescribeLaunchTemplateVersionsInput struct { // The token to request the next page of results. NextToken *string `type:"string"` - // One or more versions of the launch template. + // One or more versions of the launch template. Valid values depend on whether + // you are describing a specified launch template (by ID or name) or all launch + // templates in your account. + // + // To describe one or more versions of a specified launch template, valid values + // are $Latest, $Default, and numbers. + // + // To describe all launch templates in your account that are defined as the + // latest version, the valid value is $Latest. To describe all launch templates + // in your account that are defined as the default version, the valid value + // is $Default. You can specify $Latest and $Default in the same call. You cannot + // specify numbers. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"` } @@ -65324,8 +65709,6 @@ type DescribeRouteTablesInput struct { // to find all resources assigned a tag with a specific key, regardless of // the tag value. // - // * transit-gateway-id - The ID of a transit gateway. - // // * vpc-id - The ID of the VPC for the route table. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -66770,7 +67153,7 @@ type DescribeSpotInstanceRequestsInput struct { // * state - The state of the Spot Instance request (open | active | closed // | cancelled | failed). Spot request status information can help you track // your Amazon EC2 Spot Instance requests. For more information, see Spot - // Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // request status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // in the Amazon EC2 User Guide for Linux Instances. // // * status-code - The short code describing the most recent evaluation of @@ -76440,12 +76823,13 @@ type GetCapacityReservationUsageInput struct { // The maximum number of results to return for the request in a single page. // The remaining results can be seen by sending another request with the returned - // nextToken value. + // nextToken value. This value can be between 5 and 500. If maxResults is given + // a larger value than 500, you receive an error. // // Valid range: Minimum value of 1. Maximum value of 1000. MaxResults *int64 `min:"1" type:"integer"` - // The token to retrieve the next page of results. + // The token to use to retrieve the next page of results. NextToken *string `type:"string"` } @@ -77092,6 +77476,114 @@ func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *Get return s } +type GetGroupsForCapacityReservationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Capacity Reservation. + // + // CapacityReservationId is a required field + CapacityReservationId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the returned + // nextToken value. This value can be between 5 and 500. If maxResults is given + // a larger value than 500, you receive an error. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to use to retrieve the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetGroupsForCapacityReservationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupsForCapacityReservationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetGroupsForCapacityReservationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGroupsForCapacityReservationInput"} + if s.CapacityReservationId == nil { + invalidParams.Add(request.NewErrParamRequired("CapacityReservationId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapacityReservationId sets the CapacityReservationId field's value. +func (s *GetGroupsForCapacityReservationInput) SetCapacityReservationId(v string) *GetGroupsForCapacityReservationInput { + s.CapacityReservationId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *GetGroupsForCapacityReservationInput) SetDryRun(v bool) *GetGroupsForCapacityReservationInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetGroupsForCapacityReservationInput) SetMaxResults(v int64) *GetGroupsForCapacityReservationInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetGroupsForCapacityReservationInput) SetNextToken(v string) *GetGroupsForCapacityReservationInput { + s.NextToken = &v + return s +} + +type GetGroupsForCapacityReservationOutput struct { + _ struct{} `type:"structure"` + + // Information about the resource groups to which the Capacity Reservation has + // been added. + CapacityReservationGroups []*CapacityReservationGroup `locationName:"capacityReservationGroupSet" 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 GetGroupsForCapacityReservationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupsForCapacityReservationOutput) GoString() string { + return s.String() +} + +// SetCapacityReservationGroups sets the CapacityReservationGroups field's value. +func (s *GetGroupsForCapacityReservationOutput) SetCapacityReservationGroups(v []*CapacityReservationGroup) *GetGroupsForCapacityReservationOutput { + s.CapacityReservationGroups = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetGroupsForCapacityReservationOutput) SetNextToken(v string) *GetGroupsForCapacityReservationOutput { + s.NextToken = &v + return s +} + type GetHostReservationPurchasePreviewInput struct { _ struct{} `type:"structure"` @@ -84336,7 +84828,7 @@ func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *Laun // to configure the instance to run in On-Demand capacity or to run in any open // Capacity Reservation that has matching attributes (instance type, platform, // Availability Zone). Use the CapacityReservationTarget parameter to explicitly -// target a specific Capacity Reservation. +// target a specific Capacity Reservation or a Capacity Reservation group. type LaunchTemplateCapacityReservationSpecificationRequest struct { _ struct{} `type:"structure"` @@ -84350,7 +84842,8 @@ type LaunchTemplateCapacityReservationSpecificationRequest struct { // one is available. The instance runs in On-Demand capacity. CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"` - // Information about the target Capacity Reservation. + // Information about the target Capacity Reservation or Capacity Reservation + // group. CapacityReservationTarget *CapacityReservationTarget `type:"structure"` } @@ -84390,7 +84883,8 @@ type LaunchTemplateCapacityReservationSpecificationResponse struct { // one is available. The instance runs in On-Demand capacity. CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"` - // Information about the target Capacity Reservation. + // Information about the target Capacity Reservation or Capacity Reservation + // group. CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"` } @@ -97084,8 +97578,8 @@ type RequestLaunchTemplateData struct { // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"` - // The credit option for CPU usage of the instance. Valid for T2 or T3 instances - // only. + // The credit option for CPU usage of the instance. Valid for T2, T3, or T3a + // instances only. CreditSpecification *CreditSpecificationRequest `type:"structure"` // If you set this parameter to true, you can't terminate the instance using @@ -97547,6 +98041,12 @@ type RequestSpotInstancesInput struct { // The default is the On-Demand price. SpotPrice *string `locationName:"spotPrice" type:"string"` + // The key-value pair for tagging the Spot Instance request on creation. The + // value for ResourceType must be spot-instances-request, otherwise the Spot + // Instance request fails. To tag the Spot Instance request after it has been + // created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The Spot Instance request type. // // Default: one-time @@ -97650,6 +98150,12 @@ func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstances return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *RequestSpotInstancesInput) SetTagSpecifications(v []*TagSpecification) *RequestSpotInstancesInput { + s.TagSpecifications = v + return s +} + // SetType sets the Type field's value. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput { s.Type = &v @@ -104003,7 +104509,7 @@ type SpotFleetRequestConfigData struct { // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) // role that grants the Spot Fleet the permission to request, launch, terminate, - // and tag instances on your behalf. For more information, see Spot Fleet Prerequisites + // and tag instances on your behalf. For more information, see Spot Fleet prerequisites // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) // in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate // Spot Instances on your behalf when you cancel its Spot Fleet request using @@ -104395,7 +104901,7 @@ type SpotInstanceRequest struct { SpotPrice *string `locationName:"spotPrice" type:"string"` // The state of the Spot Instance request. Spot status information helps track - // your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // your Spot Instance requests. For more information, see Spot status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // in the Amazon EC2 User Guide for Linux Instances. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"` @@ -104581,7 +105087,7 @@ func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault { type SpotInstanceStatus struct { _ struct{} `type:"structure"` - // The status code. For a list of status codes, see Spot Status Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) + // The status code. For a list of status codes, see Spot status codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) // in the Amazon EC2 User Guide for Linux Instances. Code *string `locationName:"code" type:"string"` @@ -105941,13 +106447,17 @@ type TagSpecification struct { _ struct{} `type:"structure"` // The type of resource to tag. Currently, the resource types that support tagging - // on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host - // | fleet | fpga-image | host-reservation | instance | ipv4pool-ec2 | ipv6pool-ec2 - // | key-pair | launch-template | natgateway | spot-fleet-request | placement-group - // | prefix-list | snapshot | traffic-mirror-filter | traffic-mirror-session - // | traffic-mirror-target | transit-gateway | transit-gateway-attachment | - // transit-gateway-route-table | vpc-endpoint (for interface and gateway endpoints) - // | vpc-endpoint-service (for AWS PrivateLink) | volume | vpc-flow-log. + // on creation are: capacity-reservation | client-vpn-endpoint | customer-gateway + // | dedicated-host | dhcp-options | export-image-task | export-instance-task + // | fleet | fpga-image | host-reservation | import-image-task | import-snapshot-task + // | instance | internet-gateway | ipv4pool-ec2 | ipv6pool-ec2 | key-pair | + // launch-template | placement-group | prefix-list | natgateway | network-acl + // | route-table | security-group | spot-fleet-request | spot-instances-request + // | snapshot | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target + // | transit-gateway | transit-gateway-attachment | transit-gateway-route-table + // | volume |vpc | vpc-peering-connection | vpc-endpoint (for interface and + // gateway endpoints) | vpc-endpoint-service (for AWS PrivateLink) | vpc-flow-log + // | vpn-connection | vpn-gateway. // // To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` @@ -108058,28 +108568,28 @@ type TransitGatewayRequestOptions struct { // A private Autonomous System Number (ASN) for the Amazon side of a BGP session. // The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 - // for 32-bit ASNs. + // for 32-bit ASNs. The default is 64512. AmazonSideAsn *int64 `type:"long"` - // Enable or disable automatic acceptance of attachment requests. The default - // is disable. + // Enable or disable automatic acceptance of attachment requests. Disabled by + // default. AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"` // Enable or disable automatic association with the default association route - // table. The default is enable. + // table. Enabled by default. DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"` // Enable or disable automatic propagation of routes to the default propagation - // route table. The default is enable. + // route table. Enabled by default. DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"` - // Enable or disable DNS support. + // Enable or disable DNS support. Enabled by default. DnsSupport *string `type:"string" enum:"DnsSupportValue"` // Indicates whether multicast is enabled on the transit gateway MulticastSupport *string `type:"string" enum:"MulticastSupportValue"` - // Enable or disable Equal Cost Multipath Protocol support. + // Enable or disable Equal Cost Multipath Protocol support. Enabled by default. VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"` } @@ -112063,6 +112573,9 @@ const ( // CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise" + + // CapacityReservationInstancePlatformWindowsByol is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformWindowsByol = "Windows BYOL" ) const ( @@ -113102,6 +113615,33 @@ const ( // InstanceTypeR6g16xlarge is a InstanceType enum value InstanceTypeR6g16xlarge = "r6g.16xlarge" + // InstanceTypeR6gdMetal is a InstanceType enum value + InstanceTypeR6gdMetal = "r6gd.metal" + + // InstanceTypeR6gdMedium is a InstanceType enum value + InstanceTypeR6gdMedium = "r6gd.medium" + + // InstanceTypeR6gdLarge is a InstanceType enum value + InstanceTypeR6gdLarge = "r6gd.large" + + // InstanceTypeR6gdXlarge is a InstanceType enum value + InstanceTypeR6gdXlarge = "r6gd.xlarge" + + // InstanceTypeR6gd2xlarge is a InstanceType enum value + InstanceTypeR6gd2xlarge = "r6gd.2xlarge" + + // InstanceTypeR6gd4xlarge is a InstanceType enum value + InstanceTypeR6gd4xlarge = "r6gd.4xlarge" + + // InstanceTypeR6gd8xlarge is a InstanceType enum value + InstanceTypeR6gd8xlarge = "r6gd.8xlarge" + + // InstanceTypeR6gd12xlarge is a InstanceType enum value + InstanceTypeR6gd12xlarge = "r6gd.12xlarge" + + // InstanceTypeR6gd16xlarge is a InstanceType enum value + InstanceTypeR6gd16xlarge = "r6gd.16xlarge" + // InstanceTypeX116xlarge is a InstanceType enum value InstanceTypeX116xlarge = "x1.16xlarge" @@ -113348,6 +113888,33 @@ const ( // InstanceTypeC6g16xlarge is a InstanceType enum value InstanceTypeC6g16xlarge = "c6g.16xlarge" + // InstanceTypeC6gdMetal is a InstanceType enum value + InstanceTypeC6gdMetal = "c6gd.metal" + + // InstanceTypeC6gdMedium is a InstanceType enum value + InstanceTypeC6gdMedium = "c6gd.medium" + + // InstanceTypeC6gdLarge is a InstanceType enum value + InstanceTypeC6gdLarge = "c6gd.large" + + // InstanceTypeC6gdXlarge is a InstanceType enum value + InstanceTypeC6gdXlarge = "c6gd.xlarge" + + // InstanceTypeC6gd2xlarge is a InstanceType enum value + InstanceTypeC6gd2xlarge = "c6gd.2xlarge" + + // InstanceTypeC6gd4xlarge is a InstanceType enum value + InstanceTypeC6gd4xlarge = "c6gd.4xlarge" + + // InstanceTypeC6gd8xlarge is a InstanceType enum value + InstanceTypeC6gd8xlarge = "c6gd.8xlarge" + + // InstanceTypeC6gd12xlarge is a InstanceType enum value + InstanceTypeC6gd12xlarge = "c6gd.12xlarge" + + // InstanceTypeC6gd16xlarge is a InstanceType enum value + InstanceTypeC6gd16xlarge = "c6gd.16xlarge" + // InstanceTypeCc14xlarge is a InstanceType enum value InstanceTypeCc14xlarge = "cc1.4xlarge" @@ -113740,6 +114307,33 @@ const ( // InstanceTypeM6g16xlarge is a InstanceType enum value InstanceTypeM6g16xlarge = "m6g.16xlarge" + + // InstanceTypeM6gdMetal is a InstanceType enum value + InstanceTypeM6gdMetal = "m6gd.metal" + + // InstanceTypeM6gdMedium is a InstanceType enum value + InstanceTypeM6gdMedium = "m6gd.medium" + + // InstanceTypeM6gdLarge is a InstanceType enum value + InstanceTypeM6gdLarge = "m6gd.large" + + // InstanceTypeM6gdXlarge is a InstanceType enum value + InstanceTypeM6gdXlarge = "m6gd.xlarge" + + // InstanceTypeM6gd2xlarge is a InstanceType enum value + InstanceTypeM6gd2xlarge = "m6gd.2xlarge" + + // InstanceTypeM6gd4xlarge is a InstanceType enum value + InstanceTypeM6gd4xlarge = "m6gd.4xlarge" + + // InstanceTypeM6gd8xlarge is a InstanceType enum value + InstanceTypeM6gd8xlarge = "m6gd.8xlarge" + + // InstanceTypeM6gd12xlarge is a InstanceType enum value + InstanceTypeM6gd12xlarge = "m6gd.12xlarge" + + // InstanceTypeM6gd16xlarge is a InstanceType enum value + InstanceTypeM6gd16xlarge = "m6gd.16xlarge" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go index 12e2e1bd6a6..1a185d7c0aa 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go @@ -369,7 +369,7 @@ func (c *ECR) CompleteLayerUploadRequest(input *CompleteLayerUploadInput) (req * // repository and ensure that you are performing operations on the correct registry. // // * UploadNotFoundException -// The upload could not be found, or the specified upload id is not valid for +// The upload could not be found, or the specified upload ID is not valid for // this repository. // // * InvalidLayerException @@ -385,6 +385,9 @@ func (c *ECR) CompleteLayerUploadRequest(input *CompleteLayerUploadInput) (req * // * EmptyUploadException // The specified layer upload does not contain any layer parts. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CompleteLayerUpload func (c *ECR) CompleteLayerUpload(input *CompleteLayerUploadInput) (*CompleteLayerUploadOutput, error) { req, out := c.CompleteLayerUploadRequest(input) @@ -486,6 +489,9 @@ func (c *ECR) CreateRepositoryRequest(input *CreateRepositoryInput) (req *reques // for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html) // in the Amazon Elastic Container Registry User Guide. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreateRepository func (c *ECR) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryOutput, error) { req, out := c.CreateRepositoryRequest(input) @@ -669,6 +675,9 @@ func (c *ECR) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *reques // The specified repository contains images. To delete a repository that contains // images, you must force the deletion with the force parameter. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepository func (c *ECR) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) { req, out := c.DeleteRepositoryRequest(input) @@ -1830,6 +1839,9 @@ func (c *ECR) InitiateLayerUploadRequest(input *InitiateLayerUploadInput) (req * // The specified repository could not be found. Check the spelling of the specified // repository and ensure that you are performing operations on the correct registry. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/InitiateLayerUpload func (c *ECR) InitiateLayerUpload(input *InitiateLayerUploadInput) (*InitiateLayerUploadOutput, error) { req, out := c.InitiateLayerUploadRequest(input) @@ -2184,6 +2196,13 @@ func (c *ECR) PutImageRequest(input *PutImageInput) (req *request.Request, outpu // The specified image is tagged with a tag that already exists. The repository // is configured for tag immutability. // +// * ImageDigestDoesNotMatchException +// The specified image digest does not match the digest that Amazon ECR calculated +// for the image. +// +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImage func (c *ECR) PutImage(input *PutImageInput) (*PutImageOutput, error) { req, out := c.PutImageRequest(input) @@ -2731,8 +2750,8 @@ func (c *ECR) StartLifecyclePolicyPreviewRequest(input *StartLifecyclePolicyPrev // The lifecycle policy could not be found, and no policy is set to the repository. // // * LifecyclePolicyPreviewInProgressException -// The previous lifecycle policy preview request has not completed. Please try -// again later. +// The previous lifecycle policy preview request has not completed. Wait and +// try again. // // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartLifecyclePolicyPreview func (c *ECR) StartLifecyclePolicyPreview(input *StartLifecyclePolicyPreviewInput) (*StartLifecyclePolicyPreviewOutput, error) { @@ -3029,7 +3048,7 @@ func (c *ECR) UploadLayerPartRequest(input *UploadLayerPartInput) (req *request. // repository and ensure that you are performing operations on the correct registry. // // * UploadNotFoundException -// The upload could not be found, or the specified upload id is not valid for +// The upload could not be found, or the specified upload ID is not valid for // this repository. // // * LimitExceededException @@ -3037,6 +3056,9 @@ func (c *ECR) UploadLayerPartRequest(input *UploadLayerPartInput) (req *request. // for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html) // in the Amazon Elastic Container Registry User Guide. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UploadLayerPart func (c *ECR) UploadLayerPart(input *UploadLayerPartInput) (*UploadLayerPartOutput, error) { req, out := c.UploadLayerPartRequest(input) @@ -3617,9 +3639,12 @@ func (s *CompleteLayerUploadOutput) SetUploadId(v string) *CompleteLayerUploadOu type CreateRepositoryInput struct { _ struct{} `type:"structure"` - // The image scanning configuration for the repository. This setting determines - // whether images are scanned for known vulnerabilities after being pushed to - // the repository. + // The encryption configuration for the repository. This determines how the + // contents of your repository are encrypted at rest. + EncryptionConfiguration *EncryptionConfiguration `locationName:"encryptionConfiguration" type:"structure"` + + // The image scanning configuration for the repository. This determines whether + // images are scanned for known vulnerabilities after being pushed to the repository. ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` // The tag mutability setting for the repository. If this parameter is omitted, @@ -3661,6 +3686,11 @@ func (s *CreateRepositoryInput) Validate() error { if s.RepositoryName != nil && len(*s.RepositoryName) < 2 { invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2)) } + if s.EncryptionConfiguration != nil { + if err := s.EncryptionConfiguration.Validate(); err != nil { + invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3668,6 +3698,12 @@ func (s *CreateRepositoryInput) Validate() error { return nil } +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *CreateRepositoryInput) SetEncryptionConfiguration(v *EncryptionConfiguration) *CreateRepositoryInput { + s.EncryptionConfiguration = v + return s +} + // SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. func (s *CreateRepositoryInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *CreateRepositoryInput { s.ImageScanningConfiguration = v @@ -4518,6 +4554,87 @@ func (s *EmptyUploadException) RequestID() string { return s.RespMetadata.RequestID } +// The encryption configuration for the repository. This determines how the +// contents of your repository are encrypted at rest. +// +// By default, when no encryption configuration is set or the AES256 encryption +// type is used, Amazon ECR uses server-side encryption with Amazon S3-managed +// encryption keys which encrypts your data at rest using an AES-256 encryption +// algorithm. This does not require any action on your part. +// +// For more control over the encryption of the contents of your repository, +// you can use server-side encryption with customer master keys (CMKs) stored +// in AWS Key Management Service (AWS KMS) to encrypt your images. For more +// information, see Amazon ECR encryption at rest (https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) +// in the Amazon Elastic Container Registry User Guide. +type EncryptionConfiguration struct { + _ struct{} `type:"structure"` + + // The encryption type to use. + // + // If you use the KMS encryption type, the contents of the repository will be + // encrypted using server-side encryption with customer master keys (CMKs) stored + // in AWS KMS. When you use AWS KMS to encrypt your data, you can either use + // the default AWS managed CMK for Amazon ECR, or specify your own CMK, which + // you already created. For more information, see Protecting Data Using Server-Side + // Encryption with CMKs Stored in AWS Key Management Service (SSE-KMS) (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) + // in the Amazon Simple Storage Service Console Developer Guide.. + // + // If you use the AES256 encryption type, Amazon ECR uses server-side encryption + // with Amazon S3-managed encryption keys which encrypts the images in the repository + // using an AES-256 encryption algorithm. For more information, see Protecting + // Data Using Server-Side Encryption with Amazon S3-Managed Encryption Keys + // (SSE-S3) (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) + // in the Amazon Simple Storage Service Console Developer Guide.. + // + // EncryptionType is a required field + EncryptionType *string `locationName:"encryptionType" type:"string" required:"true" enum:"EncryptionType"` + + // If you use the KMS encryption type, specify the CMK to use for encryption. + // The alias, key ID, or full ARN of the CMK can be specified. The key must + // exist in the same Region as the repository. If no key is specified, the default + // AWS managed CMK for Amazon ECR will be used. + KmsKey *string `locationName:"kmsKey" min:"1" type:"string"` +} + +// String returns the string representation +func (s EncryptionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} + if s.EncryptionType == nil { + invalidParams.Add(request.NewErrParamRequired("EncryptionType")) + } + if s.KmsKey != nil && len(*s.KmsKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionType sets the EncryptionType field's value. +func (s *EncryptionConfiguration) SetEncryptionType(v string) *EncryptionConfiguration { + s.EncryptionType = &v + return s +} + +// SetKmsKey sets the KmsKey field's value. +func (s *EncryptionConfiguration) SetKmsKey(v string) *EncryptionConfiguration { + s.KmsKey = &v + return s +} + type GetAuthorizationTokenInput struct { _ struct{} `type:"structure"` @@ -5280,6 +5397,63 @@ func (s *ImageDetail) SetRepositoryName(v string) *ImageDetail { return s } +// The specified image digest does not match the digest that Amazon ECR calculated +// for the image. +type ImageDigestDoesNotMatchException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ImageDigestDoesNotMatchException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageDigestDoesNotMatchException) GoString() string { + return s.String() +} + +func newErrorImageDigestDoesNotMatchException(v protocol.ResponseMetadata) error { + return &ImageDigestDoesNotMatchException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ImageDigestDoesNotMatchException) Code() string { + return "ImageDigestDoesNotMatchException" +} + +// Message returns the exception's message. +func (s *ImageDigestDoesNotMatchException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ImageDigestDoesNotMatchException) OrigErr() error { + return nil +} + +func (s *ImageDigestDoesNotMatchException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ImageDigestDoesNotMatchException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ImageDigestDoesNotMatchException) RequestID() string { + return s.RespMetadata.RequestID +} + // An object representing an Amazon ECR image failure. type ImageFailure struct { _ struct{} `type:"structure"` @@ -6025,6 +6199,65 @@ func (s *InvalidTagParameterException) RequestID() string { return s.RespMetadata.RequestID } +// The operation failed due to a KMS exception. +type KmsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The error code returned by AWS KMS. + KmsError *string `locationName:"kmsError" type:"string"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s KmsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KmsException) GoString() string { + return s.String() +} + +func newErrorKmsException(v protocol.ResponseMetadata) error { + return &KmsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *KmsException) Code() string { + return "KmsException" +} + +// Message returns the exception's message. +func (s *KmsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *KmsException) OrigErr() error { + return nil +} + +func (s *KmsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *KmsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *KmsException) RequestID() string { + return s.RespMetadata.RequestID +} + // An object representing an Amazon ECR image layer. type Layer struct { _ struct{} `type:"structure"` @@ -6429,8 +6662,8 @@ func (s *LifecyclePolicyPreviewFilter) SetTagStatus(v string) *LifecyclePolicyPr return s } -// The previous lifecycle policy preview request has not completed. Please try -// again later. +// The previous lifecycle policy preview request has not completed. Wait and +// try again. type LifecyclePolicyPreviewInProgressException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6929,6 +7162,9 @@ func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput type PutImageInput struct { _ struct{} `type:"structure"` + // The image digest of the image manifest corresponding to the image. + ImageDigest *string `locationName:"imageDigest" type:"string"` + // The image manifest corresponding to the image to be uploaded. // // ImageManifest is a required field @@ -6940,7 +7176,8 @@ type PutImageInput struct { ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"` // The tag to associate with the image. This parameter is required for images - // that use the Docker Image Manifest V2 Schema 2 or OCI formats. + // that use the Docker Image Manifest V2 Schema 2 or Open Container Initiative + // (OCI) formats. ImageTag *string `locationName:"imageTag" min:"1" type:"string"` // The AWS account ID associated with the registry that contains the repository @@ -6989,6 +7226,12 @@ func (s *PutImageInput) Validate() error { return nil } +// SetImageDigest sets the ImageDigest field's value. +func (s *PutImageInput) SetImageDigest(v string) *PutImageInput { + s.ImageDigest = &v + return s +} + // SetImageManifest sets the ImageManifest field's value. func (s *PutImageInput) SetImageManifest(v string) *PutImageInput { s.ImageManifest = &v @@ -7433,6 +7676,10 @@ type Repository struct { // The date and time, in JavaScript date format, when the repository was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // The encryption configuration for the repository. This determines how the + // contents of your repository are encrypted at rest. + EncryptionConfiguration *EncryptionConfiguration `locationName:"encryptionConfiguration" type:"structure"` + // The image scanning configuration for a repository. ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` @@ -7451,8 +7698,8 @@ type Repository struct { // The name of the repository. RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"` - // The URI for the repository. You can use this URI for Docker push or pull - // operations. + // The URI for the repository. You can use this URI for container image push + // and pull operations. RepositoryUri *string `locationName:"repositoryUri" type:"string"` } @@ -7472,6 +7719,12 @@ func (s *Repository) SetCreatedAt(v time.Time) *Repository { return s } +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *Repository) SetEncryptionConfiguration(v *EncryptionConfiguration) *Repository { + s.EncryptionConfiguration = v + return s +} + // SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. func (s *Repository) SetImageScanningConfiguration(v *ImageScanningConfiguration) *Repository { s.ImageScanningConfiguration = v @@ -8656,7 +8909,7 @@ func (s *UploadLayerPartOutput) SetUploadId(v string) *UploadLayerPartOutput { return s } -// The upload could not be found, or the specified upload id is not valid for +// The upload could not be found, or the specified upload ID is not valid for // this repository. type UploadNotFoundException struct { _ struct{} `type:"structure"` @@ -8714,6 +8967,14 @@ func (s *UploadNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +const ( + // EncryptionTypeAes256 is a EncryptionType enum value + EncryptionTypeAes256 = "AES256" + + // EncryptionTypeKms is a EncryptionType enum value + EncryptionTypeKms = "KMS" +) + const ( // FindingSeverityInformational is a FindingSeverity enum value FindingSeverityInformational = "INFORMATIONAL" @@ -8757,6 +9018,9 @@ const ( // ImageFailureCodeImageReferencedByManifestList is a ImageFailureCode enum value ImageFailureCodeImageReferencedByManifestList = "ImageReferencedByManifestList" + + // ImageFailureCodeKmsError is a ImageFailureCode enum value + ImageFailureCodeKmsError = "KmsError" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go index d970974bcda..3c3843ae3e5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go @@ -3,12 +3,13 @@ // Package ecr provides the client and types for making API // requests to Amazon EC2 Container Registry. // -// Amazon Elastic Container Registry (Amazon ECR) is a managed Docker registry -// service. Customers can use the familiar Docker CLI to push, pull, and manage -// images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon -// ECR supports private Docker repositories with resource-based permissions +// Amazon Elastic Container Registry (Amazon ECR) is a managed container image +// registry service. Customers can use the familiar Docker CLI, or their preferred +// client, to push, pull, and manage images. Amazon ECR provides a secure, scalable, +// and reliable registry for your Docker or Open Container Initiative (OCI) +// images. Amazon ECR supports private repositories with resource-based permissions // using IAM so that specific users or Amazon EC2 instances can access repositories -// and images. Developers can use the Docker CLI to author and manage images. +// and images. // // See https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go index bf44256bd1c..8191013264f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go @@ -21,6 +21,13 @@ const ( // the manifest or image tag after the last push. ErrCodeImageAlreadyExistsException = "ImageAlreadyExistsException" + // ErrCodeImageDigestDoesNotMatchException for service response error code + // "ImageDigestDoesNotMatchException". + // + // The specified image digest does not match the digest that Amazon ECR calculated + // for the image. + ErrCodeImageDigestDoesNotMatchException = "ImageDigestDoesNotMatchException" + // ErrCodeImageNotFoundException for service response error code // "ImageNotFoundException". // @@ -63,6 +70,12 @@ const ( // characters. ErrCodeInvalidTagParameterException = "InvalidTagParameterException" + // ErrCodeKmsException for service response error code + // "KmsException". + // + // The operation failed due to a KMS exception. + ErrCodeKmsException = "KmsException" + // ErrCodeLayerAlreadyExistsException for service response error code // "LayerAlreadyExistsException". // @@ -98,8 +111,8 @@ const ( // ErrCodeLifecyclePolicyPreviewInProgressException for service response error code // "LifecyclePolicyPreviewInProgressException". // - // The previous lifecycle policy preview request has not completed. Please try - // again later. + // The previous lifecycle policy preview request has not completed. Wait and + // try again. ErrCodeLifecyclePolicyPreviewInProgressException = "LifecyclePolicyPreviewInProgressException" // ErrCodeLifecyclePolicyPreviewNotFoundException for service response error code @@ -178,7 +191,7 @@ const ( // ErrCodeUploadNotFoundException for service response error code // "UploadNotFoundException". // - // The upload could not be found, or the specified upload id is not valid for + // The upload could not be found, or the specified upload ID is not valid for // this repository. ErrCodeUploadNotFoundException = "UploadNotFoundException" ) @@ -186,12 +199,14 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "EmptyUploadException": newErrorEmptyUploadException, "ImageAlreadyExistsException": newErrorImageAlreadyExistsException, + "ImageDigestDoesNotMatchException": newErrorImageDigestDoesNotMatchException, "ImageNotFoundException": newErrorImageNotFoundException, "ImageTagAlreadyExistsException": newErrorImageTagAlreadyExistsException, "InvalidLayerException": newErrorInvalidLayerException, "InvalidLayerPartException": newErrorInvalidLayerPartException, "InvalidParameterException": newErrorInvalidParameterException, "InvalidTagParameterException": newErrorInvalidTagParameterException, + "KmsException": newErrorKmsException, "LayerAlreadyExistsException": newErrorLayerAlreadyExistsException, "LayerInaccessibleException": newErrorLayerInaccessibleException, "LayerPartTooSmallException": newErrorLayerPartTooSmallException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/efs/api.go b/vendor/github.com/aws/aws-sdk-go/service/efs/api.go index c2bb5354400..f194fbcefb7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/efs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/efs/api.go @@ -85,6 +85,9 @@ func (c *EFS) CreateAccessPointRequest(input *CreateAccessPointInput) (req *requ // Returned if the access point you are trying to create already exists, with // the creation token you provided in the request. // +// * IncorrectFileSystemLifeCycleState +// Returned if the file system's lifecycle state is not "available". +// // * InternalServerError // Returned if an error occurred on the server side. // @@ -1248,6 +1251,101 @@ func (c *EFS) DescribeAccessPointsPagesWithContext(ctx aws.Context, input *Descr return p.Err() } +const opDescribeBackupPolicy = "DescribeBackupPolicy" + +// DescribeBackupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBackupPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeBackupPolicy for more information on using the DescribeBackupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeBackupPolicyRequest method. +// req, resp := client.DescribeBackupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeBackupPolicy +func (c *EFS) DescribeBackupPolicyRequest(input *DescribeBackupPolicyInput) (req *request.Request, output *DescribeBackupPolicyOutput) { + op := &request.Operation{ + Name: opDescribeBackupPolicy, + HTTPMethod: "GET", + HTTPPath: "/2015-02-01/file-systems/{FileSystemId}/backup-policy", + } + + if input == nil { + input = &DescribeBackupPolicyInput{} + } + + output = &DescribeBackupPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeBackupPolicy API operation for Amazon Elastic File System. +// +// Returns the backup policy for the specified EFS file system. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 File System's +// API operation DescribeBackupPolicy for usage and error information. +// +// Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId value doesn't exist in the requester's +// AWS account. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * PolicyNotFound +// Returned if the default file system policy is in effect for the EFS file +// system specified. +// +// * ValidationException +// Returned if the AWS Backup service is not available in the region that the +// request was made. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeBackupPolicy +func (c *EFS) DescribeBackupPolicy(input *DescribeBackupPolicyInput) (*DescribeBackupPolicyOutput, error) { + req, out := c.DescribeBackupPolicyRequest(input) + return out, req.Send() +} + +// DescribeBackupPolicyWithContext is the same as DescribeBackupPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeBackupPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EFS) DescribeBackupPolicyWithContext(ctx aws.Context, input *DescribeBackupPolicyInput, opts ...request.Option) (*DescribeBackupPolicyOutput, error) { + req, out := c.DescribeBackupPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeFileSystemPolicy = "DescribeFileSystemPolicy" // DescribeFileSystemPolicyRequest generates a "aws/request.Request" representing the @@ -2231,6 +2329,101 @@ func (c *EFS) ModifyMountTargetSecurityGroupsWithContext(ctx aws.Context, input return out, req.Send() } +const opPutBackupPolicy = "PutBackupPolicy" + +// PutBackupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutBackupPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutBackupPolicy for more information on using the PutBackupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutBackupPolicyRequest method. +// req, resp := client.PutBackupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutBackupPolicy +func (c *EFS) PutBackupPolicyRequest(input *PutBackupPolicyInput) (req *request.Request, output *PutBackupPolicyOutput) { + op := &request.Operation{ + Name: opPutBackupPolicy, + HTTPMethod: "PUT", + HTTPPath: "/2015-02-01/file-systems/{FileSystemId}/backup-policy", + } + + if input == nil { + input = &PutBackupPolicyInput{} + } + + output = &PutBackupPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutBackupPolicy API operation for Amazon Elastic File System. +// +// Updates the file system's backup policy. Use this action to start or stop +// automatic backups of the file system. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 File System's +// API operation PutBackupPolicy for usage and error information. +// +// Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId value doesn't exist in the requester's +// AWS account. +// +// * IncorrectFileSystemLifeCycleState +// Returned if the file system's lifecycle state is not "available". +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * ValidationException +// Returned if the AWS Backup service is not available in the region that the +// request was made. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutBackupPolicy +func (c *EFS) PutBackupPolicy(input *PutBackupPolicyInput) (*PutBackupPolicyOutput, error) { + req, out := c.PutBackupPolicyRequest(input) + return out, req.Send() +} + +// PutBackupPolicyWithContext is the same as PutBackupPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutBackupPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EFS) PutBackupPolicyWithContext(ctx aws.Context, input *PutBackupPolicyInput, opts ...request.Option) (*PutBackupPolicyOutput, error) { + req, out := c.PutBackupPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutFileSystemPolicy = "PutFileSystemPolicy" // PutFileSystemPolicyRequest generates a "aws/request.Request" representing the @@ -3037,6 +3230,54 @@ func (s *AccessPointNotFound) RequestID() string { return s.RespMetadata.RequestID } +// The backup policy for the file system, showing the curent status. If ENABLED, +// the file system is being backed up. +type BackupPolicy struct { + _ struct{} `type:"structure"` + + // Describes the status of the file system's backup policy. + // + // * ENABLED - EFS is automatically backing up the file system. + // + // * ENABLING - EFS is turning on automatic backups for the file system. + // + // * DISABLED - automatic back ups are turned off for the file system. + // + // * DISABLED - EFS is turning off automatic backups for the file system. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"Status"` +} + +// String returns the string representation +func (s BackupPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BackupPolicy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BackupPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BackupPolicy"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatus sets the Status field's value. +func (s *BackupPolicy) SetStatus(v string) *BackupPolicy { + s.Status = &v + return s +} + // Returned if the request is malformed or contains an error such as an invalid // parameter value or a missing required parameter. type BadRequest struct { @@ -3343,7 +3584,7 @@ type CreateFileSystemInput struct { // // EFS accepts only symmetric CMKs. You cannot use asymmetric CMKs with EFS // file systems. - KmsKeyId *string `min:"1" type:"string"` + KmsKeyId *string `type:"string"` // The performance mode of the file system. We recommend generalPurpose performance // mode for most file systems. File systems using the maxIO performance mode @@ -3392,9 +3633,6 @@ func (s *CreateFileSystemInput) Validate() error { if s.CreationToken != nil && len(*s.CreationToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("CreationToken", 1)) } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } if s.ProvisionedThroughputInMibps != nil && *s.ProvisionedThroughputInMibps < 1 { invalidParams.Add(request.NewErrParamMinValue("ProvisionedThroughputInMibps", 1)) } @@ -3466,7 +3704,7 @@ type CreateMountTargetInput struct { FileSystemId *string `type:"string" required:"true"` // Valid IPv4 address within the address range of the specified subnet. - IpAddress *string `type:"string"` + IpAddress *string `min:"7" type:"string"` // Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be // for the same VPC as subnet specified. @@ -3475,7 +3713,7 @@ type CreateMountTargetInput struct { // The ID of the subnet to add the mount target in. // // SubnetId is a required field - SubnetId *string `type:"string" required:"true"` + SubnetId *string `min:"15" type:"string" required:"true"` } // String returns the string representation @@ -3494,9 +3732,15 @@ func (s *CreateMountTargetInput) Validate() error { if s.FileSystemId == nil { invalidParams.Add(request.NewErrParamRequired("FileSystemId")) } + if s.IpAddress != nil && len(*s.IpAddress) < 7 { + invalidParams.Add(request.NewErrParamMinLen("IpAddress", 7)) + } if s.SubnetId == nil { invalidParams.Add(request.NewErrParamRequired("SubnetId")) } + if s.SubnetId != nil && len(*s.SubnetId) < 15 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 15)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3856,7 +4100,7 @@ type DeleteMountTargetInput struct { // The ID of the mount target to delete (String). // // MountTargetId is a required field - MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` + MountTargetId *string `location:"uri" locationName:"MountTargetId" min:"13" type:"string" required:"true"` } // String returns the string representation @@ -3875,8 +4119,8 @@ func (s *DeleteMountTargetInput) Validate() error { if s.MountTargetId == nil { invalidParams.Add(request.NewErrParamRequired("MountTargetId")) } - if s.MountTargetId != nil && len(*s.MountTargetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 1)) + if s.MountTargetId != nil && len(*s.MountTargetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13)) } if invalidParams.Len() > 0 { @@ -4139,6 +4383,71 @@ func (s *DescribeAccessPointsOutput) SetNextToken(v string) *DescribeAccessPoint return s } +type DescribeBackupPolicyInput struct { + _ struct{} `type:"structure"` + + // Specifies which EFS file system to retrieve the BackupPolicy for. + // + // FileSystemId is a required field + FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeBackupPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBackupPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBackupPolicyInput"} + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *DescribeBackupPolicyInput) SetFileSystemId(v string) *DescribeBackupPolicyInput { + s.FileSystemId = &v + return s +} + +type DescribeBackupPolicyOutput struct { + _ struct{} `type:"structure"` + + // Describes the file system's backup policy, indicating whether automatic backups + // are turned on or off.. + BackupPolicy *BackupPolicy `type:"structure"` +} + +// String returns the string representation +func (s DescribeBackupPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupPolicyOutput) GoString() string { + return s.String() +} + +// SetBackupPolicy sets the BackupPolicy field's value. +func (s *DescribeBackupPolicyOutput) SetBackupPolicy(v *BackupPolicy) *DescribeBackupPolicyOutput { + s.BackupPolicy = v + return s +} + type DescribeFileSystemPolicyInput struct { _ struct{} `type:"structure"` @@ -4226,7 +4535,7 @@ type DescribeFileSystemsInput struct { // (Optional) Opaque pagination token returned from a previous DescribeFileSystems // operation (String). If present, specifies to continue the list from where // the returning call had left off. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + Marker *string `location:"querystring" locationName:"Marker" min:"1" type:"string"` // (Optional) Specifies the maximum number of file systems to return in the // response (integer). This number is automatically set to 100. The response @@ -4250,6 +4559,9 @@ func (s *DescribeFileSystemsInput) Validate() error { if s.CreationToken != nil && len(*s.CreationToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("CreationToken", 1)) } + if s.Marker != nil && len(*s.Marker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) + } if s.MaxItems != nil && *s.MaxItems < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) } @@ -4291,11 +4603,11 @@ type DescribeFileSystemsOutput struct { FileSystems []*FileSystemDescription `type:"list"` // Present if provided by caller in the request (String). - Marker *string `type:"string"` + Marker *string `min:"1" type:"string"` // Present if there are more file systems than returned in the response (String). // You can use the NextMarker in the subsequent request to fetch the descriptions. - NextMarker *string `type:"string"` + NextMarker *string `min:"1" type:"string"` } // String returns the string representation @@ -4398,7 +4710,7 @@ type DescribeMountTargetSecurityGroupsInput struct { // The ID of the mount target whose security groups you want to retrieve. // // MountTargetId is a required field - MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` + MountTargetId *string `location:"uri" locationName:"MountTargetId" min:"13" type:"string" required:"true"` } // String returns the string representation @@ -4417,8 +4729,8 @@ func (s *DescribeMountTargetSecurityGroupsInput) Validate() error { if s.MountTargetId == nil { invalidParams.Add(request.NewErrParamRequired("MountTargetId")) } - if s.MountTargetId != nil && len(*s.MountTargetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 1)) + if s.MountTargetId != nil && len(*s.MountTargetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13)) } if invalidParams.Len() > 0 { @@ -4475,7 +4787,7 @@ type DescribeMountTargetsInput struct { // (Optional) Opaque pagination token returned from a previous DescribeMountTargets // operation (String). If present, it specifies to continue the list from where // the previous returning call left off. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + Marker *string `location:"querystring" locationName:"Marker" min:"1" type:"string"` // (Optional) Maximum number of mount targets to return in the response. Currently, // this number is automatically set to 10, and other values are ignored. The @@ -4485,7 +4797,7 @@ type DescribeMountTargetsInput struct { // (Optional) ID of the mount target that you want to have described (String). // It must be included in your request if FileSystemId is not included. Accepts // either a mount target ID or ARN as input. - MountTargetId *string `location:"querystring" locationName:"MountTargetId" type:"string"` + MountTargetId *string `location:"querystring" locationName:"MountTargetId" min:"13" type:"string"` } // String returns the string representation @@ -4501,9 +4813,15 @@ func (s DescribeMountTargetsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeMountTargetsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeMountTargetsInput"} + if s.Marker != nil && len(*s.Marker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) + } if s.MaxItems != nil && *s.MaxItems < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) } + if s.MountTargetId != nil && len(*s.MountTargetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13)) + } if invalidParams.Len() > 0 { return invalidParams @@ -4546,7 +4864,7 @@ type DescribeMountTargetsOutput struct { // If the request included the Marker, the response returns that value in this // field. - Marker *string `type:"string"` + Marker *string `min:"1" type:"string"` // Returns the file system's mount targets as an array of MountTargetDescription // objects. @@ -4555,7 +4873,7 @@ type DescribeMountTargetsOutput struct { // If a value is present, there are more mount targets to return. In a subsequent // request, you can provide Marker in your request with this value to retrieve // the next set of mount targets. - NextMarker *string `type:"string"` + NextMarker *string `min:"1" type:"string"` } // String returns the string representation @@ -4597,7 +4915,7 @@ type DescribeTagsInput struct { // (Optional) An opaque pagination token returned from a previous DescribeTags // operation (String). If present, it specifies to continue the list from where // the previous call left off. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + Marker *string `location:"querystring" locationName:"Marker" min:"1" type:"string"` // (Optional) The maximum number of file system tags to return in the response. // Currently, this number is automatically set to 100, and other values are @@ -4625,6 +4943,9 @@ func (s *DescribeTagsInput) Validate() error { if s.FileSystemId != nil && len(*s.FileSystemId) < 1 { invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1)) } + if s.Marker != nil && len(*s.Marker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) + } if s.MaxItems != nil && *s.MaxItems < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) } @@ -4658,12 +4979,12 @@ type DescribeTagsOutput struct { // If the request included a Marker, the response returns that value in this // field. - Marker *string `type:"string"` + Marker *string `min:"1" type:"string"` // If a value is present, there are more tags to return. In a subsequent request, // you can provide the value of NextMarker as the value of the Marker parameter // in your next request to retrieve the next set of tags. - NextMarker *string `type:"string"` + NextMarker *string `min:"1" type:"string"` // Returns tags associated with the file system as an array of Tag objects. // @@ -4779,6 +5100,10 @@ type FileSystemDescription struct { // A Boolean value that, if true, indicates that the file system is encrypted. Encrypted *bool `type:"boolean"` + // The Amazon Resource Name (ARN) for the EFS file system, in the format arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id + // . Example with sample data: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 + FileSystemArn *string `type:"string"` + // The ID of the file system, assigned by Amazon EFS. // // FileSystemId is a required field @@ -4786,7 +5111,7 @@ type FileSystemDescription struct { // The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) // that was used to protect the encrypted file system. - KmsKeyId *string `min:"1" type:"string"` + KmsKeyId *string `type:"string"` // The lifecycle phase of the file system. // @@ -4878,6 +5203,12 @@ func (s *FileSystemDescription) SetEncrypted(v bool) *FileSystemDescription { return s } +// SetFileSystemArn sets the FileSystemArn field's value. +func (s *FileSystemDescription) SetFileSystemArn(v string) *FileSystemDescription { + s.FileSystemArn = &v + return s +} + // SetFileSystemId sets the FileSystemId field's value. func (s *FileSystemDescription) SetFileSystemId(v string) *FileSystemDescription { s.FileSystemId = &v @@ -5677,7 +6008,7 @@ type ModifyMountTargetSecurityGroupsInput struct { // The ID of the mount target whose security groups you want to modify. // // MountTargetId is a required field - MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` + MountTargetId *string `location:"uri" locationName:"MountTargetId" min:"13" type:"string" required:"true"` // An array of up to five VPC security group IDs. SecurityGroups []*string `type:"list"` @@ -5699,8 +6030,8 @@ func (s *ModifyMountTargetSecurityGroupsInput) Validate() error { if s.MountTargetId == nil { invalidParams.Add(request.NewErrParamRequired("MountTargetId")) } - if s.MountTargetId != nil && len(*s.MountTargetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 1)) + if s.MountTargetId != nil && len(*s.MountTargetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13)) } if invalidParams.Len() > 0 { @@ -5816,7 +6147,7 @@ type MountTargetDescription struct { FileSystemId *string `type:"string" required:"true"` // Address at which the file system can be mounted by using the mount target. - IpAddress *string `type:"string"` + IpAddress *string `min:"7" type:"string"` // Lifecycle state of the mount target. // @@ -5826,7 +6157,7 @@ type MountTargetDescription struct { // System-assigned mount target ID. // // MountTargetId is a required field - MountTargetId *string `type:"string" required:"true"` + MountTargetId *string `min:"13" type:"string" required:"true"` // The ID of the network interface that Amazon EFS created when it created the // mount target. @@ -5838,7 +6169,10 @@ type MountTargetDescription struct { // The ID of the mount target's subnet. // // SubnetId is a required field - SubnetId *string `type:"string" required:"true"` + SubnetId *string `min:"15" type:"string" required:"true"` + + // The Virtual Private Cloud (VPC) ID that the mount target is configured in. + VpcId *string `type:"string"` } // String returns the string representation @@ -5905,6 +6239,12 @@ func (s *MountTargetDescription) SetSubnetId(v string) *MountTargetDescription { return s } +// SetVpcId sets the VpcId field's value. +func (s *MountTargetDescription) SetVpcId(v string) *MountTargetDescription { + s.VpcId = &v + return s +} + // Returned if there is no mount target with the specified ID found in the caller's // account. type MountTargetNotFound struct { @@ -6214,6 +6554,90 @@ func (s *PosixUser) SetUid(v int64) *PosixUser { return s } +type PutBackupPolicyInput struct { + _ struct{} `type:"structure"` + + // The backup policy included in the PutBackupPolicy request. + // + // BackupPolicy is a required field + BackupPolicy *BackupPolicy `type:"structure" required:"true"` + + // Specifies which EFS file system to update the backup policy for. + // + // FileSystemId is a required field + FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutBackupPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBackupPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutBackupPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutBackupPolicyInput"} + if s.BackupPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPolicy")) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1)) + } + if s.BackupPolicy != nil { + if err := s.BackupPolicy.Validate(); err != nil { + invalidParams.AddNested("BackupPolicy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPolicy sets the BackupPolicy field's value. +func (s *PutBackupPolicyInput) SetBackupPolicy(v *BackupPolicy) *PutBackupPolicyInput { + s.BackupPolicy = v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *PutBackupPolicyInput) SetFileSystemId(v string) *PutBackupPolicyInput { + s.FileSystemId = &v + return s +} + +type PutBackupPolicyOutput struct { + _ struct{} `type:"structure"` + + // Describes the file system's backup policy, indicating whether automatic backups + // are turned on or off.. + BackupPolicy *BackupPolicy `type:"structure"` +} + +// String returns the string representation +func (s PutBackupPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBackupPolicyOutput) GoString() string { + return s.String() +} + +// SetBackupPolicy sets the BackupPolicy field's value. +func (s *PutBackupPolicyOutput) SetBackupPolicy(v *BackupPolicy) *PutBackupPolicyOutput { + s.BackupPolicy = v + return s +} + type PutFileSystemPolicyInput struct { _ struct{} `type:"structure"` @@ -7119,6 +7543,10 @@ type UpdateFileSystemOutput struct { // A Boolean value that, if true, indicates that the file system is encrypted. Encrypted *bool `type:"boolean"` + // The Amazon Resource Name (ARN) for the EFS file system, in the format arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id + // . Example with sample data: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 + FileSystemArn *string `type:"string"` + // The ID of the file system, assigned by Amazon EFS. // // FileSystemId is a required field @@ -7126,7 +7554,7 @@ type UpdateFileSystemOutput struct { // The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) // that was used to protect the encrypted file system. - KmsKeyId *string `min:"1" type:"string"` + KmsKeyId *string `type:"string"` // The lifecycle phase of the file system. // @@ -7218,6 +7646,12 @@ func (s *UpdateFileSystemOutput) SetEncrypted(v bool) *UpdateFileSystemOutput { return s } +// SetFileSystemArn sets the FileSystemArn field's value. +func (s *UpdateFileSystemOutput) SetFileSystemArn(v string) *UpdateFileSystemOutput { + s.FileSystemArn = &v + return s +} + // SetFileSystemId sets the FileSystemId field's value. func (s *UpdateFileSystemOutput) SetFileSystemId(v string) *UpdateFileSystemOutput { s.FileSystemId = &v @@ -7284,6 +7718,66 @@ func (s *UpdateFileSystemOutput) SetThroughputMode(v string) *UpdateFileSystemOu return s } +// Returned if the AWS Backup service is not available in the region that the +// request was made. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // ErrorCode is a required field + ErrorCode *string `min:"1" type:"string" required:"true"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + const ( // LifeCycleStateCreating is a LifeCycleState enum value LifeCycleStateCreating = "creating" @@ -7309,6 +7803,20 @@ const ( PerformanceModeMaxIo = "maxIO" ) +const ( + // StatusEnabled is a Status enum value + StatusEnabled = "ENABLED" + + // StatusEnabling is a Status enum value + StatusEnabling = "ENABLING" + + // StatusDisabled is a Status enum value + StatusDisabled = "DISABLED" + + // StatusDisabling is a Status enum value + StatusDisabling = "DISABLING" +) + const ( // ThroughputModeBursting is a ThroughputMode enum value ThroughputModeBursting = "bursting" diff --git a/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go b/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go index bccb1f84ff2..7e2f36abb24 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go @@ -189,6 +189,13 @@ const ( // ErrCodeUnsupportedAvailabilityZone for service response error code // "UnsupportedAvailabilityZone". ErrCodeUnsupportedAvailabilityZone = "UnsupportedAvailabilityZone" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // Returned if the AWS Backup service is not available in the region that the + // request was made. + ErrCodeValidationException = "ValidationException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ @@ -218,4 +225,5 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ThroughputLimitExceeded": newErrorThroughputLimitExceeded, "TooManyRequests": newErrorTooManyRequests, "UnsupportedAvailabilityZone": newErrorUnsupportedAvailabilityZone, + "ValidationException": newErrorValidationException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go index 99e3bc76f77..f8ad7ee87e0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go @@ -1201,11 +1201,9 @@ func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGrou // // When a Redis (cluster mode disabled) replication group has been successfully // created, you can add one or more read replicas to it, up to a total of 5 -// read replicas. You cannot alter a Redis (cluster mode enabled) replication -// group after it has been created. However, if you need to increase or decrease -// the number of node groups (console: shards), you can avail yourself of ElastiCache -// for Redis' enhanced backup and restore. For more information, see Restoring -// From a Backup with Cluster Resizing (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-restoring.html) +// read replicas. If you need to increase or decrease the number of node groups +// (console: shards), you can avail yourself of ElastiCache for Redis' scaling. +// For more information, see Scaling ElastiCache for Redis Clusters (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Scaling.html) // in the ElastiCache User Guide. // // This operation is valid for Redis only. @@ -6417,7 +6415,7 @@ func (c *ElastiCache) TestFailoverRequest(input *TestFailoverInput) (req *reques // in the ElastiCache User Guide DescribeEvents (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) // in the ElastiCache API Reference // -// Also see, Testing Multi-AZ with Automatic Failover (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) +// Also see, Testing Multi-AZ (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) // in the ElastiCache User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -7987,8 +7985,7 @@ type ConfigureShard struct { // // The minimum number of replicas in a shard or replication group is: // - // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is - // enabled: 1 If Multi-AZ with Automatic Failover is not enable: 0 + // * Redis (cluster mode disabled) If Multi-AZ: 1 If Multi-AZ: 0 // // * Redis (cluster mode enabled): 0 (though you will not be able to failover // to a replica if your primary node fails) @@ -9025,15 +9022,6 @@ type CreateReplicationGroupInput struct { // replication groups. // // Default: false - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. AutomaticFailoverEnabled *bool `type:"boolean"` // The compute and memory capacity of the nodes in the node group (shard). @@ -9817,8 +9805,8 @@ type DecreaseReplicaCountInput struct { // // The minimum number of replicas in a shard or replication group is: // - // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is - // enabled: 1 If Multi-AZ with Automatic Failover is not enabled: 0 + // * Redis (cluster mode disabled) If Multi-AZ is enabled: 1 If Multi-AZ + // is not enabled: 0 // // * Redis (cluster mode enabled): 0 (though you will not be able to failover // to a replica if your primary node fails) @@ -13815,15 +13803,6 @@ type ModifyReplicationGroupInput struct { // primary if the existing primary encounters a failure. // // Valid values: true | false - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. AutomaticFailoverEnabled *bool `type:"boolean"` // A valid cache node type that you want to scale this replication group to. @@ -15428,17 +15407,7 @@ type ReplicationGroup struct { // The date the auth token was last modified AuthTokenLastModifiedDate *time.Time `type:"timestamp"` - // Indicates the status of Multi-AZ with automatic failover for this Redis replication - // group. - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. + // Indicates the status of automatic failover for this Redis replication group. AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` // The name of the compute and memory capacity node type for each node in the @@ -15670,17 +15639,7 @@ type ReplicationGroupPendingModifiedValues struct { // The auth token status AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` - // Indicates the status of Multi-AZ with automatic failover for this Redis replication - // group. - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. + // Indicates the status of automatic failover for this Redis replication group. AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"` // The primary cluster ID that is applied immediately (if --apply-immediately @@ -16446,17 +16405,8 @@ type Snapshot struct { // This parameter is currently disabled. AutoMinorVersionUpgrade *bool `type:"boolean"` - // Indicates the status of Multi-AZ with automatic failover for the source Redis - // replication group. - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. + // Indicates the status of automatic failover for the source Redis replication + // group. AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` // The date and time when the source cluster was created. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go index fd4b093219f..5b63f49883b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go @@ -1950,6 +1950,12 @@ func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryRequest(input Name: opDescribeEnvironmentManagedActionHistory, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, } if input == nil { @@ -1998,6 +2004,58 @@ func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryWithContext(ct return out, req.Send() } +// DescribeEnvironmentManagedActionHistoryPages iterates over the pages of a DescribeEnvironmentManagedActionHistory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEnvironmentManagedActionHistory 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 DescribeEnvironmentManagedActionHistory operation. +// pageNum := 0 +// err := client.DescribeEnvironmentManagedActionHistoryPages(params, +// func(page *elasticbeanstalk.DescribeEnvironmentManagedActionHistoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryPages(input *DescribeEnvironmentManagedActionHistoryInput, fn func(*DescribeEnvironmentManagedActionHistoryOutput, bool) bool) error { + return c.DescribeEnvironmentManagedActionHistoryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEnvironmentManagedActionHistoryPagesWithContext same as DescribeEnvironmentManagedActionHistoryPages 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 *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryPagesWithContext(ctx aws.Context, input *DescribeEnvironmentManagedActionHistoryInput, fn func(*DescribeEnvironmentManagedActionHistoryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEnvironmentManagedActionHistoryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEnvironmentManagedActionHistoryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeEnvironmentManagedActionHistoryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeEnvironmentManagedActions = "DescribeEnvironmentManagedActions" // DescribeEnvironmentManagedActionsRequest generates a "aws/request.Request" representing the @@ -2863,6 +2921,12 @@ func (c *ElasticBeanstalk) ListPlatformVersionsRequest(input *ListPlatformVersio Name: opListPlatformVersions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -2920,6 +2984,58 @@ func (c *ElasticBeanstalk) ListPlatformVersionsWithContext(ctx aws.Context, inpu return out, req.Send() } +// ListPlatformVersionsPages iterates over the pages of a ListPlatformVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPlatformVersions 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 ListPlatformVersions operation. +// pageNum := 0 +// err := client.ListPlatformVersionsPages(params, +// func(page *elasticbeanstalk.ListPlatformVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticBeanstalk) ListPlatformVersionsPages(input *ListPlatformVersionsInput, fn func(*ListPlatformVersionsOutput, bool) bool) error { + return c.ListPlatformVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPlatformVersionsPagesWithContext same as ListPlatformVersionsPages 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 *ElasticBeanstalk) ListPlatformVersionsPagesWithContext(ctx aws.Context, input *ListPlatformVersionsInput, fn func(*ListPlatformVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPlatformVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPlatformVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPlatformVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/waiters.go new file mode 100644 index 00000000000..c02c0aba934 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/waiters.go @@ -0,0 +1,163 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package elasticbeanstalk + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilEnvironmentExists uses the Elastic Beanstalk API operation +// DescribeEnvironments 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 *ElasticBeanstalk) WaitUntilEnvironmentExists(input *DescribeEnvironmentsInput) error { + return c.WaitUntilEnvironmentExistsWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilEnvironmentExistsWithContext is an extended version of WaitUntilEnvironmentExists. +// 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 *ElasticBeanstalk) WaitUntilEnvironmentExistsWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilEnvironmentExists", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(20 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Ready", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Launching", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeEnvironmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEnvironmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilEnvironmentTerminated uses the Elastic Beanstalk API operation +// DescribeEnvironments 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 *ElasticBeanstalk) WaitUntilEnvironmentTerminated(input *DescribeEnvironmentsInput) error { + return c.WaitUntilEnvironmentTerminatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilEnvironmentTerminatedWithContext is an extended version of WaitUntilEnvironmentTerminated. +// 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 *ElasticBeanstalk) WaitUntilEnvironmentTerminatedWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilEnvironmentTerminated", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(20 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Terminated", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Terminating", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeEnvironmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEnvironmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilEnvironmentUpdated uses the Elastic Beanstalk API operation +// DescribeEnvironments 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 *ElasticBeanstalk) WaitUntilEnvironmentUpdated(input *DescribeEnvironmentsInput) error { + return c.WaitUntilEnvironmentUpdatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilEnvironmentUpdatedWithContext is an extended version of WaitUntilEnvironmentUpdated. +// 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 *ElasticBeanstalk) WaitUntilEnvironmentUpdatedWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilEnvironmentUpdated", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(20 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Ready", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Updating", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeEnvironmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEnvironmentsRequest(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/firehose/api.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go index 63f397348f4..eb2a6e099aa 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 @@ -696,11 +696,8 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // To write single data records into a delivery stream, use PutRecord. Applications // using these operations are referred to as producers. // -// By default, each delivery stream can take in up to 2,000 transactions per -// second, 5,000 records per second, or 5 MB per second. If you use PutRecord -// and PutRecordBatch, the limits are an aggregate across these two operations -// for each delivery stream. For more information about limits, see Amazon Kinesis -// Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). +// For information about service quota, see Amazon Kinesis Data Firehose Quota +// (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). // // Each PutRecordBatch request supports up to 500 records. Each record in the // request can be as large as 1,000 KB (before 64-bit encoding), up to a limit @@ -1637,6 +1634,10 @@ type CreateDeliveryStreamInput struct { // The destination in Amazon S3. You can specify only one destination. ExtendedS3DestinationConfiguration *ExtendedS3DestinationConfiguration `type:"structure"` + // Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint + // destination. You can specify only one destination. + HttpEndpointDestinationConfiguration *HttpEndpointDestinationConfiguration `type:"structure"` + // When a Kinesis data stream is used as the source for the delivery stream, // a KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon // Resource Name (ARN) and the role ARN for the source stream. @@ -1701,6 +1702,11 @@ func (s *CreateDeliveryStreamInput) Validate() error { invalidParams.AddNested("ExtendedS3DestinationConfiguration", err.(request.ErrInvalidParams)) } } + if s.HttpEndpointDestinationConfiguration != nil { + if err := s.HttpEndpointDestinationConfiguration.Validate(); err != nil { + invalidParams.AddNested("HttpEndpointDestinationConfiguration", err.(request.ErrInvalidParams)) + } + } if s.KinesisStreamSourceConfiguration != nil { if err := s.KinesisStreamSourceConfiguration.Validate(); err != nil { invalidParams.AddNested("KinesisStreamSourceConfiguration", err.(request.ErrInvalidParams)) @@ -1768,6 +1774,12 @@ func (s *CreateDeliveryStreamInput) SetExtendedS3DestinationConfiguration(v *Ext return s } +// SetHttpEndpointDestinationConfiguration sets the HttpEndpointDestinationConfiguration field's value. +func (s *CreateDeliveryStreamInput) SetHttpEndpointDestinationConfiguration(v *HttpEndpointDestinationConfiguration) *CreateDeliveryStreamInput { + s.HttpEndpointDestinationConfiguration = v + return s +} + // SetKinesisStreamSourceConfiguration sets the KinesisStreamSourceConfiguration field's value. func (s *CreateDeliveryStreamInput) SetKinesisStreamSourceConfiguration(v *KinesisStreamSourceConfiguration) *CreateDeliveryStreamInput { s.KinesisStreamSourceConfiguration = v @@ -2418,6 +2430,9 @@ type DestinationDescription struct { // The destination in Amazon S3. ExtendedS3DestinationDescription *ExtendedS3DestinationDescription `type:"structure"` + // Describes the specified HTTP endpoint destination. + HttpEndpointDestinationDescription *HttpEndpointDestinationDescription `type:"structure"` + // The destination in Amazon Redshift. RedshiftDestinationDescription *RedshiftDestinationDescription `type:"structure"` @@ -2456,6 +2471,12 @@ func (s *DestinationDescription) SetExtendedS3DestinationDescription(v *Extended return s } +// SetHttpEndpointDestinationDescription sets the HttpEndpointDestinationDescription field's value. +func (s *DestinationDescription) SetHttpEndpointDestinationDescription(v *HttpEndpointDestinationDescription) *DestinationDescription { + s.HttpEndpointDestinationDescription = v + return s +} + // SetRedshiftDestinationDescription sets the RedshiftDestinationDescription field's value. func (s *DestinationDescription) SetRedshiftDestinationDescription(v *RedshiftDestinationDescription) *DestinationDescription { s.RedshiftDestinationDescription = v @@ -2588,6 +2609,8 @@ type ElasticsearchDestinationConfiguration struct { // with elasticsearch-failed/ appended to the prefix. For more information, // see Amazon S3 Backup for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup). // Default value is FailedDocumentsOnly. + // + // You can't change this backup mode after you create the delivery stream. S3BackupMode *string `type:"string" enum:"ElasticsearchS3BackupMode"` // The configuration for the backup Amazon S3 location. @@ -3187,7 +3210,9 @@ type ExtendedS3DestinationConfiguration struct { // The configuration for backup in Amazon S3. S3BackupConfiguration *S3DestinationConfiguration `type:"structure"` - // The Amazon S3 backup mode. + // The Amazon S3 backup mode. After you create a delivery stream, you can update + // it to enable Amazon S3 backup if it is disabled. If backup is enabled, you + // can't update the delivery stream to disable it. S3BackupMode *string `type:"string" enum:"S3BackupMode"` } @@ -3505,7 +3530,8 @@ type ExtendedS3DestinationUpdate struct { // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). RoleARN *string `min:"1" type:"string"` - // Enables or disables Amazon S3 backup mode. + // You can update a delivery stream to enable Amazon S3 backup if it is disabled. + // If backup is enabled, you can't update the delivery stream to disable it. S3BackupMode *string `type:"string" enum:"S3BackupMode"` // The Amazon S3 destination for backup. @@ -3708,6 +3734,711 @@ func (s *HiveJsonSerDe) SetTimestampFormats(v []*string) *HiveJsonSerDe { return s } +// Describes the buffering options that can be applied before data is delivered +// to the HTTP endpoint destination. Kinesis Data Firehose treats these options +// as hints, and it might choose to use more optimal values. The SizeInMBs and +// IntervalInSeconds parameters are optional. However, if specify a value for +// one of them, you must also provide a value for the other. +type HttpEndpointBufferingHints struct { + _ struct{} `type:"structure"` + + // Buffer incoming data for the specified period of time, in seconds, before + // delivering it to the destination. The default value is 300 (5 minutes). + IntervalInSeconds *int64 `min:"60" type:"integer"` + + // Buffer incoming data to the specified size, in MBs, before delivering it + // to the destination. The default value is 5. + // + // We recommend setting this parameter to a value greater than the amount of + // data you typically ingest into the delivery stream in 10 seconds. For example, + // if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher. + SizeInMBs *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s HttpEndpointBufferingHints) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointBufferingHints) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointBufferingHints) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointBufferingHints"} + if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 60)) + } + if s.SizeInMBs != nil && *s.SizeInMBs < 1 { + invalidParams.Add(request.NewErrParamMinValue("SizeInMBs", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIntervalInSeconds sets the IntervalInSeconds field's value. +func (s *HttpEndpointBufferingHints) SetIntervalInSeconds(v int64) *HttpEndpointBufferingHints { + s.IntervalInSeconds = &v + return s +} + +// SetSizeInMBs sets the SizeInMBs field's value. +func (s *HttpEndpointBufferingHints) SetSizeInMBs(v int64) *HttpEndpointBufferingHints { + s.SizeInMBs = &v + return s +} + +// Describes the metadata that's delivered to the specified HTTP endpoint destination. +type HttpEndpointCommonAttribute struct { + _ struct{} `type:"structure"` + + // The name of the HTTP endpoint common attribute. + // + // AttributeName is a required field + AttributeName *string `min:"1" type:"string" required:"true" sensitive:"true"` + + // The value of the HTTP endpoint common attribute. + // + // AttributeValue is a required field + AttributeValue *string `type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s HttpEndpointCommonAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointCommonAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointCommonAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointCommonAttribute"} + if s.AttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeName")) + } + if s.AttributeName != nil && len(*s.AttributeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) + } + if s.AttributeValue == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeName sets the AttributeName field's value. +func (s *HttpEndpointCommonAttribute) SetAttributeName(v string) *HttpEndpointCommonAttribute { + s.AttributeName = &v + return s +} + +// SetAttributeValue sets the AttributeValue field's value. +func (s *HttpEndpointCommonAttribute) SetAttributeValue(v string) *HttpEndpointCommonAttribute { + s.AttributeValue = &v + return s +} + +// Describes the configuration of the HTTP endpoint to which Kinesis Firehose +// delivers data. +type HttpEndpointConfiguration struct { + _ struct{} `type:"structure"` + + // The access key required for Kinesis Firehose to authenticate with the HTTP + // endpoint selected as the destination. + AccessKey *string `type:"string" sensitive:"true"` + + // The name of the HTTP endpoint selected as the destination. + Name *string `min:"1" type:"string"` + + // The URL of the HTTP endpoint selected as the destination. + // + // Url is a required field + Url *string `min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s HttpEndpointConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointConfiguration"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Url == nil { + invalidParams.Add(request.NewErrParamRequired("Url")) + } + if s.Url != nil && len(*s.Url) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Url", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessKey sets the AccessKey field's value. +func (s *HttpEndpointConfiguration) SetAccessKey(v string) *HttpEndpointConfiguration { + s.AccessKey = &v + return s +} + +// SetName sets the Name field's value. +func (s *HttpEndpointConfiguration) SetName(v string) *HttpEndpointConfiguration { + s.Name = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *HttpEndpointConfiguration) SetUrl(v string) *HttpEndpointConfiguration { + s.Url = &v + return s +} + +// Describes the HTTP endpoint selected as the destination. +type HttpEndpointDescription struct { + _ struct{} `type:"structure"` + + // The name of the HTTP endpoint selected as the destination. + Name *string `min:"1" type:"string"` + + // The URL of the HTTP endpoint selected as the destination. + Url *string `min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation +func (s HttpEndpointDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointDescription) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *HttpEndpointDescription) SetName(v string) *HttpEndpointDescription { + s.Name = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *HttpEndpointDescription) SetUrl(v string) *HttpEndpointDescription { + s.Url = &v + return s +} + +// Describes the configuration of the HTTP endpoint destination. +type HttpEndpointDestinationConfiguration struct { + _ struct{} `type:"structure"` + + // The buffering options that can be used before data is delivered to the specified + // destination. Kinesis Data Firehose treats these options as hints, and it + // might choose to use more optimal values. The SizeInMBs and IntervalInSeconds + // parameters are optional. However, if you specify a value for one of them, + // you must also provide a value for the other. + BufferingHints *HttpEndpointBufferingHints `type:"structure"` + + // Describes the Amazon CloudWatch logging options for your delivery stream. + CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` + + // The configuration of the HTTP endpoint selected as the destination. + // + // EndpointConfiguration is a required field + EndpointConfiguration *HttpEndpointConfiguration `type:"structure" required:"true"` + + // Describes a data processing configuration. + ProcessingConfiguration *ProcessingConfiguration `type:"structure"` + + // The configuration of the requeste sent to the HTTP endpoint specified as + // the destination. + RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` + + // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver + // data to the specified HTTP endpoint destination, or if it doesn't receive + // a valid acknowledgment of receipt from the specified HTTP endpoint destination. + RetryOptions *HttpEndpointRetryOptions `type:"structure"` + + // Kinesis Data Firehose uses this IAM role for all the permissions that the + // delivery stream needs. + RoleARN *string `min:"1" type:"string"` + + // Describes the S3 bucket backup options for the data that Kinesis Data Firehose + // delivers to the HTTP endpoint destination. You can back up all documents + // (AllData) or only the documents that Kinesis Data Firehose could not deliver + // to the specified HTTP endpoint destination (FailedDataOnly). + S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` + + // Describes the configuration of a destination in Amazon S3. + // + // S3Configuration is a required field + S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation +func (s HttpEndpointDestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointDestinationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointDestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointDestinationConfiguration"} + if s.EndpointConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointConfiguration")) + } + if s.RoleARN != nil && len(*s.RoleARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) + } + if s.S3Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("S3Configuration")) + } + if s.BufferingHints != nil { + if err := s.BufferingHints.Validate(); err != nil { + invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) + } + } + if s.EndpointConfiguration != nil { + if err := s.EndpointConfiguration.Validate(); err != nil { + invalidParams.AddNested("EndpointConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ProcessingConfiguration != nil { + if err := s.ProcessingConfiguration.Validate(); err != nil { + invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.RequestConfiguration != nil { + if err := s.RequestConfiguration.Validate(); err != nil { + invalidParams.AddNested("RequestConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.S3Configuration != nil { + if err := s.S3Configuration.Validate(); err != nil { + invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBufferingHints sets the BufferingHints field's value. +func (s *HttpEndpointDestinationConfiguration) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationConfiguration { + s.BufferingHints = v + return s +} + +// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. +func (s *HttpEndpointDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationConfiguration { + s.CloudWatchLoggingOptions = v + return s +} + +// SetEndpointConfiguration sets the EndpointConfiguration field's value. +func (s *HttpEndpointDestinationConfiguration) SetEndpointConfiguration(v *HttpEndpointConfiguration) *HttpEndpointDestinationConfiguration { + s.EndpointConfiguration = v + return s +} + +// SetProcessingConfiguration sets the ProcessingConfiguration field's value. +func (s *HttpEndpointDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationConfiguration { + s.ProcessingConfiguration = v + return s +} + +// SetRequestConfiguration sets the RequestConfiguration field's value. +func (s *HttpEndpointDestinationConfiguration) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationConfiguration { + s.RequestConfiguration = v + return s +} + +// SetRetryOptions sets the RetryOptions field's value. +func (s *HttpEndpointDestinationConfiguration) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationConfiguration { + s.RetryOptions = v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *HttpEndpointDestinationConfiguration) SetRoleARN(v string) *HttpEndpointDestinationConfiguration { + s.RoleARN = &v + return s +} + +// SetS3BackupMode sets the S3BackupMode field's value. +func (s *HttpEndpointDestinationConfiguration) SetS3BackupMode(v string) *HttpEndpointDestinationConfiguration { + s.S3BackupMode = &v + return s +} + +// SetS3Configuration sets the S3Configuration field's value. +func (s *HttpEndpointDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *HttpEndpointDestinationConfiguration { + s.S3Configuration = v + return s +} + +// Describes the HTTP endpoint destination. +type HttpEndpointDestinationDescription struct { + _ struct{} `type:"structure"` + + // Describes buffering options that can be applied to the data before it is + // delivered to the HTTPS endpoint destination. Kinesis Data Firehose teats + // these options as hints, and it might choose to use more optimal values. The + // SizeInMBs and IntervalInSeconds parameters are optional. However, if specify + // a value for one of them, you must also provide a value for the other. + BufferingHints *HttpEndpointBufferingHints `type:"structure"` + + // Describes the Amazon CloudWatch logging options for your delivery stream. + CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` + + // The configuration of the specified HTTP endpoint destination. + EndpointConfiguration *HttpEndpointDescription `type:"structure"` + + // Describes a data processing configuration. + ProcessingConfiguration *ProcessingConfiguration `type:"structure"` + + // The configuration of request sent to the HTTP endpoint specified as the destination. + RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` + + // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver + // data to the specified HTTP endpoint destination, or if it doesn't receive + // a valid acknowledgment of receipt from the specified HTTP endpoint destination. + RetryOptions *HttpEndpointRetryOptions `type:"structure"` + + // Kinesis Data Firehose uses this IAM role for all the permissions that the + // delivery stream needs. + RoleARN *string `min:"1" type:"string"` + + // Describes the S3 bucket backup options for the data that Kinesis Firehose + // delivers to the HTTP endpoint destination. You can back up all documents + // (AllData) or only the documents that Kinesis Data Firehose could not deliver + // to the specified HTTP endpoint destination (FailedDataOnly). + S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` + + // Describes a destination in Amazon S3. + S3DestinationDescription *S3DestinationDescription `type:"structure"` +} + +// String returns the string representation +func (s HttpEndpointDestinationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointDestinationDescription) GoString() string { + return s.String() +} + +// SetBufferingHints sets the BufferingHints field's value. +func (s *HttpEndpointDestinationDescription) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationDescription { + s.BufferingHints = v + return s +} + +// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. +func (s *HttpEndpointDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationDescription { + s.CloudWatchLoggingOptions = v + return s +} + +// SetEndpointConfiguration sets the EndpointConfiguration field's value. +func (s *HttpEndpointDestinationDescription) SetEndpointConfiguration(v *HttpEndpointDescription) *HttpEndpointDestinationDescription { + s.EndpointConfiguration = v + return s +} + +// SetProcessingConfiguration sets the ProcessingConfiguration field's value. +func (s *HttpEndpointDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationDescription { + s.ProcessingConfiguration = v + return s +} + +// SetRequestConfiguration sets the RequestConfiguration field's value. +func (s *HttpEndpointDestinationDescription) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationDescription { + s.RequestConfiguration = v + return s +} + +// SetRetryOptions sets the RetryOptions field's value. +func (s *HttpEndpointDestinationDescription) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationDescription { + s.RetryOptions = v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *HttpEndpointDestinationDescription) SetRoleARN(v string) *HttpEndpointDestinationDescription { + s.RoleARN = &v + return s +} + +// SetS3BackupMode sets the S3BackupMode field's value. +func (s *HttpEndpointDestinationDescription) SetS3BackupMode(v string) *HttpEndpointDestinationDescription { + s.S3BackupMode = &v + return s +} + +// SetS3DestinationDescription sets the S3DestinationDescription field's value. +func (s *HttpEndpointDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *HttpEndpointDestinationDescription { + s.S3DestinationDescription = v + return s +} + +// Updates the specified HTTP endpoint destination. +type HttpEndpointDestinationUpdate struct { + _ struct{} `type:"structure"` + + // Describes buffering options that can be applied to the data before it is + // delivered to the HTTPS endpoint destination. Kinesis Data Firehose teats + // these options as hints, and it might choose to use more optimal values. The + // SizeInMBs and IntervalInSeconds parameters are optional. However, if specify + // a value for one of them, you must also provide a value for the other. + BufferingHints *HttpEndpointBufferingHints `type:"structure"` + + // Describes the Amazon CloudWatch logging options for your delivery stream. + CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` + + // Describes the configuration of the HTTP endpoint destination. + EndpointConfiguration *HttpEndpointConfiguration `type:"structure"` + + // Describes a data processing configuration. + ProcessingConfiguration *ProcessingConfiguration `type:"structure"` + + // The configuration of the request sent to the HTTP endpoint specified as the + // destination. + RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` + + // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver + // data to the specified HTTP endpoint destination, or if it doesn't receive + // a valid acknowledgment of receipt from the specified HTTP endpoint destination. + RetryOptions *HttpEndpointRetryOptions `type:"structure"` + + // Kinesis Data Firehose uses this IAM role for all the permissions that the + // delivery stream needs. + RoleARN *string `min:"1" type:"string"` + + // Describes the S3 bucket backup options for the data that Kinesis Firehose + // delivers to the HTTP endpoint destination. You can back up all documents + // (AllData) or only the documents that Kinesis Data Firehose could not deliver + // to the specified HTTP endpoint destination (FailedDataOnly). + S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` + + // Describes an update for a destination in Amazon S3. + S3Update *S3DestinationUpdate `type:"structure"` +} + +// String returns the string representation +func (s HttpEndpointDestinationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointDestinationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointDestinationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointDestinationUpdate"} + if s.RoleARN != nil && len(*s.RoleARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) + } + if s.BufferingHints != nil { + if err := s.BufferingHints.Validate(); err != nil { + invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) + } + } + if s.EndpointConfiguration != nil { + if err := s.EndpointConfiguration.Validate(); err != nil { + invalidParams.AddNested("EndpointConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ProcessingConfiguration != nil { + if err := s.ProcessingConfiguration.Validate(); err != nil { + invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.RequestConfiguration != nil { + if err := s.RequestConfiguration.Validate(); err != nil { + invalidParams.AddNested("RequestConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.S3Update != nil { + if err := s.S3Update.Validate(); err != nil { + invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBufferingHints sets the BufferingHints field's value. +func (s *HttpEndpointDestinationUpdate) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationUpdate { + s.BufferingHints = v + return s +} + +// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. +func (s *HttpEndpointDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationUpdate { + s.CloudWatchLoggingOptions = v + return s +} + +// SetEndpointConfiguration sets the EndpointConfiguration field's value. +func (s *HttpEndpointDestinationUpdate) SetEndpointConfiguration(v *HttpEndpointConfiguration) *HttpEndpointDestinationUpdate { + s.EndpointConfiguration = v + return s +} + +// SetProcessingConfiguration sets the ProcessingConfiguration field's value. +func (s *HttpEndpointDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationUpdate { + s.ProcessingConfiguration = v + return s +} + +// SetRequestConfiguration sets the RequestConfiguration field's value. +func (s *HttpEndpointDestinationUpdate) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationUpdate { + s.RequestConfiguration = v + return s +} + +// SetRetryOptions sets the RetryOptions field's value. +func (s *HttpEndpointDestinationUpdate) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationUpdate { + s.RetryOptions = v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *HttpEndpointDestinationUpdate) SetRoleARN(v string) *HttpEndpointDestinationUpdate { + s.RoleARN = &v + return s +} + +// SetS3BackupMode sets the S3BackupMode field's value. +func (s *HttpEndpointDestinationUpdate) SetS3BackupMode(v string) *HttpEndpointDestinationUpdate { + s.S3BackupMode = &v + return s +} + +// SetS3Update sets the S3Update field's value. +func (s *HttpEndpointDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *HttpEndpointDestinationUpdate { + s.S3Update = v + return s +} + +// The configuration of the HTTP endpoint request. +type HttpEndpointRequestConfiguration struct { + _ struct{} `type:"structure"` + + // Describes the metadata sent to the HTTP endpoint destination. + CommonAttributes []*HttpEndpointCommonAttribute `type:"list"` + + // Kinesis Data Firehose uses the content encoding to compress the body of a + // request before sending the request to the destination. For more information, + // see Content-Encoding (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding) + // in MDN Web Docs, the official Mozilla documentation. + ContentEncoding *string `type:"string" enum:"ContentEncoding"` +} + +// String returns the string representation +func (s HttpEndpointRequestConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointRequestConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointRequestConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointRequestConfiguration"} + if s.CommonAttributes != nil { + for i, v := range s.CommonAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CommonAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCommonAttributes sets the CommonAttributes field's value. +func (s *HttpEndpointRequestConfiguration) SetCommonAttributes(v []*HttpEndpointCommonAttribute) *HttpEndpointRequestConfiguration { + s.CommonAttributes = v + return s +} + +// SetContentEncoding sets the ContentEncoding field's value. +func (s *HttpEndpointRequestConfiguration) SetContentEncoding(v string) *HttpEndpointRequestConfiguration { + s.ContentEncoding = &v + return s +} + +// Describes the retry behavior in case Kinesis Data Firehose is unable to deliver +// data to the specified HTTP endpoint destination, or if it doesn't receive +// a valid acknowledgment of receipt from the specified HTTP endpoint destination. +type HttpEndpointRetryOptions struct { + _ struct{} `type:"structure"` + + // The total amount of time that Kinesis Data Firehose spends on retries. This + // duration starts after the initial attempt to send data to the custom destination + // via HTTPS endpoint fails. It doesn't include the periods during which Kinesis + // Data Firehose waits for acknowledgment from the specified destination after + // each attempt. + DurationInSeconds *int64 `type:"integer"` +} + +// String returns the string representation +func (s HttpEndpointRetryOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointRetryOptions) GoString() string { + return s.String() +} + +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *HttpEndpointRetryOptions) SetDurationInSeconds(v int64) *HttpEndpointRetryOptions { + s.DurationInSeconds = &v + return s +} + // Specifies the deserializer you want to use to convert the format of the input // data. This parameter is required if Enabled is set to true. type InputFormatConfiguration struct { @@ -5120,7 +5851,9 @@ type RedshiftDestinationConfiguration struct { // The configuration for backup in Amazon S3. S3BackupConfiguration *S3DestinationConfiguration `type:"structure"` - // The Amazon S3 backup mode. + // The Amazon S3 backup mode. After you create a delivery stream, you can update + // it to enable Amazon S3 backup if it is disabled. If backup is enabled, you + // can't update the delivery stream to disable it. S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` // The configuration for the intermediate Amazon S3 location from which Amazon @@ -5419,7 +6152,8 @@ type RedshiftDestinationUpdate struct { // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). RoleARN *string `min:"1" type:"string"` - // The Amazon S3 backup mode. + // You can update a delivery stream to enable Amazon S3 backup if it is disabled. + // If backup is enabled, you can't update the delivery stream to disable it. S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` // The Amazon S3 destination for backup. @@ -6352,11 +7086,14 @@ type SplunkDestinationConfiguration struct { // to Splunk, or if it doesn't receive an acknowledgment of receipt from Splunk. RetryOptions *SplunkRetryOptions `type:"structure"` - // Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, + // Defines how documents should be delivered to Amazon S3. When set to FailedEventsOnly, // Kinesis Data Firehose writes any data that could not be indexed to the configured - // Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers + // Amazon S3 destination. When set to AllEvents, Kinesis Data Firehose delivers // all incoming records to Amazon S3, and also writes failed documents to Amazon - // S3. Default value is FailedDocumentsOnly. + // S3. The default value is FailedEventsOnly. + // + // You can update this backup mode from FailedEventsOnly to AllEvents. You can't + // update it from AllEvents to FailedEventsOnly. S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` // The configuration for the backup Amazon S3 location. @@ -6600,11 +7337,14 @@ type SplunkDestinationUpdate struct { // to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk. RetryOptions *SplunkRetryOptions `type:"structure"` - // Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, - // Kinesis Data Firehose writes any data that could not be indexed to the configured - // Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers - // all incoming records to Amazon S3, and also writes failed documents to Amazon - // S3. Default value is FailedDocumentsOnly. + // Specifies how you want Kinesis Data Firehose to back up documents to Amazon + // S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data + // that could not be indexed to the configured Amazon S3 destination. When set + // to AllEvents, Kinesis Data Firehose delivers all incoming records to Amazon + // S3, and also writes failed documents to Amazon S3. The default value is FailedEventsOnly. + // + // You can update this backup mode from FailedEventsOnly to AllEvents. You can't + // update it from AllEvents to FailedEventsOnly. S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` // Your update to the configuration of the backup Amazon S3 location. @@ -7091,6 +7831,9 @@ type UpdateDestinationInput struct { // Describes an update for a destination in Amazon S3. ExtendedS3DestinationUpdate *ExtendedS3DestinationUpdate `type:"structure"` + // Describes an update to the specified HTTP endpoint destination. + HttpEndpointDestinationUpdate *HttpEndpointDestinationUpdate `type:"structure"` + // Describes an update for a destination in Amazon Redshift. RedshiftDestinationUpdate *RedshiftDestinationUpdate `type:"structure"` @@ -7144,6 +7887,11 @@ func (s *UpdateDestinationInput) Validate() error { invalidParams.AddNested("ExtendedS3DestinationUpdate", err.(request.ErrInvalidParams)) } } + if s.HttpEndpointDestinationUpdate != nil { + if err := s.HttpEndpointDestinationUpdate.Validate(); err != nil { + invalidParams.AddNested("HttpEndpointDestinationUpdate", err.(request.ErrInvalidParams)) + } + } if s.RedshiftDestinationUpdate != nil { if err := s.RedshiftDestinationUpdate.Validate(); err != nil { invalidParams.AddNested("RedshiftDestinationUpdate", err.(request.ErrInvalidParams)) @@ -7196,6 +7944,12 @@ func (s *UpdateDestinationInput) SetExtendedS3DestinationUpdate(v *ExtendedS3Des return s } +// SetHttpEndpointDestinationUpdate sets the HttpEndpointDestinationUpdate field's value. +func (s *UpdateDestinationInput) SetHttpEndpointDestinationUpdate(v *HttpEndpointDestinationUpdate) *UpdateDestinationInput { + s.HttpEndpointDestinationUpdate = v + return s +} + // SetRedshiftDestinationUpdate sets the RedshiftDestinationUpdate field's value. func (s *UpdateDestinationInput) SetRedshiftDestinationUpdate(v *RedshiftDestinationUpdate) *UpdateDestinationInput { s.RedshiftDestinationUpdate = v @@ -7233,13 +7987,45 @@ type VpcConfiguration struct { _ struct{} `type:"structure"` // The ARN of the IAM role that you want the delivery stream to use to create - // endpoints in the destination VPC. + // endpoints in the destination VPC. You can use your existing Kinesis Data + // Firehose delivery role or you can specify a new role. In either case, make + // sure that the role trusts the Kinesis Data Firehose service principal and + // that it grants the following permissions: + // + // * ec2:DescribeVpcs + // + // * ec2:DescribeVpcAttribute + // + // * ec2:DescribeSubnets + // + // * ec2:DescribeSecurityGroups + // + // * ec2:DescribeNetworkInterfaces + // + // * ec2:CreateNetworkInterface + // + // * ec2:CreateNetworkInterfacePermission + // + // * ec2:DeleteNetworkInterface + // + // If you revoke these permissions after you create the delivery stream, Kinesis + // Data Firehose can't scale out by creating more ENIs when necessary. You might + // therefore see a degradation in performance. // // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` // The IDs of the security groups that you want Kinesis Data Firehose to use - // when it creates ENIs in the VPC of the Amazon ES destination. + // when it creates ENIs in the VPC of the Amazon ES destination. You can use + // the same security group that the Amazon ES domain uses or different ones. + // If you specify different security groups here, ensure that they allow outbound + // HTTPS traffic to the Amazon ES domain's security group. Also ensure that + // the Amazon ES domain's security group allows HTTPS traffic from the security + // groups specified here. If you use the same security group for both your delivery + // stream and the Amazon ES domain, make sure the security group inbound rule + // allows HTTPS traffic. For more information about security group rules, see + // Security group rules (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) + // in the Amazon VPC documentation. // // SecurityGroupIds is a required field SecurityGroupIds []*string `min:"1" type:"list" required:"true"` @@ -7324,14 +8110,46 @@ func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration { type VpcConfigurationDescription struct { _ struct{} `type:"structure"` - // The ARN of the IAM role that you want the delivery stream uses to create - // endpoints in the destination VPC. + // The ARN of the IAM role that the delivery stream uses to create endpoints + // in the destination VPC. You can use your existing Kinesis Data Firehose delivery + // role or you can specify a new role. In either case, make sure that the role + // trusts the Kinesis Data Firehose service principal and that it grants the + // following permissions: + // + // * ec2:DescribeVpcs + // + // * ec2:DescribeVpcAttribute + // + // * ec2:DescribeSubnets + // + // * ec2:DescribeSecurityGroups + // + // * ec2:DescribeNetworkInterfaces + // + // * ec2:CreateNetworkInterface + // + // * ec2:CreateNetworkInterfacePermission + // + // * ec2:DeleteNetworkInterface + // + // If you revoke these permissions after you create the delivery stream, Kinesis + // Data Firehose can't scale out by creating more ENIs when necessary. You might + // therefore see a degradation in performance. // // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` // The IDs of the security groups that Kinesis Data Firehose uses when it creates - // ENIs in the VPC of the Amazon ES destination. + // ENIs in the VPC of the Amazon ES destination. You can use the same security + // group that the Amazon ES domain uses or different ones. If you specify different + // security groups, ensure that they allow outbound HTTPS traffic to the Amazon + // ES domain's security group. Also ensure that the Amazon ES domain's security + // group allows HTTPS traffic from the security groups specified here. If you + // use the same security group for both your delivery stream and the Amazon + // ES domain, make sure the security group inbound rule allows HTTPS traffic. + // For more information about security group rules, see Security group rules + // (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) + // in the Amazon VPC documentation. // // SecurityGroupIds is a required field SecurityGroupIds []*string `min:"1" type:"list" required:"true"` @@ -7412,6 +8230,14 @@ const ( CompressionFormatHadoopSnappy = "HADOOP_SNAPPY" ) +const ( + // ContentEncodingNone is a ContentEncoding enum value + ContentEncodingNone = "NONE" + + // ContentEncodingGzip is a ContentEncoding enum value + ContentEncodingGzip = "GZIP" +) + const ( // DeliveryStreamEncryptionStatusEnabled is a DeliveryStreamEncryptionStatus enum value DeliveryStreamEncryptionStatusEnabled = "ENABLED" @@ -7537,6 +8363,14 @@ const ( HECEndpointTypeEvent = "Event" ) +const ( + // HttpEndpointS3BackupModeFailedDataOnly is a HttpEndpointS3BackupMode enum value + HttpEndpointS3BackupModeFailedDataOnly = "FailedDataOnly" + + // HttpEndpointS3BackupModeAllData is a HttpEndpointS3BackupMode enum value + HttpEndpointS3BackupModeAllData = "AllData" +) + const ( // KeyTypeAwsOwnedCmk is a KeyType enum value KeyTypeAwsOwnedCmk = "AWS_OWNED_CMK" diff --git a/vendor/github.com/aws/aws-sdk-go/service/fms/api.go b/vendor/github.com/aws/aws-sdk-go/service/fms/api.go index 36baa3ac82a..9db10be3379 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fms/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fms/api.go @@ -76,9 +76,12 @@ func (c *FMS) AssociateAdminAccountRequest(input *AssociateAdminAccountInput) (r // // Returned Error Types: // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InvalidInputException // The parameters of the request were invalid. @@ -112,6 +115,98 @@ func (c *FMS) AssociateAdminAccountWithContext(ctx aws.Context, input *Associate return out, req.Send() } +const opDeleteAppsList = "DeleteAppsList" + +// DeleteAppsListRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAppsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteAppsList for more information on using the DeleteAppsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteAppsListRequest method. +// req, resp := client.DeleteAppsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList +func (c *FMS) DeleteAppsListRequest(input *DeleteAppsListInput) (req *request.Request, output *DeleteAppsListOutput) { + op := &request.Operation{ + Name: opDeleteAppsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAppsListInput{} + } + + output = &DeleteAppsListOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAppsList API operation for Firewall Management Service. +// +// Permanently deletes an AWS Firewall Manager applications list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation DeleteAppsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList +func (c *FMS) DeleteAppsList(input *DeleteAppsListInput) (*DeleteAppsListOutput, error) { + req, out := c.DeleteAppsListRequest(input) + return out, req.Send() +} + +// DeleteAppsListWithContext is the same as DeleteAppsList with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAppsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) DeleteAppsListWithContext(ctx aws.Context, input *DeleteAppsListInput, opts ...request.Option) (*DeleteAppsListOutput, error) { + req, out := c.DeleteAppsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteNotificationChannel = "DeleteNotificationChannel" // DeleteNotificationChannelRequest generates a "aws/request.Request" representing the @@ -173,9 +268,12 @@ func (c *FMS) DeleteNotificationChannelRequest(input *DeleteNotificationChannelI // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -262,9 +360,12 @@ func (c *FMS) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Reques // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -292,6 +393,98 @@ func (c *FMS) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, return out, req.Send() } +const opDeleteProtocolsList = "DeleteProtocolsList" + +// DeleteProtocolsListRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProtocolsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteProtocolsList for more information on using the DeleteProtocolsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteProtocolsListRequest method. +// req, resp := client.DeleteProtocolsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList +func (c *FMS) DeleteProtocolsListRequest(input *DeleteProtocolsListInput) (req *request.Request, output *DeleteProtocolsListOutput) { + op := &request.Operation{ + Name: opDeleteProtocolsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteProtocolsListInput{} + } + + output = &DeleteProtocolsListOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteProtocolsList API operation for Firewall Management Service. +// +// Permanently deletes an AWS Firewall Manager protocols list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation DeleteProtocolsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList +func (c *FMS) DeleteProtocolsList(input *DeleteProtocolsListInput) (*DeleteProtocolsListOutput, error) { + req, out := c.DeleteProtocolsListRequest(input) + return out, req.Send() +} + +// DeleteProtocolsListWithContext is the same as DeleteProtocolsList with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProtocolsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) DeleteProtocolsListWithContext(ctx aws.Context, input *DeleteProtocolsListInput, opts ...request.Option) (*DeleteProtocolsListOutput, error) { + req, out := c.DeleteProtocolsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateAdminAccount = "DisassociateAdminAccount" // DisassociateAdminAccountRequest generates a "aws/request.Request" representing the @@ -350,9 +543,12 @@ func (c *FMS) DisassociateAdminAccountRequest(input *DisassociateAdminAccountInp // // Returned Error Types: // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * ResourceNotFoundException // The specified resource was not found. @@ -439,9 +635,12 @@ func (c *FMS) GetAdminAccountRequest(input *GetAdminAccountInput) (req *request. // // Returned Error Types: // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * ResourceNotFoundException // The specified resource was not found. @@ -472,6 +671,98 @@ func (c *FMS) GetAdminAccountWithContext(ctx aws.Context, input *GetAdminAccount return out, req.Send() } +const opGetAppsList = "GetAppsList" + +// GetAppsListRequest generates a "aws/request.Request" representing the +// client's request for the GetAppsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetAppsList for more information on using the GetAppsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetAppsListRequest method. +// req, resp := client.GetAppsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList +func (c *FMS) GetAppsListRequest(input *GetAppsListInput) (req *request.Request, output *GetAppsListOutput) { + op := &request.Operation{ + Name: opGetAppsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetAppsListInput{} + } + + output = &GetAppsListOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAppsList API operation for Firewall Management Service. +// +// Returns information about the specified AWS Firewall Manager applications +// list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation GetAppsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList +func (c *FMS) GetAppsList(input *GetAppsListInput) (*GetAppsListOutput, error) { + req, out := c.GetAppsListRequest(input) + return out, req.Send() +} + +// GetAppsListWithContext is the same as GetAppsList with the addition of +// the ability to pass a context and additional request options. +// +// See GetAppsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) GetAppsListWithContext(ctx aws.Context, input *GetAppsListInput, opts ...request.Option) (*GetAppsListOutput, error) { + req, out := c.GetAppsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetComplianceDetail = "GetComplianceDetail" // GetComplianceDetailRequest generates a "aws/request.Request" representing the @@ -539,6 +830,17 @@ func (c *FMS) GetComplianceDetailRequest(input *GetComplianceDetailInput) (req * // The operation failed because of a system problem, even though the request // was valid. Retry your request. // +// * InvalidInputException +// The parameters of the request were invalid. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetail func (c *FMS) GetComplianceDetail(input *GetComplianceDetailInput) (*GetComplianceDetailOutput, error) { req, out := c.GetComplianceDetailRequest(input) @@ -620,9 +922,12 @@ func (c *FMS) GetNotificationChannelRequest(input *GetNotificationChannelInput) // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -708,9 +1013,12 @@ func (c *FMS) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, out // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -829,120 +1137,395 @@ func (c *FMS) GetProtectionStatusWithContext(ctx aws.Context, input *GetProtecti return out, req.Send() } -const opListComplianceStatus = "ListComplianceStatus" +const opGetProtocolsList = "GetProtocolsList" -// ListComplianceStatusRequest generates a "aws/request.Request" representing the -// client's request for the ListComplianceStatus operation. The "output" return +// GetProtocolsListRequest generates a "aws/request.Request" representing the +// client's request for the GetProtocolsList operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListComplianceStatus for more information on using the ListComplianceStatus +// See GetProtocolsList for more information on using the GetProtocolsList // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListComplianceStatusRequest method. -// req, resp := client.ListComplianceStatusRequest(params) +// // Example sending a request using the GetProtocolsListRequest method. +// req, resp := client.GetProtocolsListRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus -func (c *FMS) ListComplianceStatusRequest(input *ListComplianceStatusInput) (req *request.Request, output *ListComplianceStatusOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList +func (c *FMS) GetProtocolsListRequest(input *GetProtocolsListInput) (req *request.Request, output *GetProtocolsListOutput) { op := &request.Operation{ - Name: opListComplianceStatus, + Name: opGetProtocolsList, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListComplianceStatusInput{} + input = &GetProtocolsListInput{} } - output = &ListComplianceStatusOutput{} + output = &GetProtocolsListOutput{} req = c.newRequest(op, input, output) return } -// ListComplianceStatus API operation for Firewall Management Service. +// GetProtocolsList API operation for Firewall Management Service. // -// Returns an array of PolicyComplianceStatus objects in the response. Use PolicyComplianceStatus -// to get a summary of which member accounts are protected by the specified -// policy. +// Returns information about the specified AWS Firewall Manager protocols list. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Firewall Management Service's -// API operation ListComplianceStatus for usage and error information. +// API operation GetProtocolsList for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource was not found. // +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// // * InternalErrorException // The operation failed because of a system problem, even though the request // was valid. Retry your request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus -func (c *FMS) ListComplianceStatus(input *ListComplianceStatusInput) (*ListComplianceStatusOutput, error) { - req, out := c.ListComplianceStatusRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList +func (c *FMS) GetProtocolsList(input *GetProtocolsListInput) (*GetProtocolsListOutput, error) { + req, out := c.GetProtocolsListRequest(input) return out, req.Send() } -// ListComplianceStatusWithContext is the same as ListComplianceStatus with the addition of +// GetProtocolsListWithContext is the same as GetProtocolsList with the addition of // the ability to pass a context and additional request options. // -// See ListComplianceStatus for details on how to use this API operation. +// See GetProtocolsList for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *FMS) ListComplianceStatusWithContext(ctx aws.Context, input *ListComplianceStatusInput, opts ...request.Option) (*ListComplianceStatusOutput, error) { - req, out := c.ListComplianceStatusRequest(input) +func (c *FMS) GetProtocolsListWithContext(ctx aws.Context, input *GetProtocolsListInput, opts ...request.Option) (*GetProtocolsListOutput, error) { + req, out := c.GetProtocolsListRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListComplianceStatusPages iterates over the pages of a ListComplianceStatus operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetViolationDetails = "GetViolationDetails" + +// GetViolationDetailsRequest generates a "aws/request.Request" representing the +// client's request for the GetViolationDetails operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListComplianceStatus method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. +// See GetViolationDetails for more information on using the GetViolationDetails +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListComplianceStatus operation. -// pageNum := 0 -// err := client.ListComplianceStatusPages(params, -// func(page *fms.ListComplianceStatusOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -func (c *FMS) ListComplianceStatusPages(input *ListComplianceStatusInput, fn func(*ListComplianceStatusOutput, bool) bool) error { - return c.ListComplianceStatusPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListComplianceStatusPagesWithContext same as ListComplianceStatusPages except -// it takes a Context and allows setting request options on the pages. +// +// // Example sending a request using the GetViolationDetailsRequest method. +// req, resp := client.GetViolationDetailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails +func (c *FMS) GetViolationDetailsRequest(input *GetViolationDetailsInput) (req *request.Request, output *GetViolationDetailsOutput) { + op := &request.Operation{ + Name: opGetViolationDetails, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetViolationDetailsInput{} + } + + output = &GetViolationDetailsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetViolationDetails API operation for Firewall Management Service. +// +// Retrieves violations for a resource based on the specified AWS Firewall Manager +// policy and 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 Firewall Management Service's +// API operation GetViolationDetails for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidInputException +// The parameters of the request were invalid. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails +func (c *FMS) GetViolationDetails(input *GetViolationDetailsInput) (*GetViolationDetailsOutput, error) { + req, out := c.GetViolationDetailsRequest(input) + return out, req.Send() +} + +// GetViolationDetailsWithContext is the same as GetViolationDetails with the addition of +// the ability to pass a context and additional request options. +// +// See GetViolationDetails for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) GetViolationDetailsWithContext(ctx aws.Context, input *GetViolationDetailsInput, opts ...request.Option) (*GetViolationDetailsOutput, error) { + req, out := c.GetViolationDetailsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAppsLists = "ListAppsLists" + +// ListAppsListsRequest generates a "aws/request.Request" representing the +// client's request for the ListAppsLists operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListAppsLists for more information on using the ListAppsLists +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListAppsListsRequest method. +// req, resp := client.ListAppsListsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists +func (c *FMS) ListAppsListsRequest(input *ListAppsListsInput) (req *request.Request, output *ListAppsListsOutput) { + op := &request.Operation{ + Name: opListAppsLists, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAppsListsInput{} + } + + output = &ListAppsListsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAppsLists API operation for Firewall Management Service. +// +// Returns an array of AppsListDataSummary 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 +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation ListAppsLists for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * LimitExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// policy objects that you can create for an AWS account. For more information, +// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) +// in the AWS WAF Developer Guide. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists +func (c *FMS) ListAppsLists(input *ListAppsListsInput) (*ListAppsListsOutput, error) { + req, out := c.ListAppsListsRequest(input) + return out, req.Send() +} + +// ListAppsListsWithContext is the same as ListAppsLists with the addition of +// the ability to pass a context and additional request options. +// +// See ListAppsLists for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) ListAppsListsWithContext(ctx aws.Context, input *ListAppsListsInput, opts ...request.Option) (*ListAppsListsOutput, error) { + req, out := c.ListAppsListsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListComplianceStatus = "ListComplianceStatus" + +// ListComplianceStatusRequest generates a "aws/request.Request" representing the +// client's request for the ListComplianceStatus operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListComplianceStatus for more information on using the ListComplianceStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListComplianceStatusRequest method. +// req, resp := client.ListComplianceStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus +func (c *FMS) ListComplianceStatusRequest(input *ListComplianceStatusInput) (req *request.Request, output *ListComplianceStatusOutput) { + op := &request.Operation{ + Name: opListComplianceStatus, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListComplianceStatusInput{} + } + + output = &ListComplianceStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListComplianceStatus API operation for Firewall Management Service. +// +// Returns an array of PolicyComplianceStatus objects. Use PolicyComplianceStatus +// to get a summary of which member accounts are protected by the specified +// policy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation ListComplianceStatus for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus +func (c *FMS) ListComplianceStatus(input *ListComplianceStatusInput) (*ListComplianceStatusOutput, error) { + req, out := c.ListComplianceStatusRequest(input) + return out, req.Send() +} + +// ListComplianceStatusWithContext is the same as ListComplianceStatus with the addition of +// the ability to pass a context and additional request options. +// +// See ListComplianceStatus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) ListComplianceStatusWithContext(ctx aws.Context, input *ListComplianceStatusInput, opts ...request.Option) (*ListComplianceStatusOutput, error) { + req, out := c.ListComplianceStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListComplianceStatusPages iterates over the pages of a ListComplianceStatus operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComplianceStatus 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 ListComplianceStatus operation. +// pageNum := 0 +// err := client.ListComplianceStatusPages(params, +// func(page *fms.ListComplianceStatusOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *FMS) ListComplianceStatusPages(input *ListComplianceStatusInput, fn func(*ListComplianceStatusOutput, bool) bool) error { + return c.ListComplianceStatusPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComplianceStatusPagesWithContext same as ListComplianceStatusPages 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 @@ -1167,7 +1750,7 @@ func (c *FMS) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques // ListPolicies API operation for Firewall Management Service. // -// Returns an array of PolicySummary objects in the response. +// Returns an array of PolicySummary 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 @@ -1181,9 +1764,12 @@ func (c *FMS) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * LimitExceededException // The operation exceeds a resource limit, for example, the maximum number of @@ -1269,78 +1855,172 @@ func (c *FMS) ListPoliciesPagesWithContext(ctx aws.Context, input *ListPoliciesI return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListProtocolsLists = "ListProtocolsLists" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListProtocolsListsRequest generates a "aws/request.Request" representing the +// client's request for the ListProtocolsLists operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 ListProtocolsLists for more information on using the ListProtocolsLists // API call, and error handling. // // This method is useful when you want to 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 ListProtocolsListsRequest method. +// req, resp := client.ListProtocolsListsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource -func (c *FMS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists +func (c *FMS) ListProtocolsListsRequest(input *ListProtocolsListsInput) (req *request.Request, output *ListProtocolsListsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListProtocolsLists, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListProtocolsListsInput{} } - output = &ListTagsForResourceOutput{} + output = &ListProtocolsListsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Firewall Management Service. +// ListProtocolsLists API operation for Firewall Management Service. // -// Retrieves the list of tags for the specified AWS resource. +// Returns an array of ProtocolsListDataSummary 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 // the error. // // See the AWS API reference guide for Firewall Management Service's -// API operation ListTagsForResource for usage and error information. +// API operation ListProtocolsLists for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request // was valid. Retry your request. // -// * InvalidInputException -// The parameters of the request were invalid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource -func (c *FMS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists +func (c *FMS) ListProtocolsLists(input *ListProtocolsListsInput) (*ListProtocolsListsOutput, error) { + req, out := c.ListProtocolsListsRequest(input) + return out, req.Send() +} + +// ListProtocolsListsWithContext is the same as ListProtocolsLists with the addition of +// the ability to pass a context and additional request options. +// +// See ListProtocolsLists for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) ListProtocolsListsWithContext(ctx aws.Context, input *ListProtocolsListsInput, opts ...request.Option) (*ListProtocolsListsOutput, error) { + req, out := c.ListProtocolsListsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +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/fms-2018-01-01/ListTagsForResource +func (c *FMS) 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 Firewall Management Service. +// +// Retrieves the list of tags for the specified AWS 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 Firewall Management Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidInputException +// The parameters of the request were invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource +func (c *FMS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } @@ -1360,6 +2040,106 @@ func (c *FMS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsFor return out, req.Send() } +const opPutAppsList = "PutAppsList" + +// PutAppsListRequest generates a "aws/request.Request" representing the +// client's request for the PutAppsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutAppsList for more information on using the PutAppsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutAppsListRequest method. +// req, resp := client.PutAppsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList +func (c *FMS) PutAppsListRequest(input *PutAppsListInput) (req *request.Request, output *PutAppsListOutput) { + op := &request.Operation{ + Name: opPutAppsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutAppsListInput{} + } + + output = &PutAppsListOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutAppsList API operation for Firewall Management Service. +// +// Creates an AWS Firewall Manager applications list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation PutAppsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InvalidInputException +// The parameters of the request were invalid. +// +// * LimitExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// policy objects that you can create for an AWS account. For more information, +// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) +// in the AWS WAF Developer Guide. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList +func (c *FMS) PutAppsList(input *PutAppsListInput) (*PutAppsListOutput, error) { + req, out := c.PutAppsListRequest(input) + return out, req.Send() +} + +// PutAppsListWithContext is the same as PutAppsList with the addition of +// the ability to pass a context and additional request options. +// +// See PutAppsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) PutAppsListWithContext(ctx aws.Context, input *PutAppsListInput, opts ...request.Option) (*PutAppsListOutput, error) { + req, out := c.PutAppsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutNotificationChannel = "PutNotificationChannel" // PutNotificationChannelRequest generates a "aws/request.Request" representing the @@ -1420,9 +2200,12 @@ func (c *FMS) PutNotificationChannelRequest(input *PutNotificationChannelInput) // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -1530,9 +2313,12 @@ func (c *FMS) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, out // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InvalidInputException // The parameters of the request were invalid. @@ -1572,6 +2358,106 @@ func (c *FMS) PutPolicyWithContext(ctx aws.Context, input *PutPolicyInput, opts return out, req.Send() } +const opPutProtocolsList = "PutProtocolsList" + +// PutProtocolsListRequest generates a "aws/request.Request" representing the +// client's request for the PutProtocolsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutProtocolsList for more information on using the PutProtocolsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutProtocolsListRequest method. +// req, resp := client.PutProtocolsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList +func (c *FMS) PutProtocolsListRequest(input *PutProtocolsListInput) (req *request.Request, output *PutProtocolsListOutput) { + op := &request.Operation{ + Name: opPutProtocolsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutProtocolsListInput{} + } + + output = &PutProtocolsListOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutProtocolsList API operation for Firewall Management Service. +// +// Creates an AWS Firewall Manager protocols list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation PutProtocolsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InvalidInputException +// The parameters of the request were invalid. +// +// * LimitExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// policy objects that you can create for an AWS account. For more information, +// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) +// in the AWS WAF Developer Guide. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList +func (c *FMS) PutProtocolsList(input *PutProtocolsListInput) (*PutProtocolsListOutput, error) { + req, out := c.PutProtocolsListRequest(input) + return out, req.Send() +} + +// PutProtocolsListWithContext is the same as PutProtocolsList with the addition of +// the ability to pass a context and additional request options. +// +// See PutProtocolsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) PutProtocolsListWithContext(ctx aws.Context, input *PutProtocolsListInput, opts ...request.Option) (*PutProtocolsListOutput, error) { + req, out := c.PutProtocolsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -1631,9 +2517,12 @@ func (c *FMS) TagResourceRequest(input *TagResourceInput) (req *request.Request, // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -1729,9 +2618,12 @@ func (c *FMS) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -1762,36 +2654,54 @@ func (c *FMS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInpu return out, req.Send() } -type AssociateAdminAccountInput struct { +// An individual AWS Firewall Manager application. +type App struct { _ struct{} `type:"structure"` - // The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall - // Manager administrator account. This can be an AWS Organizations master account - // or a member account. For more information about AWS Organizations and master - // accounts, see Managing the AWS Accounts in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html). + // The application's name. // - // AdminAccount is a required field - AdminAccount *string `min:"1" type:"string" required:"true"` + // AppName is a required field + AppName *string `min:"1" type:"string" required:"true"` + + // The application's port number, for example 80. + // + // Port is a required field + Port *int64 `type:"long" required:"true"` + + // The IP protocol name or number. The name can be one of tcp, udp, or icmp. + // For information on possible numbers, see Protocol Numbers (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). + // + // Protocol is a required field + Protocol *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s AssociateAdminAccountInput) String() string { +func (s App) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociateAdminAccountInput) GoString() string { +func (s App) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssociateAdminAccountInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociateAdminAccountInput"} - if s.AdminAccount == nil { - invalidParams.Add(request.NewErrParamRequired("AdminAccount")) +func (s *App) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "App"} + if s.AppName == nil { + invalidParams.Add(request.NewErrParamRequired("AppName")) } - if s.AdminAccount != nil && len(*s.AdminAccount) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AdminAccount", 1)) + if s.AppName != nil && len(*s.AppName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppName", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.Protocol != nil && len(*s.Protocol) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Protocol", 1)) } if invalidParams.Len() > 0 { @@ -1800,13 +2710,239 @@ func (s *AssociateAdminAccountInput) Validate() error { return nil } -// SetAdminAccount sets the AdminAccount field's value. -func (s *AssociateAdminAccountInput) SetAdminAccount(v string) *AssociateAdminAccountInput { - s.AdminAccount = &v +// SetAppName sets the AppName field's value. +func (s *App) SetAppName(v string) *App { + s.AppName = &v return s } -type AssociateAdminAccountOutput struct { +// SetPort sets the Port field's value. +func (s *App) SetPort(v int64) *App { + s.Port = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *App) SetProtocol(v string) *App { + s.Protocol = &v + return s +} + +// An AWS Firewall Manager applications list. +type AppsListData struct { + _ struct{} `type:"structure"` + + // An array of applications in the AWS Firewall Manager applications list. + // + // AppsList is a required field + AppsList []*App `type:"list" required:"true"` + + // The time that the AWS Firewall Manager applications list was created. + CreateTime *time.Time `type:"timestamp"` + + // The time that the AWS Firewall Manager applications list was last updated. + LastUpdateTime *time.Time `type:"timestamp"` + + // The ID of the AWS Firewall Manager applications list. + ListId *string `min:"36" type:"string"` + + // The name of the AWS Firewall Manager applications list. + // + // ListName is a required field + ListName *string `min:"1" type:"string" required:"true"` + + // A unique identifier for each update to the list. When you update the list, + // the update token must match the token of the current version of the application + // list. You can retrieve the update token by getting the list. + ListUpdateToken *string `min:"1" type:"string"` + + // A map of previous version numbers to their corresponding App object arrays. + PreviousAppsList map[string][]*App `type:"map"` +} + +// String returns the string representation +func (s AppsListData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AppsListData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AppsListData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AppsListData"} + if s.AppsList == nil { + invalidParams.Add(request.NewErrParamRequired("AppsList")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + if s.ListName == nil { + invalidParams.Add(request.NewErrParamRequired("ListName")) + } + if s.ListName != nil && len(*s.ListName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ListName", 1)) + } + if s.ListUpdateToken != nil && len(*s.ListUpdateToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ListUpdateToken", 1)) + } + if s.AppsList != nil { + for i, v := range s.AppsList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AppsList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppsList sets the AppsList field's value. +func (s *AppsListData) SetAppsList(v []*App) *AppsListData { + s.AppsList = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AppsListData) SetCreateTime(v time.Time) *AppsListData { + s.CreateTime = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *AppsListData) SetLastUpdateTime(v time.Time) *AppsListData { + s.LastUpdateTime = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *AppsListData) SetListId(v string) *AppsListData { + s.ListId = &v + return s +} + +// SetListName sets the ListName field's value. +func (s *AppsListData) SetListName(v string) *AppsListData { + s.ListName = &v + return s +} + +// SetListUpdateToken sets the ListUpdateToken field's value. +func (s *AppsListData) SetListUpdateToken(v string) *AppsListData { + s.ListUpdateToken = &v + return s +} + +// SetPreviousAppsList sets the PreviousAppsList field's value. +func (s *AppsListData) SetPreviousAppsList(v map[string][]*App) *AppsListData { + s.PreviousAppsList = v + return s +} + +// Details of the AWS Firewall Manager applications list. +type AppsListDataSummary struct { + _ struct{} `type:"structure"` + + // An array of App objects in the AWS Firewall Manager applications list. + AppsList []*App `type:"list"` + + // The Amazon Resource Name (ARN) of the applications list. + ListArn *string `min:"1" type:"string"` + + // The ID of the applications list. + ListId *string `min:"36" type:"string"` + + // The name of the applications list. + ListName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AppsListDataSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AppsListDataSummary) GoString() string { + return s.String() +} + +// SetAppsList sets the AppsList field's value. +func (s *AppsListDataSummary) SetAppsList(v []*App) *AppsListDataSummary { + s.AppsList = v + return s +} + +// SetListArn sets the ListArn field's value. +func (s *AppsListDataSummary) SetListArn(v string) *AppsListDataSummary { + s.ListArn = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *AppsListDataSummary) SetListId(v string) *AppsListDataSummary { + s.ListId = &v + return s +} + +// SetListName sets the ListName field's value. +func (s *AppsListDataSummary) SetListName(v string) *AppsListDataSummary { + s.ListName = &v + return s +} + +type AssociateAdminAccountInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall + // Manager administrator account. This can be an AWS Organizations master account + // or a member account. For more information about AWS Organizations and master + // accounts, see Managing the AWS Accounts in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html). + // + // AdminAccount is a required field + AdminAccount *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateAdminAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateAdminAccountInput"} + if s.AdminAccount == nil { + invalidParams.Add(request.NewErrParamRequired("AdminAccount")) + } + if s.AdminAccount != nil && len(*s.AdminAccount) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AdminAccount", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdminAccount sets the AdminAccount field's value. +func (s *AssociateAdminAccountInput) SetAdminAccount(v string) *AssociateAdminAccountInput { + s.AdminAccount = &v + return s +} + +type AssociateAdminAccountOutput struct { _ struct{} `type:"structure"` } @@ -1820,6 +2956,126 @@ func (s AssociateAdminAccountOutput) GoString() string { return s.String() } +// Violations for an EC2 instance resource. +type AwsEc2InstanceViolation struct { + _ struct{} `type:"structure"` + + // Violations for network interfaces associated with the EC2 instance. + AwsEc2NetworkInterfaceViolations []*AwsEc2NetworkInterfaceViolation `type:"list"` + + // The resource ID of the EC2 instance. + ViolationTarget *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2InstanceViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2InstanceViolation) GoString() string { + return s.String() +} + +// SetAwsEc2NetworkInterfaceViolations sets the AwsEc2NetworkInterfaceViolations field's value. +func (s *AwsEc2InstanceViolation) SetAwsEc2NetworkInterfaceViolations(v []*AwsEc2NetworkInterfaceViolation) *AwsEc2InstanceViolation { + s.AwsEc2NetworkInterfaceViolations = v + return s +} + +// SetViolationTarget sets the ViolationTarget field's value. +func (s *AwsEc2InstanceViolation) SetViolationTarget(v string) *AwsEc2InstanceViolation { + s.ViolationTarget = &v + return s +} + +// Violations for network interfaces associated with an EC2 instance. +type AwsEc2NetworkInterfaceViolation struct { + _ struct{} `type:"structure"` + + // List of security groups that violate the rules specified in the master security + // group of the AWS Firewall Manager policy. + ViolatingSecurityGroups []*string `type:"list"` + + // The resource ID of the network interface. + ViolationTarget *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2NetworkInterfaceViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2NetworkInterfaceViolation) GoString() string { + return s.String() +} + +// SetViolatingSecurityGroups sets the ViolatingSecurityGroups field's value. +func (s *AwsEc2NetworkInterfaceViolation) SetViolatingSecurityGroups(v []*string) *AwsEc2NetworkInterfaceViolation { + s.ViolatingSecurityGroups = v + return s +} + +// SetViolationTarget sets the ViolationTarget field's value. +func (s *AwsEc2NetworkInterfaceViolation) SetViolationTarget(v string) *AwsEc2NetworkInterfaceViolation { + s.ViolationTarget = &v + return s +} + +// Details of the rule violation in a security group when compared to the master +// security group of the AWS Firewall Manager policy. +type AwsVPCSecurityGroupViolation struct { + _ struct{} `type:"structure"` + + // List of rules specified in the security group of the AWS Firewall Manager + // policy that partially match the ViolationTarget rule. + PartialMatches []*PartialMatch `type:"list"` + + // Remediation options for the rule specified in the ViolationTarget. + PossibleSecurityGroupRemediationActions []*SecurityGroupRemediationAction `type:"list"` + + // The security group rule that is being evaluated. + ViolationTarget *string `type:"string"` + + // A description of the security group that violates the policy. + ViolationTargetDescription *string `type:"string"` +} + +// String returns the string representation +func (s AwsVPCSecurityGroupViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsVPCSecurityGroupViolation) GoString() string { + return s.String() +} + +// SetPartialMatches sets the PartialMatches field's value. +func (s *AwsVPCSecurityGroupViolation) SetPartialMatches(v []*PartialMatch) *AwsVPCSecurityGroupViolation { + s.PartialMatches = v + return s +} + +// SetPossibleSecurityGroupRemediationActions sets the PossibleSecurityGroupRemediationActions field's value. +func (s *AwsVPCSecurityGroupViolation) SetPossibleSecurityGroupRemediationActions(v []*SecurityGroupRemediationAction) *AwsVPCSecurityGroupViolation { + s.PossibleSecurityGroupRemediationActions = v + return s +} + +// SetViolationTarget sets the ViolationTarget field's value. +func (s *AwsVPCSecurityGroupViolation) SetViolationTarget(v string) *AwsVPCSecurityGroupViolation { + s.ViolationTarget = &v + return s +} + +// SetViolationTargetDescription sets the ViolationTargetDescription field's value. +func (s *AwsVPCSecurityGroupViolation) SetViolationTargetDescription(v string) *AwsVPCSecurityGroupViolation { + s.ViolationTargetDescription = &v + return s +} + // Details of the resource that is not protected by the policy. type ComplianceViolator struct { _ struct{} `type:"structure"` @@ -1864,6 +3120,62 @@ func (s *ComplianceViolator) SetViolationReason(v string) *ComplianceViolator { return s } +type DeleteAppsListInput struct { + _ struct{} `type:"structure"` + + // The ID of the applications list that you want to delete. You can retrieve + // this ID from PutAppsList, ListAppsLists, and GetAppsList. + // + // ListId is a required field + ListId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAppsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAppsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAppsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAppsListInput"} + if s.ListId == nil { + invalidParams.Add(request.NewErrParamRequired("ListId")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetListId sets the ListId field's value. +func (s *DeleteAppsListInput) SetListId(v string) *DeleteAppsListInput { + s.ListId = &v + return s +} + +type DeleteAppsListOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAppsListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAppsListOutput) GoString() string { + return s.String() +} + type DeleteNotificationChannelInput struct { _ struct{} `type:"structure"` } @@ -1922,8 +3234,8 @@ type DeletePolicyInput struct { // If you don't specify tags or accounts, all resources are in scope. DeleteAllPolicyResources *bool `type:"boolean"` - // The ID of the policy that you want to delete. PolicyId is returned by PutPolicy - // and by ListPolicies. + // The ID of the policy that you want to delete. You can retrieve this ID from + // PutPolicy and ListPolicies. // // PolicyId is a required field PolicyId *string `min:"36" type:"string" required:"true"` @@ -1981,6 +3293,62 @@ func (s DeletePolicyOutput) GoString() string { return s.String() } +type DeleteProtocolsListInput struct { + _ struct{} `type:"structure"` + + // The ID of the protocols list that you want to delete. You can retrieve this + // ID from PutProtocolsList, ListProtocolsLists, and GetProtocolsLost. + // + // ListId is a required field + ListId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteProtocolsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProtocolsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProtocolsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProtocolsListInput"} + if s.ListId == nil { + invalidParams.Add(request.NewErrParamRequired("ListId")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetListId sets the ListId field's value. +func (s *DeleteProtocolsListInput) SetListId(v string) *DeleteProtocolsListInput { + s.ListId = &v + return s +} + +type DeleteProtocolsListOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteProtocolsListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProtocolsListOutput) GoString() string { + return s.String() +} + type DisassociateAdminAccountInput struct { _ struct{} `type:"structure"` } @@ -2031,76 +3399,160 @@ type EvaluationResult struct { } // String returns the string representation -func (s EvaluationResult) String() string { +func (s EvaluationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EvaluationResult) GoString() string { + return s.String() +} + +// SetComplianceStatus sets the ComplianceStatus field's value. +func (s *EvaluationResult) SetComplianceStatus(v string) *EvaluationResult { + s.ComplianceStatus = &v + return s +} + +// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value. +func (s *EvaluationResult) SetEvaluationLimitExceeded(v bool) *EvaluationResult { + s.EvaluationLimitExceeded = &v + return s +} + +// SetViolatorCount sets the ViolatorCount field's value. +func (s *EvaluationResult) SetViolatorCount(v int64) *EvaluationResult { + s.ViolatorCount = &v + return s +} + +type GetAdminAccountInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAdminAccountInput) GoString() string { + return s.String() +} + +type GetAdminAccountOutput struct { + _ struct{} `type:"structure"` + + // The AWS account that is set as the AWS Firewall Manager administrator. + AdminAccount *string `min:"1" type:"string"` + + // The status of the AWS account that you set as the AWS Firewall Manager administrator. + RoleStatus *string `type:"string" enum:"AccountRoleStatus"` +} + +// String returns the string representation +func (s GetAdminAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAdminAccountOutput) GoString() string { + return s.String() +} + +// SetAdminAccount sets the AdminAccount field's value. +func (s *GetAdminAccountOutput) SetAdminAccount(v string) *GetAdminAccountOutput { + s.AdminAccount = &v + return s +} + +// SetRoleStatus sets the RoleStatus field's value. +func (s *GetAdminAccountOutput) SetRoleStatus(v string) *GetAdminAccountOutput { + s.RoleStatus = &v + return s +} + +type GetAppsListInput struct { + _ struct{} `type:"structure"` + + // Specifies whether the list to retrieve is a default list owned by AWS Firewall + // Manager. + DefaultList *bool `type:"boolean"` + + // The ID of the AWS Firewall Manager applications list that you want the details + // for. + // + // ListId is a required field + ListId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetAppsListInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EvaluationResult) GoString() string { +func (s GetAppsListInput) GoString() string { return s.String() } -// SetComplianceStatus sets the ComplianceStatus field's value. -func (s *EvaluationResult) SetComplianceStatus(v string) *EvaluationResult { - s.ComplianceStatus = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAppsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAppsListInput"} + if s.ListId == nil { + invalidParams.Add(request.NewErrParamRequired("ListId")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } -// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value. -func (s *EvaluationResult) SetEvaluationLimitExceeded(v bool) *EvaluationResult { - s.EvaluationLimitExceeded = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetViolatorCount sets the ViolatorCount field's value. -func (s *EvaluationResult) SetViolatorCount(v int64) *EvaluationResult { - s.ViolatorCount = &v +// SetDefaultList sets the DefaultList field's value. +func (s *GetAppsListInput) SetDefaultList(v bool) *GetAppsListInput { + s.DefaultList = &v return s } -type GetAdminAccountInput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s GetAdminAccountInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetAdminAccountInput) GoString() string { - return s.String() +// SetListId sets the ListId field's value. +func (s *GetAppsListInput) SetListId(v string) *GetAppsListInput { + s.ListId = &v + return s } -type GetAdminAccountOutput struct { +type GetAppsListOutput struct { _ struct{} `type:"structure"` - // The AWS account that is set as the AWS Firewall Manager administrator. - AdminAccount *string `min:"1" type:"string"` + // Information about the specified AWS Firewall Manager applications list. + AppsList *AppsListData `type:"structure"` - // The status of the AWS account that you set as the AWS Firewall Manager administrator. - RoleStatus *string `type:"string" enum:"AccountRoleStatus"` + // The Amazon Resource Name (ARN) of the applications list. + AppsListArn *string `min:"1" type:"string"` } // String returns the string representation -func (s GetAdminAccountOutput) String() string { +func (s GetAppsListOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAdminAccountOutput) GoString() string { +func (s GetAppsListOutput) GoString() string { return s.String() } -// SetAdminAccount sets the AdminAccount field's value. -func (s *GetAdminAccountOutput) SetAdminAccount(v string) *GetAdminAccountOutput { - s.AdminAccount = &v +// SetAppsList sets the AppsList field's value. +func (s *GetAppsListOutput) SetAppsList(v *AppsListData) *GetAppsListOutput { + s.AppsList = v return s } -// SetRoleStatus sets the RoleStatus field's value. -func (s *GetAdminAccountOutput) SetRoleStatus(v string) *GetAdminAccountOutput { - s.RoleStatus = &v +// SetAppsListArn sets the AppsListArn field's value. +func (s *GetAppsListOutput) SetAppsListArn(v string) *GetAppsListOutput { + s.AppsListArn = &v return s } @@ -2488,6 +3940,209 @@ func (s *GetProtectionStatusOutput) SetServiceType(v string) *GetProtectionStatu return s } +type GetProtocolsListInput struct { + _ struct{} `type:"structure"` + + // Specifies whether the list to retrieve is a default list owned by AWS Firewall + // Manager. + DefaultList *bool `type:"boolean"` + + // The ID of the AWS Firewall Manager protocols list that you want the details + // for. + // + // ListId is a required field + ListId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetProtocolsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetProtocolsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetProtocolsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProtocolsListInput"} + if s.ListId == nil { + invalidParams.Add(request.NewErrParamRequired("ListId")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultList sets the DefaultList field's value. +func (s *GetProtocolsListInput) SetDefaultList(v bool) *GetProtocolsListInput { + s.DefaultList = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *GetProtocolsListInput) SetListId(v string) *GetProtocolsListInput { + s.ListId = &v + return s +} + +type GetProtocolsListOutput struct { + _ struct{} `type:"structure"` + + // Information about the specified AWS Firewall Manager protocols list. + ProtocolsList *ProtocolsListData `type:"structure"` + + // The Amazon Resource Name (ARN) of the specified protocols list. + ProtocolsListArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetProtocolsListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetProtocolsListOutput) GoString() string { + return s.String() +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *GetProtocolsListOutput) SetProtocolsList(v *ProtocolsListData) *GetProtocolsListOutput { + s.ProtocolsList = v + return s +} + +// SetProtocolsListArn sets the ProtocolsListArn field's value. +func (s *GetProtocolsListOutput) SetProtocolsListArn(v string) *GetProtocolsListOutput { + s.ProtocolsListArn = &v + return s +} + +type GetViolationDetailsInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID that you want the details for. + // + // MemberAccount is a required field + MemberAccount *string `min:"1" type:"string" required:"true"` + + // The ID of the AWS Firewall Manager policy that you want the details for. + // This currently only supports security group content audit policies. + // + // PolicyId is a required field + PolicyId *string `min:"36" type:"string" required:"true"` + + // The ID of the resource that has violations. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The resource type. This is in the format shown in the AWS Resource Types + // Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). + // Supported resource types are: AWS::EC2::Instance, AWS::EC2::NetworkInterface, + // or AWS::EC2::SecurityGroup. + // + // ResourceType is a required field + ResourceType *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetViolationDetailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetViolationDetailsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetViolationDetailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetViolationDetailsInput"} + if s.MemberAccount == nil { + invalidParams.Add(request.NewErrParamRequired("MemberAccount")) + } + if s.MemberAccount != nil && len(*s.MemberAccount) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MemberAccount", 1)) + } + if s.PolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyId")) + } + if s.PolicyId != nil && len(*s.PolicyId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) + } + 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 +} + +// SetMemberAccount sets the MemberAccount field's value. +func (s *GetViolationDetailsInput) SetMemberAccount(v string) *GetViolationDetailsInput { + s.MemberAccount = &v + return s +} + +// SetPolicyId sets the PolicyId field's value. +func (s *GetViolationDetailsInput) SetPolicyId(v string) *GetViolationDetailsInput { + s.PolicyId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *GetViolationDetailsInput) SetResourceId(v string) *GetViolationDetailsInput { + s.ResourceId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *GetViolationDetailsInput) SetResourceType(v string) *GetViolationDetailsInput { + s.ResourceType = &v + return s +} + +type GetViolationDetailsOutput struct { + _ struct{} `type:"structure"` + + // Violation detail for a resource. + ViolationDetail *ViolationDetail `type:"structure"` +} + +// String returns the string representation +func (s GetViolationDetailsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetViolationDetailsOutput) GoString() string { + return s.String() +} + +// SetViolationDetail sets the ViolationDetail field's value. +func (s *GetViolationDetailsOutput) SetViolationDetail(v *ViolationDetail) *GetViolationDetailsOutput { + s.ViolationDetail = v + return s +} + // The operation failed because of a system problem, even though the request // was valid. Retry your request. type InternalErrorException struct { @@ -2601,9 +4256,12 @@ func (s *InvalidInputException) RequestID() string { return s.RespMetadata.RequestID } -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. type InvalidOperationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2760,18 +4418,125 @@ func (s *LimitExceededException) OrigErr() error { return nil } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListAppsListsInput struct { + _ struct{} `type:"structure"` + + // Specifies whether the lists to retrieve are default lists owned by AWS Firewall + // Manager. + DefaultLists *bool `type:"boolean"` + + // The maximum number of objects that you want AWS Firewall Manager to return + // for this request. If more objects are available, in the response, AWS Firewall + // Manager provides a NextToken value that you can use in a subsequent call + // to get the next batch of objects. + // + // If you don't specify this, AWS Firewall Manager returns all available objects. + // + // MaxResults is a required field + MaxResults *int64 `min:"1" type:"integer" required:"true"` + + // If you specify a value for MaxResults in your list request, and you have + // more objects than the maximum, AWS Firewall Manager returns this token in + // the response. For all but the first request, you provide the token returned + // by the prior request in the request parameters, to retrieve the next batch + // of objects. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListAppsListsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAppsListsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAppsListsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAppsListsInput"} + if s.MaxResults == nil { + invalidParams.Add(request.NewErrParamRequired("MaxResults")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultLists sets the DefaultLists field's value. +func (s *ListAppsListsInput) SetDefaultLists(v bool) *ListAppsListsInput { + s.DefaultLists = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAppsListsInput) SetMaxResults(v int64) *ListAppsListsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAppsListsInput) SetNextToken(v string) *ListAppsListsInput { + s.NextToken = &v + return s +} + +type ListAppsListsOutput struct { + _ struct{} `type:"structure"` + + // An array of AppsListDataSummary objects. + AppsLists []*AppsListDataSummary `type:"list"` + + // If you specify a value for MaxResults in your list request, and you have + // more objects than the maximum, AWS Firewall Manager returns this token in + // the response. You can use this token in subsequent requests to retrieve the + // next batch of objects. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListAppsListsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAppsListsOutput) GoString() string { + return s.String() } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetAppsLists sets the AppsLists field's value. +func (s *ListAppsListsOutput) SetAppsLists(v []*AppsListDataSummary) *ListAppsListsOutput { + s.AppsLists = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListAppsListsOutput) SetNextToken(v string) *ListAppsListsOutput { + s.NextToken = &v + return s } type ListComplianceStatusInput struct { @@ -3067,12 +4832,119 @@ func (s *ListPoliciesOutput) SetPolicyList(v []*PolicySummary) *ListPoliciesOutp return s } +type ListProtocolsListsInput struct { + _ struct{} `type:"structure"` + + // Specifies whether the lists to retrieve are default lists owned by AWS Firewall + // Manager. + DefaultLists *bool `type:"boolean"` + + // The maximum number of objects that you want AWS Firewall Manager to return + // for this request. If more objects are available, in the response, AWS Firewall + // Manager provides a NextToken value that you can use in a subsequent call + // to get the next batch of objects. + // + // If you don't specify this, AWS Firewall Manager returns all available objects. + // + // MaxResults is a required field + MaxResults *int64 `min:"1" type:"integer" required:"true"` + + // If you specify a value for MaxResults in your list request, and you have + // more objects than the maximum, AWS Firewall Manager returns this token in + // the response. For all but the first request, you provide the token returned + // by the prior request in the request parameters, to retrieve the next batch + // of objects. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListProtocolsListsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProtocolsListsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProtocolsListsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProtocolsListsInput"} + if s.MaxResults == nil { + invalidParams.Add(request.NewErrParamRequired("MaxResults")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultLists sets the DefaultLists field's value. +func (s *ListProtocolsListsInput) SetDefaultLists(v bool) *ListProtocolsListsInput { + s.DefaultLists = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProtocolsListsInput) SetMaxResults(v int64) *ListProtocolsListsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtocolsListsInput) SetNextToken(v string) *ListProtocolsListsInput { + s.NextToken = &v + return s +} + +type ListProtocolsListsOutput struct { + _ struct{} `type:"structure"` + + // If you specify a value for MaxResults in your list request, and you have + // more objects than the maximum, AWS Firewall Manager returns this token in + // the response. You can use this token in subsequent requests to retrieve the + // next batch of objects. + NextToken *string `min:"1" type:"string"` + + // An array of ProtocolsListDataSummary objects. + ProtocolsLists []*ProtocolsListDataSummary `type:"list"` +} + +// String returns the string representation +func (s ListProtocolsListsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProtocolsListsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtocolsListsOutput) SetNextToken(v string) *ListProtocolsListsOutput { + s.NextToken = &v + return s +} + +// SetProtocolsLists sets the ProtocolsLists field's value. +func (s *ListProtocolsListsOutput) SetProtocolsLists(v []*ProtocolsListDataSummary) *ListProtocolsListsOutput { + s.ProtocolsLists = v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource to return tags for. The Firewall - // Manager policy is the only AWS resource that supports tagging, so this ARN - // is a policy ARN.. + // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS + // Firewall Manager resources that support tagging are policies, applications + // lists, and protocols lists. // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -3133,6 +5005,41 @@ func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOut return s } +// The reference rule that partially matches the ViolationTarget rule and violation +// reason. +type PartialMatch struct { + _ struct{} `type:"structure"` + + // The reference rule from the master security group of the AWS Firewall Manager + // policy. + Reference *string `type:"string"` + + // The violation reason. + TargetViolationReasons []*string `type:"list"` +} + +// String returns the string representation +func (s PartialMatch) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PartialMatch) GoString() string { + return s.String() +} + +// SetReference sets the Reference field's value. +func (s *PartialMatch) SetReference(v string) *PartialMatch { + s.Reference = &v + return s +} + +// SetTargetViolationReasons sets the TargetViolationReasons field's value. +func (s *PartialMatch) SetTargetViolationReasons(v []*string) *PartialMatch { + s.TargetViolationReasons = v + return s +} + // An AWS Firewall Manager policy. type Policy struct { _ struct{} `type:"structure"` @@ -3196,7 +5103,7 @@ type Policy struct { // The ID of the AWS Firewall Manager policy. PolicyId *string `min:"36" type:"string"` - // The friendly name of the AWS Firewall Manager policy. + // The name of the AWS Firewall Manager policy. // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -3475,7 +5382,7 @@ type PolicyComplianceStatus struct { // The ID of the AWS Firewall Manager policy. PolicyId *string `min:"36" type:"string"` - // The friendly name of the AWS Firewall Manager policy. + // The name of the AWS Firewall Manager policy. PolicyName *string `min:"1" type:"string"` // The AWS account that created the AWS Firewall Manager policy. @@ -3544,7 +5451,7 @@ type PolicySummary struct { // The ID of the specified policy. PolicyId *string `min:"36" type:"string"` - // The friendly name of the specified policy. + // The name of the specified policy. PolicyName *string `min:"1" type:"string"` // Indicates if the policy should be automatically applied to new resources. @@ -3566,49 +5473,303 @@ type PolicySummary struct { SecurityServiceType *string `type:"string" enum:"SecurityServiceType"` } -// String returns the string representation -func (s PolicySummary) String() string { - return awsutil.Prettify(s) +// String returns the string representation +func (s PolicySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PolicySummary) GoString() string { + return s.String() +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *PolicySummary) SetPolicyArn(v string) *PolicySummary { + s.PolicyArn = &v + return s +} + +// SetPolicyId sets the PolicyId field's value. +func (s *PolicySummary) SetPolicyId(v string) *PolicySummary { + s.PolicyId = &v + return s +} + +// SetPolicyName sets the PolicyName field's value. +func (s *PolicySummary) SetPolicyName(v string) *PolicySummary { + s.PolicyName = &v + return s +} + +// SetRemediationEnabled sets the RemediationEnabled field's value. +func (s *PolicySummary) SetRemediationEnabled(v bool) *PolicySummary { + s.RemediationEnabled = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *PolicySummary) SetResourceType(v string) *PolicySummary { + s.ResourceType = &v + return s +} + +// SetSecurityServiceType sets the SecurityServiceType field's value. +func (s *PolicySummary) SetSecurityServiceType(v string) *PolicySummary { + s.SecurityServiceType = &v + return s +} + +// An AWS Firewall Manager protocols list. +type ProtocolsListData struct { + _ struct{} `type:"structure"` + + // The time that the AWS Firewall Manager protocols list was created. + CreateTime *time.Time `type:"timestamp"` + + // The time that the AWS Firewall Manager protocols list was last updated. + LastUpdateTime *time.Time `type:"timestamp"` + + // The ID of the AWS Firewall Manager protocols list. + ListId *string `min:"36" type:"string"` + + // The name of the AWS Firewall Manager protocols list. + // + // ListName is a required field + ListName *string `min:"1" type:"string" required:"true"` + + // A unique identifier for each update to the list. When you update the list, + // the update token must match the token of the current version of the application + // list. You can retrieve the update token by getting the list. + ListUpdateToken *string `min:"1" type:"string"` + + // A map of previous version numbers to their corresponding protocol arrays. + PreviousProtocolsList map[string][]*string `type:"map"` + + // An array of protocols in the AWS Firewall Manager protocols list. + // + // ProtocolsList is a required field + ProtocolsList []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s ProtocolsListData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProtocolsListData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProtocolsListData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProtocolsListData"} + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + if s.ListName == nil { + invalidParams.Add(request.NewErrParamRequired("ListName")) + } + if s.ListName != nil && len(*s.ListName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ListName", 1)) + } + if s.ListUpdateToken != nil && len(*s.ListUpdateToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ListUpdateToken", 1)) + } + if s.ProtocolsList == nil { + invalidParams.Add(request.NewErrParamRequired("ProtocolsList")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ProtocolsListData) SetCreateTime(v time.Time) *ProtocolsListData { + s.CreateTime = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *ProtocolsListData) SetLastUpdateTime(v time.Time) *ProtocolsListData { + s.LastUpdateTime = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *ProtocolsListData) SetListId(v string) *ProtocolsListData { + s.ListId = &v + return s +} + +// SetListName sets the ListName field's value. +func (s *ProtocolsListData) SetListName(v string) *ProtocolsListData { + s.ListName = &v + return s +} + +// SetListUpdateToken sets the ListUpdateToken field's value. +func (s *ProtocolsListData) SetListUpdateToken(v string) *ProtocolsListData { + s.ListUpdateToken = &v + return s +} + +// SetPreviousProtocolsList sets the PreviousProtocolsList field's value. +func (s *ProtocolsListData) SetPreviousProtocolsList(v map[string][]*string) *ProtocolsListData { + s.PreviousProtocolsList = v + return s +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *ProtocolsListData) SetProtocolsList(v []*string) *ProtocolsListData { + s.ProtocolsList = v + return s +} + +// Details of the AWS Firewall Manager protocols list. +type ProtocolsListDataSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the specified protocols list. + ListArn *string `min:"1" type:"string"` + + // The ID of the specified protocols list. + ListId *string `min:"36" type:"string"` + + // The name of the specified protocols list. + ListName *string `min:"1" type:"string"` + + // An array of protocols in the AWS Firewall Manager protocols list. + ProtocolsList []*string `type:"list"` +} + +// String returns the string representation +func (s ProtocolsListDataSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProtocolsListDataSummary) GoString() string { + return s.String() +} + +// SetListArn sets the ListArn field's value. +func (s *ProtocolsListDataSummary) SetListArn(v string) *ProtocolsListDataSummary { + s.ListArn = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *ProtocolsListDataSummary) SetListId(v string) *ProtocolsListDataSummary { + s.ListId = &v + return s +} + +// SetListName sets the ListName field's value. +func (s *ProtocolsListDataSummary) SetListName(v string) *ProtocolsListDataSummary { + s.ListName = &v + return s +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *ProtocolsListDataSummary) SetProtocolsList(v []*string) *ProtocolsListDataSummary { + s.ProtocolsList = v + return s +} + +type PutAppsListInput struct { + _ struct{} `type:"structure"` + + // The details of the AWS Firewall Manager applications list to be created. + // + // AppsList is a required field + AppsList *AppsListData `type:"structure" required:"true"` + + // The tags associated with the resource. + TagList []*Tag `type:"list"` +} + +// String returns the string representation +func (s PutAppsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAppsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutAppsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutAppsListInput"} + if s.AppsList == nil { + invalidParams.Add(request.NewErrParamRequired("AppsList")) + } + if s.AppsList != nil { + if err := s.AppsList.Validate(); err != nil { + invalidParams.AddNested("AppsList", err.(request.ErrInvalidParams)) + } + } + if s.TagList != nil { + for i, v := range s.TagList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// GoString returns the string representation -func (s PolicySummary) GoString() string { - return s.String() +// SetAppsList sets the AppsList field's value. +func (s *PutAppsListInput) SetAppsList(v *AppsListData) *PutAppsListInput { + s.AppsList = v + return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *PolicySummary) SetPolicyArn(v string) *PolicySummary { - s.PolicyArn = &v +// SetTagList sets the TagList field's value. +func (s *PutAppsListInput) SetTagList(v []*Tag) *PutAppsListInput { + s.TagList = v return s } -// SetPolicyId sets the PolicyId field's value. -func (s *PolicySummary) SetPolicyId(v string) *PolicySummary { - s.PolicyId = &v - return s +type PutAppsListOutput struct { + _ struct{} `type:"structure"` + + // The details of the AWS Firewall Manager applications list. + AppsList *AppsListData `type:"structure"` + + // The Amazon Resource Name (ARN) of the applications list. + AppsListArn *string `min:"1" type:"string"` } -// SetPolicyName sets the PolicyName field's value. -func (s *PolicySummary) SetPolicyName(v string) *PolicySummary { - s.PolicyName = &v - return s +// String returns the string representation +func (s PutAppsListOutput) String() string { + return awsutil.Prettify(s) } -// SetRemediationEnabled sets the RemediationEnabled field's value. -func (s *PolicySummary) SetRemediationEnabled(v bool) *PolicySummary { - s.RemediationEnabled = &v - return s +// GoString returns the string representation +func (s PutAppsListOutput) GoString() string { + return s.String() } -// SetResourceType sets the ResourceType field's value. -func (s *PolicySummary) SetResourceType(v string) *PolicySummary { - s.ResourceType = &v +// SetAppsList sets the AppsList field's value. +func (s *PutAppsListOutput) SetAppsList(v *AppsListData) *PutAppsListOutput { + s.AppsList = v return s } -// SetSecurityServiceType sets the SecurityServiceType field's value. -func (s *PolicySummary) SetSecurityServiceType(v string) *PolicySummary { - s.SecurityServiceType = &v +// SetAppsListArn sets the AppsListArn field's value. +func (s *PutAppsListOutput) SetAppsListArn(v string) *PutAppsListOutput { + s.AppsListArn = &v return s } @@ -3751,10 +5912,10 @@ func (s *PutPolicyInput) SetTagList(v []*Tag) *PutPolicyInput { type PutPolicyOutput struct { _ struct{} `type:"structure"` - // The details of the AWS Firewall Manager policy that was created. + // The details of the AWS Firewall Manager policy. Policy *Policy `type:"structure"` - // The Amazon Resource Name (ARN) of the policy that was created. + // The Amazon Resource Name (ARN) of the policy. PolicyArn *string `min:"1" type:"string"` } @@ -3780,6 +5941,100 @@ func (s *PutPolicyOutput) SetPolicyArn(v string) *PutPolicyOutput { return s } +type PutProtocolsListInput struct { + _ struct{} `type:"structure"` + + // The details of the AWS Firewall Manager protocols list to be created. + // + // ProtocolsList is a required field + ProtocolsList *ProtocolsListData `type:"structure" required:"true"` + + // The tags associated with the resource. + TagList []*Tag `type:"list"` +} + +// String returns the string representation +func (s PutProtocolsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutProtocolsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutProtocolsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutProtocolsListInput"} + if s.ProtocolsList == nil { + invalidParams.Add(request.NewErrParamRequired("ProtocolsList")) + } + if s.ProtocolsList != nil { + if err := s.ProtocolsList.Validate(); err != nil { + invalidParams.AddNested("ProtocolsList", err.(request.ErrInvalidParams)) + } + } + if s.TagList != nil { + for i, v := range s.TagList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *PutProtocolsListInput) SetProtocolsList(v *ProtocolsListData) *PutProtocolsListInput { + s.ProtocolsList = v + return s +} + +// SetTagList sets the TagList field's value. +func (s *PutProtocolsListInput) SetTagList(v []*Tag) *PutProtocolsListInput { + s.TagList = v + return s +} + +type PutProtocolsListOutput struct { + _ struct{} `type:"structure"` + + // The details of the AWS Firewall Manager protocols list. + ProtocolsList *ProtocolsListData `type:"structure"` + + // The Amazon Resource Name (ARN) of the protocols list. + ProtocolsListArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PutProtocolsListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutProtocolsListOutput) GoString() string { + return s.String() +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *PutProtocolsListOutput) SetProtocolsList(v *ProtocolsListData) *PutProtocolsListOutput { + s.ProtocolsList = v + return s +} + +// SetProtocolsListArn sets the ProtocolsListArn field's value. +func (s *PutProtocolsListOutput) SetProtocolsListArn(v string) *PutProtocolsListOutput { + s.ProtocolsListArn = &v + return s +} + // The specified resource was not found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` @@ -3894,6 +6149,171 @@ func (s *ResourceTag) SetValue(v string) *ResourceTag { return s } +// Violation detail based on resource type. +type ResourceViolation struct { + _ struct{} `type:"structure"` + + // Violation details for an EC2 instance. + AwsEc2InstanceViolation *AwsEc2InstanceViolation `type:"structure"` + + // Violation details for network interface. + AwsEc2NetworkInterfaceViolation *AwsEc2NetworkInterfaceViolation `type:"structure"` + + // Violation details for security groups. + AwsVPCSecurityGroupViolation *AwsVPCSecurityGroupViolation `type:"structure"` +} + +// String returns the string representation +func (s ResourceViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceViolation) GoString() string { + return s.String() +} + +// SetAwsEc2InstanceViolation sets the AwsEc2InstanceViolation field's value. +func (s *ResourceViolation) SetAwsEc2InstanceViolation(v *AwsEc2InstanceViolation) *ResourceViolation { + s.AwsEc2InstanceViolation = v + return s +} + +// SetAwsEc2NetworkInterfaceViolation sets the AwsEc2NetworkInterfaceViolation field's value. +func (s *ResourceViolation) SetAwsEc2NetworkInterfaceViolation(v *AwsEc2NetworkInterfaceViolation) *ResourceViolation { + s.AwsEc2NetworkInterfaceViolation = v + return s +} + +// SetAwsVPCSecurityGroupViolation sets the AwsVPCSecurityGroupViolation field's value. +func (s *ResourceViolation) SetAwsVPCSecurityGroupViolation(v *AwsVPCSecurityGroupViolation) *ResourceViolation { + s.AwsVPCSecurityGroupViolation = v + return s +} + +// Remediation option for the rule specified in the ViolationTarget. +type SecurityGroupRemediationAction struct { + _ struct{} `type:"structure"` + + // Brief description of the action that will be performed. + Description *string `type:"string"` + + // Indicates if the current action is the default action. + IsDefaultAction *bool `type:"boolean"` + + // The remediation action that will be performed. + RemediationActionType *string `type:"string" enum:"RemediationActionType"` + + // The final state of the rule specified in the ViolationTarget after it is + // remediated. + RemediationResult *SecurityGroupRuleDescription `type:"structure"` +} + +// String returns the string representation +func (s SecurityGroupRemediationAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupRemediationAction) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *SecurityGroupRemediationAction) SetDescription(v string) *SecurityGroupRemediationAction { + s.Description = &v + return s +} + +// SetIsDefaultAction sets the IsDefaultAction field's value. +func (s *SecurityGroupRemediationAction) SetIsDefaultAction(v bool) *SecurityGroupRemediationAction { + s.IsDefaultAction = &v + return s +} + +// SetRemediationActionType sets the RemediationActionType field's value. +func (s *SecurityGroupRemediationAction) SetRemediationActionType(v string) *SecurityGroupRemediationAction { + s.RemediationActionType = &v + return s +} + +// SetRemediationResult sets the RemediationResult field's value. +func (s *SecurityGroupRemediationAction) SetRemediationResult(v *SecurityGroupRuleDescription) *SecurityGroupRemediationAction { + s.RemediationResult = v + return s +} + +// Describes a set of permissions for a security group rule. +type SecurityGroupRuleDescription struct { + _ struct{} `type:"structure"` + + // The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // type number. A value of -1 indicates all ICMP/ICMPv6 types. + FromPort *int64 `type:"long"` + + // The IPv4 ranges for the security group rule. + IPV4Range *string `type:"string"` + + // The IPv6 ranges for the security group rule. + IPV6Range *string `type:"string"` + + // The ID of the prefix list for the security group rule. + PrefixListId *string `min:"1" type:"string"` + + // The IP protocol name (tcp, udp, icmp, icmpv6) or number. + Protocol *string `type:"string"` + + // The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // code. A value of -1 indicates all ICMP/ICMPv6 codes. + ToPort *int64 `type:"long"` +} + +// String returns the string representation +func (s SecurityGroupRuleDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupRuleDescription) GoString() string { + return s.String() +} + +// SetFromPort sets the FromPort field's value. +func (s *SecurityGroupRuleDescription) SetFromPort(v int64) *SecurityGroupRuleDescription { + s.FromPort = &v + return s +} + +// SetIPV4Range sets the IPV4Range field's value. +func (s *SecurityGroupRuleDescription) SetIPV4Range(v string) *SecurityGroupRuleDescription { + s.IPV4Range = &v + return s +} + +// SetIPV6Range sets the IPV6Range field's value. +func (s *SecurityGroupRuleDescription) SetIPV6Range(v string) *SecurityGroupRuleDescription { + s.IPV6Range = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *SecurityGroupRuleDescription) SetPrefixListId(v string) *SecurityGroupRuleDescription { + s.PrefixListId = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *SecurityGroupRuleDescription) SetProtocol(v string) *SecurityGroupRuleDescription { + s.Protocol = &v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *SecurityGroupRuleDescription) SetToPort(v int64) *SecurityGroupRuleDescription { + s.ToPort = &v + return s +} + // Details about the security service that is being used to protect the resources. type SecurityServicePolicyData struct { _ struct{} `type:"structure"` @@ -3901,7 +6321,7 @@ type SecurityServicePolicyData struct { // Details about the service that are specific to the service type, in JSON // format. For service type SHIELD_ADVANCED, this is an empty string. // - // * Example: WAFV2 "ManagedServiceData": "{\"type\":\"WAFV2\",\"defaultAction\":{\"type\":\"ALLOW\"},\"preProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":null,\"ruleGroupArn\":\"rulegrouparn\",\"overrideAction\":{\"type\":\"COUNT\"},\"excludedRules\":[{\"name\":\"EntityName\"}],\"ruleGroupType\":\"RuleGroup\"}],\"postProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":{\"managedRuleGroupName\":\"AWSManagedRulesAdminProtectionRuleSet\",\"vendor\":\"AWS\"},\"ruleGroupArn\":\"rulegrouparn\",\"overrideAction\":{\"type\":\"NONE\"},\"excludedRules\":[],\"ruleGroupType\":\"ManagedRuleGroup\"}],\"overrideCustomerWebACLAssociation\":false}" + // * Example: WAFV2 "ManagedServiceData": "{\"type\":\"WAFV2\",\"defaultAction\":{\"type\":\"ALLOW\"},\"preProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":null,\"ruleGroupArn\":\"rulegrouparn\",\"overrideAction\":{\"type\":\"COUNT\"},\"excludeRules\":[{\"name\":\"EntityName\"}],\"ruleGroupType\":\"RuleGroup\"}],\"postProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":{\"managedRuleGroupName\":\"AWSManagedRulesAdminProtectionRuleSet\",\"vendorName\":\"AWS\"},\"ruleGroupArn\":\"rulegrouparn\",\"overrideAction\":{\"type\":\"NONE\"},\"excludeRules\":[],\"ruleGroupType\":\"ManagedRuleGroup\"}],\"overrideCustomerWebACLAssociation\":false}" // // * Example: WAF Classic "ManagedServiceData": "{\"type\": \"WAF\", \"ruleGroups\": // [{\"id\": \"12345678-1bcd-9012-efga-0987654321ab\", \"overrideAction\" @@ -4037,8 +6457,9 @@ func (s *Tag) SetValue(v string) *Tag { type TagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. The Firewall Manager policy - // is the only AWS resource that supports tagging, so this ARN is a policy ARN. + // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS + // Firewall Manager resources that support tagging are policies, applications + // lists, and protocols lists. // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -4117,8 +6538,9 @@ func (s TagResourceOutput) GoString() string { type UntagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. The Firewall Manager policy - // is the only AWS resource that supports tagging, so this ARN is a policy ARN. + // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS + // Firewall Manager resources that support tagging are policies, applications + // lists, and protocols lists. // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -4184,6 +6606,96 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +// Violations for a resource based on the specified AWS Firewall Manager policy +// and AWS account. +type ViolationDetail struct { + _ struct{} `type:"structure"` + + // The AWS account that the violation details were requested for. + // + // MemberAccount is a required field + MemberAccount *string `min:"1" type:"string" required:"true"` + + // The ID of the AWS Firewall Manager policy that the violation details were + // requested for. + // + // PolicyId is a required field + PolicyId *string `min:"36" type:"string" required:"true"` + + // Brief description for the requested resource. + ResourceDescription *string `type:"string"` + + // The resource ID that the violation details were requested for. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The ResourceTag objects associated with the resource. + ResourceTags []*Tag `type:"list"` + + // The resource type that the violation details were requested for. + // + // ResourceType is a required field + ResourceType *string `min:"1" type:"string" required:"true"` + + // List of violations for the requested resource. + // + // ResourceViolations is a required field + ResourceViolations []*ResourceViolation `type:"list" required:"true"` +} + +// String returns the string representation +func (s ViolationDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ViolationDetail) GoString() string { + return s.String() +} + +// SetMemberAccount sets the MemberAccount field's value. +func (s *ViolationDetail) SetMemberAccount(v string) *ViolationDetail { + s.MemberAccount = &v + return s +} + +// SetPolicyId sets the PolicyId field's value. +func (s *ViolationDetail) SetPolicyId(v string) *ViolationDetail { + s.PolicyId = &v + return s +} + +// SetResourceDescription sets the ResourceDescription field's value. +func (s *ViolationDetail) SetResourceDescription(v string) *ViolationDetail { + s.ResourceDescription = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ViolationDetail) SetResourceId(v string) *ViolationDetail { + s.ResourceId = &v + return s +} + +// SetResourceTags sets the ResourceTags field's value. +func (s *ViolationDetail) SetResourceTags(v []*Tag) *ViolationDetail { + s.ResourceTags = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ViolationDetail) SetResourceType(v string) *ViolationDetail { + s.ResourceType = &v + return s +} + +// SetResourceViolations sets the ResourceViolations field's value. +func (s *ViolationDetail) SetResourceViolations(v []*ResourceViolation) *ViolationDetail { + s.ResourceViolations = v + return s +} + const ( // AccountRoleStatusReady is a AccountRoleStatus enum value AccountRoleStatusReady = "READY" @@ -4231,6 +6743,14 @@ const ( PolicyComplianceStatusTypeNonCompliant = "NON_COMPLIANT" ) +const ( + // RemediationActionTypeRemove is a RemediationActionType enum value + RemediationActionTypeRemove = "REMOVE" + + // RemediationActionTypeModify is a RemediationActionType enum value + RemediationActionTypeModify = "MODIFY" +) + const ( // SecurityServiceTypeWaf is a SecurityServiceType enum value SecurityServiceTypeWaf = "WAF" diff --git a/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go b/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go index 0fc209a4a74..fc0663349f0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go @@ -24,9 +24,12 @@ const ( // ErrCodeInvalidOperationException for service response error code // "InvalidOperationException". // - // The operation failed because there was nothing to do. For example, you might - // have submitted an AssociateAdminAccount request, but the account ID that - // you submitted was already set as the AWS Firewall Manager administrator. + // The operation failed because there was nothing to do or the operation wasn't + // possible. For example, you might have submitted an AssociateAdminAccount + // request for an account ID that was already set as the AWS Firewall Manager + // administrator. Or you might have tried to access a Region that's disabled + // by default, and that you need to enable for the Firewall Manager administrator + // account and for AWS Organizations before you can access it. ErrCodeInvalidOperationException = "InvalidOperationException" // ErrCodeInvalidTypeException for service response error code 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 e6425c8afb7..e0428f70d18 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 @@ -79,7 +79,7 @@ func (c *ForecastService) CreateDatasetRequest(input *CreateDatasetInput) (req * // 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). +// (https://github.com/aws-samples/amazon-forecast-samples). // // The Status of a dataset must be ACTIVE before you can import training data. // Use the DescribeDataset operation to get the status. @@ -278,8 +278,9 @@ func (c *ForecastService) CreateDatasetImportJobRequest(input *CreateDatasetImpo // to import the data to. // // You must specify a DataSource object that includes an AWS Identity and Access -// Management (IAM) role that Amazon Forecast can assume to access the data. -// For more information, see aws-forecast-iam-roles. +// Management (IAM) role that Amazon Forecast can assume to access the data, +// as Amazon Forecast makes a copy of your data and processes it in an internal +// AWS system. For more information, see aws-forecast-iam-roles. // // The training data must be in CSV format. The delimiter must be a comma (,). // @@ -287,6 +288,12 @@ func (c *ForecastService) CreateDatasetImportJobRequest(input *CreateDatasetImpo // in the S3 bucket. For the latter two cases, Amazon Forecast imports all files // up to the limit of 10,000 files. // +// Because dataset imports are not aggregated, your most recent dataset import +// is the one that is used when training a predictor or generating a forecast. +// Make sure that your most recent dataset import contains all of the data you +// want to model off of, and not just the new data collected since the previous +// import. +// // To get a list of all your dataset import jobs, filtered by specified criteria, // use the ListDatasetImportJobs operation. // @@ -388,9 +395,8 @@ func (c *ForecastService) CreateForecastRequest(input *CreateForecastInput) (req // use the CreateForecastExportJob operation. // // 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. +// you specify in the CreatePredictor 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. // @@ -497,7 +503,7 @@ func (c *ForecastService) CreateForecastExportJobRequest(input *CreateForecastEx // 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). // @@ -748,6 +754,10 @@ func (c *ForecastService) DeleteDatasetRequest(input *DeleteDatasetInput) (req * // operation. You can only delete datasets that have a status of ACTIVE or CREATE_FAILED. // To get the status use the DescribeDataset operation. // +// Forecast does not automatically update any dataset groups that contain the +// deleted dataset. In order to update the dataset group, use the operation, +// omitting the deleted dataset's 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. @@ -2791,6 +2801,266 @@ func (c *ForecastService) ListPredictorsPagesWithContext(ctx aws.Context, input 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/forecast-2018-06-26/ListTagsForResource +func (c *ForecastService) 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 Forecast Service. +// +// Lists the tags for an Amazon Forecast 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 Forecast Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListTagsForResource +func (c *ForecastService) 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 *ForecastService) 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/forecast-2018-06-26/TagResource +func (c *ForecastService) 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 Forecast Service. +// +// Associates the specified tags to a resource with the specified resourceArn. +// If existing tags on a resource are not specified in the request parameters, +// they are not changed. When a resource is deleted, the tags associated with +// that resource are also 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 +// the error. +// +// See the AWS API reference guide for Amazon Forecast Service's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// * LimitExceededException +// The limit on the number of resources per account has been exceeded. +// +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/TagResource +func (c *ForecastService) 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 *ForecastService) 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/forecast-2018-06-26/UntagResource +func (c *ForecastService) 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 Forecast Service. +// +// Deletes the specified tags from 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 Amazon Forecast Service's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/UntagResource +func (c *ForecastService) 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 *ForecastService) 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 opUpdateDatasetGroup = "UpdateDatasetGroup" // UpdateDatasetGroupRequest generates a "aws/request.Request" representing the @@ -3076,6 +3346,37 @@ type CreateDatasetGroupInput struct { // // Domain is a required field Domain *string `type:"string" required:"true" enum:"Domain"` + + // The optional metadata that you apply to the dataset group to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -3100,6 +3401,16 @@ func (s *CreateDatasetGroupInput) Validate() error { if s.Domain == nil { invalidParams.Add(request.NewErrParamRequired("Domain")) } + 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 @@ -3125,6 +3436,12 @@ func (s *CreateDatasetGroupInput) SetDomain(v string) *CreateDatasetGroupInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateDatasetGroupInput) SetTags(v []*Tag) *CreateDatasetGroupInput { + s.Tags = v + return s +} + type CreateDatasetGroupOutput struct { _ struct{} `type:"structure"` @@ -3176,6 +3493,37 @@ type CreateDatasetImportJobInput struct { // DatasetImportJobName is a required field DatasetImportJobName *string `min:"1" type:"string" required:"true"` + // The optional metadata that you apply to the dataset import job to help you + // categorize and organize them. Each tag consists of a key and an optional + // value, both of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` + // 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 @@ -3220,6 +3568,16 @@ func (s *CreateDatasetImportJobInput) Validate() error { invalidParams.AddNested("DataSource", 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 @@ -3245,6 +3603,12 @@ func (s *CreateDatasetImportJobInput) SetDatasetImportJobName(v string) *CreateD return s } +// SetTags sets the Tags field's value. +func (s *CreateDatasetImportJobInput) SetTags(v []*Tag) *CreateDatasetImportJobInput { + s.Tags = v + return s +} + // SetTimestampFormat sets the TimestampFormat field's value. func (s *CreateDatasetImportJobInput) SetTimestampFormat(v string) *CreateDatasetImportJobInput { s.TimestampFormat = &v @@ -3320,6 +3684,37 @@ type CreateDatasetInput struct { // // Schema is a required field Schema *Schema `type:"structure" required:"true"` + + // The optional metadata that you apply to the dataset to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -3360,6 +3755,16 @@ func (s *CreateDatasetInput) Validate() error { invalidParams.AddNested("Schema", 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 @@ -3403,6 +3808,12 @@ func (s *CreateDatasetInput) SetSchema(v *Schema) *CreateDatasetInput { 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"` @@ -3449,6 +3860,37 @@ type CreateForecastExportJobInput struct { // // ForecastExportJobName is a required field ForecastExportJobName *string `min:"1" type:"string" required:"true"` + + // The optional metadata that you apply to the forecast export job to help you + // categorize and organize them. Each tag consists of a key and an optional + // value, both of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -3481,6 +3923,16 @@ func (s *CreateForecastExportJobInput) Validate() error { invalidParams.AddNested("Destination", 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 @@ -3506,6 +3958,12 @@ func (s *CreateForecastExportJobInput) SetForecastExportJobName(v string) *Creat return s } +// SetTags sets the Tags field's value. +func (s *CreateForecastExportJobInput) SetTags(v []*Tag) *CreateForecastExportJobInput { + s.Tags = v + return s +} + type CreateForecastExportJobOutput struct { _ struct{} `type:"structure"` @@ -3537,17 +3995,48 @@ type CreateForecastInput struct { // 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"]. + // The quantiles at which probabilistic forecasts are generated. You can currently + // 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 (for example, Beta and + // 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 PredictorArn *string `type:"string" required:"true"` + + // The optional metadata that you apply to the forecast to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -3575,6 +4064,16 @@ func (s *CreateForecastInput) Validate() error { if s.PredictorArn == nil { invalidParams.Add(request.NewErrParamRequired("PredictorArn")) } + 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 @@ -3600,6 +4099,12 @@ func (s *CreateForecastInput) SetPredictorArn(v string) *CreateForecastInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateForecastInput) SetTags(v []*Tag) *CreateForecastInput { + s.Tags = v + return s +} + type CreateForecastOutput struct { _ struct{} `type:"structure"` @@ -3709,15 +4214,46 @@ type CreatePredictorInput struct { // for each tunable hyperparameter. In this case, you are required to specify // an algorithm and PerformAutoML must be false. // - // The following algorithm supports HPO: + // The following algorithm supports HPO: + // + // * DeepAR+ + PerformHPO *bool `type:"boolean"` + + // A name for the predictor. + // + // PredictorName is a required field + PredictorName *string `min:"1" type:"string" required:"true"` + + // The optional metadata that you apply to the predictor to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. // - // * DeepAR+ - PerformHPO *bool `type:"boolean"` - - // A name for the predictor. + // * Tag keys and values are case sensitive. // - // PredictorName is a required field - PredictorName *string `min:"1" type:"string" required:"true"` + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` // The hyperparameters to override for model training. The hyperparameters that // you can override are listed in the individual algorithms. For the list of @@ -3773,6 +4309,16 @@ func (s *CreatePredictorInput) Validate() error { invalidParams.AddNested("InputDataConfig", 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 @@ -3840,6 +4386,12 @@ func (s *CreatePredictorInput) SetPredictorName(v string) *CreatePredictorInput return s } +// SetTags sets the Tags field's value. +func (s *CreatePredictorInput) SetTags(v []*Tag) *CreatePredictorInput { + s.Tags = v + return s +} + // SetTrainingParameters sets the TrainingParameters field's value. func (s *CreatePredictorInput) SetTrainingParameters(v map[string]*string) *CreatePredictorInput { s.TrainingParameters = v @@ -5170,7 +5722,7 @@ type DescribeForecastOutput struct { // The name of the forecast. ForecastName *string `min:"1" type:"string"` - // The quantiles at which proababilistic forecasts were generated. + // The quantiles at which probabilistic forecasts were generated. ForecastTypes []*string `min:"1" type:"list"` // Initially, the same as CreationTime (status is CREATE_PENDING). Updated when @@ -5673,9 +6225,10 @@ type Featurization struct { _ struct{} `type:"structure"` // 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. + // Amazon Forecast supports the target field of the TARGET_TIME_SERIES and the + // RELATED_TIME_SERIES datasets. For example, for the RETAIL domain, the target + // is demand, and for the CUSTOM domain, the target is target_value. For more + // information, see howitworks-missing-values. // // AttributeName is a required field AttributeName *string `min:"1" type:"string" required:"true"` @@ -5744,8 +6297,8 @@ 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 object in your CreatePredictor request. -// Amazon Forecast applies the featurization to the TARGET_TIME_SERIES dataset -// before model training. +// Amazon Forecast applies the featurization to the TARGET_TIME_SERIES and RELATED_TIME_SERIES +// datasets before model training. // // You can create multiple featurization configurations. For example, you might // call the CreatePredictor operation twice by specifying different featurization @@ -5754,7 +6307,7 @@ type FeaturizationConfig struct { _ struct{} `type:"structure"` // An array of featurization (transformation) information for the fields of - // a dataset. Only a single featurization is supported. + // a dataset. Featurizations []*Featurization `min:"1" type:"list"` // An array of dimension (field) names that specify how to group the generated @@ -5847,8 +6400,7 @@ func (s *FeaturizationConfig) SetForecastFrequency(v string) *FeaturizationConfi // Provides information about the method that featurizes (transforms) a dataset // field. The method is part of the FeaturizationPipeline of the Featurization -// object. If you don't specify FeaturizationMethodParameters, Amazon Forecast -// uses default parameters. +// object. // // The following is an example of how you specify a FeaturizationMethod object. // @@ -5856,7 +6408,8 @@ func (s *FeaturizationConfig) SetForecastFrequency(v string) *FeaturizationConfi // // "FeaturizationMethodName": "filling", // -// "FeaturizationMethodParameters": {"aggregation": "avg", "backfill": "nan"} +// "FeaturizationMethodParameters": {"aggregation": "sum", "middlefill": "zero", +// "backfill": "zero"} // // } type FeaturizationMethod struct { @@ -5867,17 +6420,30 @@ type FeaturizationMethod struct { // FeaturizationMethodName is a required field FeaturizationMethodName *string `type:"string" required:"true" enum:"FeaturizationMethodName"` - // 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. + // The method parameters (key-value pairs), which are a map of override parameters. + // Specify these parameters to override the default values. Related Time Series + // attributes do not accept aggregation parameters. + // + // The following list shows the parameters and their valid values for the "filling" + // featurization method for a Target Time Series dataset. Bold signifies the + // default value. // // * aggregation: sum, avg, first, min, max // // * frontfill: none // - // * middlefill: zero, nan (not a number) + // * middlefill: zero, nan (not a number), value, median, mean, min, max + // + // * backfill: zero, nan, value, median, mean, min, max + // + // The following list shows the parameters and their valid values for a Related + // Time Series featurization method (there are no defaults): + // + // * middlefill: zero, value, median, mean, min, max + // + // * backfill: zero, value, median, mean, min, max // - // * backfill: zero, nan + // * futurefill: zero, value, median, mean, min, max FeaturizationMethodParameters map[string]*string `min:"1" type:"map"` } @@ -7286,6 +7852,70 @@ func (s *ListPredictorsOutput) SetPredictors(v []*PredictorSummary) *ListPredict return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that identifies the resource for which to + // list the tags. Currently, the supported resources are Forecast dataset groups, + // datasets, dataset import jobs, predictors, forecasts, and forecast export + // jobs. + // + // ResourceArn is a required field + ResourceArn *string `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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags for the resource. + Tags []*Tag `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() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + // Provides metrics that are used to evaluate the performance of a predictor. // This object is part of the WindowSummary object. type Metrics struct { @@ -7821,7 +8451,7 @@ type Schema struct { _ struct{} `type:"structure"` // An array of attributes specifying the name and type of each field in a dataset. - Attributes []*SchemaAttribute `type:"list"` + Attributes []*SchemaAttribute `min:"1" type:"list"` } // String returns the string representation @@ -7837,6 +8467,9 @@ func (s Schema) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *Schema) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Schema"} + if s.Attributes != nil && len(s.Attributes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Attributes", 1)) + } if s.Attributes != nil { for i, v := range s.Attributes { if v == nil { @@ -8003,6 +8636,35 @@ func (s *Statistics) SetStddev(v float64) *Statistics { // 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. +// +// India and Korea's holidays are not included in the Jollyday library, but +// both are supported by Amazon Forecast. Their holidays are: +// +// "IN" - INDIA +// +// * JANUARY 26 - REPUBLIC DAY +// +// * AUGUST 15 - INDEPENDENCE DAY +// +// * OCTOBER 2 GANDHI'S BIRTHDAY +// +// "KR" - KOREA +// +// * JANUARY 1 - NEW YEAR +// +// * MARCH 1 - INDEPENDENCE MOVEMENT DAY +// +// * MAY 5 - CHILDREN'S DAY +// +// * JUNE 6 - MEMORIAL DAY +// +// * AUGUST 15 - LIBERATION DAY +// +// * OCTOBER 3 - NATIONAL FOUNDATION DAY +// +// * OCTOBER 9 - HANGEUL DAY +// +// * DECEMBER 25 - CHRISTMAS DAY type SupplementaryFeature struct { _ struct{} `type:"structure"` @@ -8013,15 +8675,69 @@ type SupplementaryFeature struct { // One of the following 2 letter country codes: // + // * "AR" - ARGENTINA + // + // * "AT" - AUSTRIA + // // * "AU" - AUSTRALIA // + // * "BE" - BELGIUM + // + // * "BR" - BRAZIL + // + // * "CA" - CANADA + // + // * "CN" - CHINA + // + // * "CZ" - CZECH REPUBLIC + // + // * "DK" - DENMARK + // + // * "EC" - ECUADOR + // + // * "FI" - FINLAND + // + // * "FR" - FRANCE + // // * "DE" - GERMANY // + // * "HU" - HUNGARY + // + // * "IE" - IRELAND + // + // * "IN" - INDIA + // + // * "IT" - ITALY + // // * "JP" - JAPAN // - // * "US" - UNITED_STATES + // * "KR" - KOREA + // + // * "LU" - LUXEMBOURG + // + // * "MX" - MEXICO // - // * "UK" - UNITED_KINGDOM + // * "NL" - NETHERLANDS + // + // * "NO" - NORWAY + // + // * "PL" - POLAND + // + // * "PT" - PORTUGAL + // + // * "RU" - RUSSIA + // + // * "ZA" - SOUTH AFRICA + // + // * "ES" - SPAIN + // + // * "SE" - SWEDEN + // + // * "CH" - SWITZERLAND + // + // * "US" - UNITED STATES + // + // * "UK" - UNITED KINGDOM // // Value is a required field Value *string `type:"string" required:"true"` @@ -8068,6 +8784,197 @@ func (s *SupplementaryFeature) SetValue(v string) *SupplementaryFeature { return s } +// The optional metadata that you apply to a resource to help you categorize +// and organize them. Each tag consists of a key and an optional value, both +// of which you define. +// +// The following basic restrictions apply to tags: +// +// * Maximum number of tags per resource - 50. +// +// * For each resource, each tag key must be unique, and each tag key can +// have only one value. +// +// * Maximum key length - 128 Unicode characters in UTF-8. +// +// * Maximum value length - 256 Unicode characters in UTF-8. +// +// * If your tagging schema is used across multiple services and resources, +// remember that other services may have restrictions on allowed characters. +// Generally allowed characters are: letters, numbers, and spaces representable +// in UTF-8, and the following characters: + - = . _ : / @. +// +// * Tag keys and values are case sensitive. +// +// * Do not use aws:, AWS:, or any upper or lowercase combination of such +// as a prefix for keys as it is reserved for AWS use. You cannot edit or +// delete tag keys with this prefix. Values can have this prefix. If a tag +// value has aws as its prefix but the key does not, then Forecast considers +// it to be a user tag and will count against the limit of 50 tags. Tags +// with only the key prefix of aws do not count against your tags per resource +// limit. +type Tag struct { + _ struct{} `type:"structure"` + + // One part of a key-value pair that makes up a tag. A key is a general label + // that acts like a category for more specific tag values. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The optional part of a key-value pair that makes up a tag. A value acts as + // a descriptor within a tag category (key). + // + // 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) that identifies the resource for which to + // list the tags. Currently, the supported resources are Forecast dataset groups, + // datasets, dataset import jobs, predictors, forecasts, and forecast export + // jobs. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // The tags to add to the resource. A tag is an array of key-value pairs. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + // + // 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.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() +} + // The status, start time, and end time of a backtest, as well as a failure // reason if applicable. type TestWindowSummary struct { @@ -8126,6 +9033,74 @@ func (s *TestWindowSummary) SetTestWindowStart(v time.Time) *TestWindowSummary { return s } +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that identifies the resource for which to + // list the tags. Currently, the supported resources are Forecast dataset groups, + // datasets, dataset import jobs, predictors, forecasts, and forecast exports. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // The keys of the tags to be removed. + // + // 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.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 UpdateDatasetGroupInput struct { _ struct{} `type:"structure"` 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 1a0041431ed..8cb64359c91 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 @@ -169,8 +169,11 @@ func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Reques // // * is not linked to an Amazon S3 data respository. // -// For more information, see https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-backups.html -// (https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-backups.html). +// For more information about backing up Amazon FSx for Lustre file systems, +// see Working with FSx for Lustre backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html). +// +// For more information about backing up Amazon FSx for Lustre file systems, +// see Working with FSx for Windows backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html). // // If a backup with the specified client request token exists, and the parameters // match, this operation returns the description of the existing backup. If @@ -1694,9 +1697,10 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // UpdateFileSystem API operation for Amazon FSx. // // Use this operation to update the configuration of an existing Amazon FSx -// file system. For an Amazon FSx for Lustre file system, you can update only -// the WeeklyMaintenanceStartTime. For an Amazon for Windows File Server file -// system, you can update the following properties: +// file system. You can update multiple properties in a single request. +// +// For Amazon FSx for Windows File Server file systems, you can update the following +// properties: // // * AutomaticBackupRetentionDays // @@ -1710,7 +1714,15 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // // * WeeklyMaintenanceStartTime // -// You can update multiple properties in a single request. +// For Amazon FSx for Lustre file systems, you can update the following properties: +// +// * AutoImportPolicy +// +// * AutomaticBackupRetentionDays +// +// * DailyAutomaticBackupStartTime +// +// * WeeklyMaintenanceStartTime // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2033,7 +2045,7 @@ type Backup struct { // Tags associated with a particular file system. Tags []*Tag `min:"1" type:"list"` - // The type of the backup. + // The type of the file system backup. // // Type is a required field Type *string `type:"string" required:"true" enum:"BackupType"` @@ -3200,6 +3212,31 @@ func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindo type CreateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` + // (Optional) Use this property to configure the AutoImport feature on the file + // system's linked Amazon S3 data repository. You use AutoImport to update the + // contents of your FSx for Lustre file system automatically with changes that + // occur in the linked S3 data repository. AutoImportPolicy can have the following + // values: + // + // * NONE - (Default) AutoImport is off. Changes in the linked data repository + // are not reflected on the FSx file system. + // + // * NEW - AutoImport is on. New files in the linked data repository that + // do not currently exist in the FSx file system are automatically imported. + // Updates to existing FSx files are not imported to the FSx file system. + // Files deleted from the linked data repository are not deleted from the + // FSx file system. + // + // * NEW_CHANGED - AutoImport is on. New files in the linked S3 data repository + // that do not currently exist in the FSx file system are automatically imported. + // Changes to existing FSx files in the linked repository are also automatically + // imported to the FSx file system. Files deleted from the linked data repository + // are not deleted from the FSx file system. + // + // For more information, see Automatically import updates from your S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` + // The number of days to retain automatic backups. Setting this to 0 disables // automatic backups. You can retain automatic backups for a maximum of 35 days. // The default is 0. @@ -3212,6 +3249,8 @@ type CreateFileSystemLustreConfiguration struct { // or more tags, only the specified tags are copied to backups. If you specify // one or more tags when creating a user-initiated backup, no tags are copied // from the file system, regardless of this value. + // + // For more information, see Working with backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html). CopyTagsToBackups *bool `type:"boolean"` // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of @@ -3223,8 +3262,6 @@ type CreateFileSystemLustreConfiguration struct { // and shorter-term processing of data. The SCRATCH_2 deployment type provides // in-transit encryption of data and higher burst throughput capacity than SCRATCH_1. // - // This option can only be set for for PERSISTENT_1 deployments types. - // // Choose PERSISTENT_1 deployment type for longer-term storage and workloads // and encryption of data in transit. To learn more about deployment types, // see FSx for Lustre Deployment Options (https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html). @@ -3327,6 +3364,12 @@ func (s *CreateFileSystemLustreConfiguration) Validate() error { return nil } +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *CreateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *CreateFileSystemLustreConfiguration { + s.AutoImportPolicy = &v + return s +} + // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. func (s *CreateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemLustreConfiguration { s.AutomaticBackupRetentionDays = &v @@ -3576,10 +3619,38 @@ func (s *CreateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v s type DataRepositoryConfiguration struct { _ struct{} `type:"structure"` + // Describes the file system's linked S3 data repository's AutoImportPolicy. + // The AutoImportPolicy configures how your FSx for Lustre file system automatically + // updates its contents with changes that occur in the linked S3 data repository. + // AutoImportPolicy can have the following values: + // + // * NONE - (Default) AutoImport is off. Changes in the linked data repository + // are not reflected on the FSx file system. + // + // * NEW - AutoImport is on. New files in the linked data repository that + // do not currently exist in the FSx file system are automatically imported. + // Updates to existing FSx files are not imported to the FSx file system. + // Files deleted from the linked data repository are not deleted from the + // FSx file system. + // + // * NEW_CHANGED - AutoImport is on. New files in the linked S3 data repository + // that do not currently exist in the FSx file system are automatically imported. + // Changes to existing FSx files in the linked repository are also automatically + // imported to the FSx file system. Files deleted from the linked data repository + // are not deleted from the FSx file system. + // + // For more information, see Automatically import updates from your S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` + // The export path to the Amazon S3 bucket (and prefix) that you are using to // store new and changed Lustre file system files in S3. ExportPath *string `min:"3" type:"string"` + // Provides detailed information about the data respository if its Lifecycle + // is set to MISCONFIGURED. + FailureDetails *DataRepositoryFailureDetails `type:"structure"` + // The import path to the Amazon S3 bucket (and optional prefix) that you're // using as the data repository for your FSx for Lustre file system, for example // s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon @@ -3595,6 +3666,25 @@ type DataRepositoryConfiguration struct { // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. ImportedFileChunkSize *int64 `min:"1" type:"integer"` + + // Describes the state of the file system's S3 durable data repository, if it + // is configured with an S3 repository. The lifecycle can have the following + // values: + // + // * CREATING - The data repository configuration between the FSx file system + // and the linked S3 data repository is being created. The data repository + // is unavailable. + // + // * AVAILABLE - The data repository is available for use. + // + // * MISCONFIGURED - Amazon FSx cannot automatically import updates from + // the S3 bucket until the data repository configuration is corrected. For + // more information, see Troubleshooting a Misconfigured linked S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository). + // + // * UPDATING - The data repository is undergoing a customer initiated update + // and availability may be impacted. + Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` } // String returns the string representation @@ -3607,12 +3697,24 @@ func (s DataRepositoryConfiguration) GoString() string { return s.String() } +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *DataRepositoryConfiguration) SetAutoImportPolicy(v string) *DataRepositoryConfiguration { + s.AutoImportPolicy = &v + return s +} + // SetExportPath sets the ExportPath field's value. func (s *DataRepositoryConfiguration) SetExportPath(v string) *DataRepositoryConfiguration { s.ExportPath = &v return s } +// SetFailureDetails sets the FailureDetails field's value. +func (s *DataRepositoryConfiguration) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryConfiguration { + s.FailureDetails = v + return s +} + // SetImportPath sets the ImportPath field's value. func (s *DataRepositoryConfiguration) SetImportPath(v string) *DataRepositoryConfiguration { s.ImportPath = &v @@ -3625,6 +3727,37 @@ func (s *DataRepositoryConfiguration) SetImportedFileChunkSize(v int64) *DataRep return s } +// SetLifecycle sets the Lifecycle field's value. +func (s *DataRepositoryConfiguration) SetLifecycle(v string) *DataRepositoryConfiguration { + s.Lifecycle = &v + return s +} + +// Provides detailed information about the data respository if its Lifecycle +// is set to MISCONFIGURED. +type DataRepositoryFailureDetails struct { + _ struct{} `type:"structure"` + + // A detailed error message. + Message *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DataRepositoryFailureDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataRepositoryFailureDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DataRepositoryFailureDetails) SetMessage(v string) *DataRepositoryFailureDetails { + s.Message = &v + return s +} + // A description of the data repository task. You use data repository tasks // to perform bulk transfer operations between your Amazon FSx file system and // its linked data repository. @@ -6365,13 +6498,17 @@ type Tag struct { // A value that specifies the TagKey, the name of the tag. Tag keys must be // unique for the resource to which they are attached. - Key *string `min:"1" type:"string"` + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` // A value that specifies the TagValue, the value assigned to the corresponding // tag key. Tag values can be null and don't have to be unique in a tag set. // For example, you can have a key-value pair in a tag set of finances : April // and also of payroll : April. - Value *string `type:"string"` + // + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation @@ -6387,9 +6524,15 @@ 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)) } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } if invalidParams.Len() > 0 { return invalidParams @@ -6734,6 +6877,31 @@ func (s *UpdateFileSystemInput) SetWindowsConfiguration(v *UpdateFileSystemWindo type UpdateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` + // (Optional) Use this property to configure the AutoImport feature on the file + // system's linked Amazon S3 data repository. You use AutoImport to update the + // contents of your FSx for Lustre file system automatically with changes that + // occur in the linked S3 data repository. AutoImportPolicy can have the following + // values: + // + // * NONE - (Default) AutoImport is off. Changes in the linked data repository + // are not reflected on the FSx file system. + // + // * NEW - AutoImport is on. New files in the linked data repository that + // do not currently exist in the FSx file system are automatically imported. + // Updates to existing FSx files are not imported to the FSx file system. + // Files deleted from the linked data repository are not deleted from the + // FSx file system. + // + // * NEW_CHANGED - AutoImport is on. New files in the linked S3 data repository + // that do not currently exist in the FSx file system are automatically imported. + // Changes to existing FSx files in the linked repository are also automatically + // imported to the FSx file system. Files deleted from the linked data repository + // are not deleted from the FSx file system. + // + // For more information, see Automatically import updates from your S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` + // The number of days to retain automatic backups. Setting this to 0 disables // automatic backups. You can retain automatic backups for a maximum of 35 days. // The default is 0. @@ -6776,6 +6944,12 @@ func (s *UpdateFileSystemLustreConfiguration) Validate() error { return nil } +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *UpdateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *UpdateFileSystemLustreConfiguration { + s.AutoImportPolicy = &v + return s +} + // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. func (s *UpdateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemLustreConfiguration { s.AutomaticBackupRetentionDays = &v @@ -7128,6 +7302,17 @@ const ( AdministrativeActionTypeStorageOptimization = "STORAGE_OPTIMIZATION" ) +const ( + // AutoImportPolicyTypeNone is a AutoImportPolicyType enum value + AutoImportPolicyTypeNone = "NONE" + + // AutoImportPolicyTypeNew is a AutoImportPolicyType enum value + AutoImportPolicyTypeNew = "NEW" + + // AutoImportPolicyTypeNewChanged is a AutoImportPolicyType enum value + AutoImportPolicyTypeNewChanged = "NEW_CHANGED" +) + // The lifecycle status of the backup. const ( // BackupLifecycleAvailable is a BackupLifecycle enum value @@ -7152,6 +7337,23 @@ const ( BackupTypeUserInitiated = "USER_INITIATED" ) +const ( + // DataRepositoryLifecycleCreating is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleCreating = "CREATING" + + // DataRepositoryLifecycleAvailable is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleAvailable = "AVAILABLE" + + // DataRepositoryLifecycleMisconfigured is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleMisconfigured = "MISCONFIGURED" + + // DataRepositoryLifecycleUpdating is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleUpdating = "UPDATING" + + // DataRepositoryLifecycleDeleting is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleDeleting = "DELETING" +) + const ( // DataRepositoryTaskFilterNameFileSystemId is a DataRepositoryTaskFilterName enum value DataRepositoryTaskFilterNameFileSystemId = "file-system-id" 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 32f56ad67e1..2983b94b3c9 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 @@ -7226,6 +7226,100 @@ func (c *Glue) GetPlanWithContext(ctx aws.Context, input *GetPlanInput, opts ... return out, req.Send() } +const opGetResourcePolicies = "GetResourcePolicies" + +// GetResourcePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the GetResourcePolicies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetResourcePolicies for more information on using the GetResourcePolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetResourcePoliciesRequest method. +// req, resp := client.GetResourcePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetResourcePolicies +func (c *Glue) GetResourcePoliciesRequest(input *GetResourcePoliciesInput) (req *request.Request, output *GetResourcePoliciesOutput) { + op := &request.Operation{ + Name: opGetResourcePolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResourcePoliciesInput{} + } + + output = &GetResourcePoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResourcePolicies API operation for AWS Glue. +// +// Retrieves the security configurations for the resource policies set on individual +// resources, and also the account-level policy. +// +// This operation also returns the Data Catalog resource policy. However, if +// you enabled metadata encryption in Data Catalog settings, and you do not +// have permission on the AWS KMS key, the operation can't return the Data Catalog +// resource policy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetResourcePolicies for usage and error information. +// +// Returned Error Types: +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * InvalidInputException +// The input provided was not valid. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetResourcePolicies +func (c *Glue) GetResourcePolicies(input *GetResourcePoliciesInput) (*GetResourcePoliciesOutput, error) { + req, out := c.GetResourcePoliciesRequest(input) + return out, req.Send() +} + +// GetResourcePoliciesWithContext is the same as GetResourcePolicies with the addition of +// the ability to pass a context and additional request options. +// +// See GetResourcePolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetResourcePoliciesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, opts ...request.Option) (*GetResourcePoliciesOutput, error) { + req, out := c.GetResourcePoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetResourcePolicy = "GetResourcePolicy" // GetResourcePolicyRequest generates a "aws/request.Request" representing the @@ -10343,6 +10437,100 @@ func (c *Glue) ResetJobBookmarkWithContext(ctx aws.Context, input *ResetJobBookm return out, req.Send() } +const opResumeWorkflowRun = "ResumeWorkflowRun" + +// ResumeWorkflowRunRequest generates a "aws/request.Request" representing the +// client's request for the ResumeWorkflowRun operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ResumeWorkflowRun for more information on using the ResumeWorkflowRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ResumeWorkflowRunRequest method. +// req, resp := client.ResumeWorkflowRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResumeWorkflowRun +func (c *Glue) ResumeWorkflowRunRequest(input *ResumeWorkflowRunInput) (req *request.Request, output *ResumeWorkflowRunOutput) { + op := &request.Operation{ + Name: opResumeWorkflowRun, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ResumeWorkflowRunInput{} + } + + output = &ResumeWorkflowRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResumeWorkflowRun API operation for AWS Glue. +// +// Restarts any completed nodes in a workflow run and resumes the run execution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation ResumeWorkflowRun for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input provided was not valid. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * ConcurrentRunsExceededException +// Too many jobs are being run concurrently. +// +// * IllegalWorkflowStateException +// The workflow is in an invalid state to perform a requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResumeWorkflowRun +func (c *Glue) ResumeWorkflowRun(input *ResumeWorkflowRunInput) (*ResumeWorkflowRunOutput, error) { + req, out := c.ResumeWorkflowRunRequest(input) + return out, req.Send() +} + +// ResumeWorkflowRunWithContext is the same as ResumeWorkflowRun with the addition of +// the ability to pass a context and additional request options. +// +// See ResumeWorkflowRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) ResumeWorkflowRunWithContext(ctx aws.Context, input *ResumeWorkflowRunInput, opts ...request.Option) (*ResumeWorkflowRunOutput, error) { + req, out := c.ResumeWorkflowRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSearchTables = "SearchTables" // SearchTablesRequest generates a "aws/request.Request" representing the @@ -15909,9 +16097,8 @@ type Condition struct { // A logical operator. LogicalOperator *string `type:"string" enum:"LogicalOperator"` - // The condition state. Currently, the only job states that a trigger can listen - // for are SUCCEEDED, STOPPED, FAILED, and TIMEOUT. The only crawler states - // that a trigger can listen for are SUCCEEDED, FAILED, and CANCELLED. + // The condition state. Currently, the values supported are SUCCEEDED, STOPPED, + // TIMEOUT, and FAILED. State *string `type:"string" enum:"JobRunState"` } @@ -16152,10 +16339,19 @@ type Connection struct { // * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs // that are the addresses of the Apache Kafka brokers in a Kafka cluster // to which a Kafka client will connect to and bootstrap itself. + // + // * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka + // connection. Default value is "true". + // + // * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem + // format). The default is an empty string. + // + // * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of + // the CA cert file or not. AWS Glue validates for three algorithms: SHA256withRSA, + // SHA384withRSA and SHA512withRSA. Default value is "false". ConnectionProperties map[string]*string `type:"map"` - // The type of the connection. Currently, only JDBC is supported; SFTP is not - // supported. + // The type of the connection. Currently, SFTP is not supported. ConnectionType *string `type:"string" enum:"ConnectionType"` // The time that this connection definition was created. @@ -18153,9 +18349,10 @@ type CreateJobInput struct { // * When you specify a Python shell job (JobCommand.Name="pythonshell"), // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. // - // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), - // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job - // type cannot have a fractional DPU allocation. + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") + // or Apache Spark streaming ETL job (JobCommand.Name="gluestreaming"), you + // can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type + // cannot have a fractional DPU allocation. MaxCapacity *float64 `type:"double"` // The maximum number of times to retry this job if it fails. @@ -19735,6 +19932,9 @@ func (s *DataLakePrincipal) SetDataLakePrincipalIdentifier(v string) *DataLakePr type Database struct { _ struct{} `type:"structure"` + // The ID of the Data Catalog in which the database resides. + CatalogId *string `min:"1" type:"string"` + // Creates a set of default permissions on the table for principals. CreateTableDefaultPermissions []*PrincipalPermissions `type:"list"` @@ -19755,6 +19955,10 @@ type Database struct { // These key-value pairs define parameters and properties of the database. Parameters map[string]*string `type:"map"` + + // A DatabaseIdentifier structure that describes a target database for resource + // linking. + TargetDatabase *DatabaseIdentifier `type:"structure"` } // String returns the string representation @@ -19767,6 +19971,12 @@ func (s Database) GoString() string { return s.String() } +// SetCatalogId sets the CatalogId field's value. +func (s *Database) SetCatalogId(v string) *Database { + s.CatalogId = &v + return s +} + // SetCreateTableDefaultPermissions sets the CreateTableDefaultPermissions field's value. func (s *Database) SetCreateTableDefaultPermissions(v []*PrincipalPermissions) *Database { s.CreateTableDefaultPermissions = v @@ -19803,6 +20013,61 @@ func (s *Database) SetParameters(v map[string]*string) *Database { return s } +// SetTargetDatabase sets the TargetDatabase field's value. +func (s *Database) SetTargetDatabase(v *DatabaseIdentifier) *Database { + s.TargetDatabase = v + return s +} + +// A structure that describes a target database for resource linking. +type DatabaseIdentifier struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the database resides. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database. + DatabaseName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DatabaseIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatabaseIdentifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DatabaseIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DatabaseIdentifier"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DatabaseIdentifier) SetCatalogId(v string) *DatabaseIdentifier { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DatabaseIdentifier) SetDatabaseName(v string) *DatabaseIdentifier { + s.DatabaseName = &v + return s +} + // The structure used to create or update a database. type DatabaseInput struct { _ struct{} `type:"structure"` @@ -19826,6 +20091,10 @@ type DatabaseInput struct { // // These key-value pairs define parameters and properties of the database. Parameters map[string]*string `type:"map"` + + // A DatabaseIdentifier structure that describes a target database for resource + // linking. + TargetDatabase *DatabaseIdentifier `type:"structure"` } // String returns the string representation @@ -19860,6 +20129,11 @@ func (s *DatabaseInput) Validate() error { } } } + if s.TargetDatabase != nil { + if err := s.TargetDatabase.Validate(); err != nil { + invalidParams.AddNested("TargetDatabase", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -19897,6 +20171,12 @@ func (s *DatabaseInput) SetParameters(v map[string]*string) *DatabaseInput { return s } +// SetTargetDatabase sets the TargetDatabase field's value. +func (s *DatabaseInput) SetTargetDatabase(v *DatabaseIdentifier) *DatabaseInput { + s.TargetDatabase = v + return s +} + // Defines a date column statistics data. type DateColumnStatisticsData struct { _ struct{} `type:"structure"` @@ -20853,6 +21133,9 @@ type DeleteResourcePolicyInput struct { // The hash value returned when this policy was set. PolicyHashCondition *string `min:"1" type:"string"` + + // The ARN of the AWS Glue resource for the resource policy to be deleted. + ResourceArn *string `min:"1" type:"string"` } // String returns the string representation @@ -20871,6 +21154,9 @@ func (s *DeleteResourcePolicyInput) Validate() error { if s.PolicyHashCondition != nil && len(*s.PolicyHashCondition) < 1 { invalidParams.Add(request.NewErrParamMinLen("PolicyHashCondition", 1)) } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -20884,6 +21170,12 @@ func (s *DeleteResourcePolicyInput) SetPolicyHashCondition(v string) *DeleteReso return s } +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { + s.ResourceArn = &v + return s +} + type DeleteResourcePolicyOutput struct { _ struct{} `type:"structure"` } @@ -21833,7 +22125,7 @@ func (s *DynamoDBTarget) SetScanRate(v float64) *DynamoDBTarget { } // An edge represents a directed connection between two AWS Glue components -// which are part of the workflow the edge belongs to. +// that are part of the workflow the edge belongs to. type Edge struct { _ struct{} `type:"structure"` @@ -22962,8 +23254,7 @@ func (s *GetConnectionOutput) SetConnection(v *Connection) *GetConnectionOutput type GetConnectionsFilter struct { _ struct{} `type:"structure"` - // The type of connections to return. Currently, only JDBC is supported; SFTP - // is not supported. + // The type of connections to return. Currently, SFTP is not supported. ConnectionType *string `type:"string" enum:"ConnectionType"` // A criteria string that must match the criteria recorded in the connection @@ -23485,6 +23776,15 @@ type GetDatabasesInput struct { // A continuation token, if this is a continuation call. NextToken *string `type:"string"` + + // Allows you to specify that you want to list the databases shared with your + // account. The allowable values are FOREIGN or ALL. + // + // * If set to FOREIGN, will list the databases shared with your account. + // + // * If set to ALL, will list the databases shared with your account, as + // well as the databases in yor local account. + ResourceShareType *string `type:"string" enum:"ResourceShareType"` } // String returns the string representation @@ -23531,6 +23831,12 @@ func (s *GetDatabasesInput) SetNextToken(v string) *GetDatabasesInput { return s } +// SetResourceShareType sets the ResourceShareType field's value. +func (s *GetDatabasesInput) SetResourceShareType(v string) *GetDatabasesInput { + s.ResourceShareType = &v + return s +} + type GetDatabasesOutput struct { _ struct{} `type:"structure"` @@ -25361,43 +25667,146 @@ func (s *GetPlanOutput) SetScalaCode(v string) *GetPlanOutput { return s } -type GetResourcePolicyInput struct { +type GetResourcePoliciesInput struct { _ struct{} `type:"structure"` + + // The maximum size of a list to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation request. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetResourcePolicyInput) String() string { +func (s GetResourcePoliciesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResourcePolicyInput) GoString() string { +func (s GetResourcePoliciesInput) GoString() string { return s.String() } -type GetResourcePolicyOutput struct { - _ struct{} `type:"structure"` - - // The date and time at which the policy was created. - CreateTime *time.Time `type:"timestamp"` - - // Contains the hash value associated with this policy. - PolicyHash *string `min:"1" type:"string"` - - // Contains the requested policy document, in JSON format. - PolicyInJson *string `min:"2" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourcePoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePoliciesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } - // The date and time at which the policy was last updated. - UpdateTime *time.Time `type:"timestamp"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// String returns the string representation -func (s GetResourcePolicyOutput) String() string { - return awsutil.Prettify(s) +// SetMaxResults sets the MaxResults field's value. +func (s *GetResourcePoliciesInput) SetMaxResults(v int64) *GetResourcePoliciesInput { + s.MaxResults = &v + return s } -// GoString returns the string representation -func (s GetResourcePolicyOutput) GoString() string { +// SetNextToken sets the NextToken field's value. +func (s *GetResourcePoliciesInput) SetNextToken(v string) *GetResourcePoliciesInput { + s.NextToken = &v + return s +} + +type GetResourcePoliciesOutput struct { + _ struct{} `type:"structure"` + + // A list of the individual resource policies and the account-level resource + // policy. + GetResourcePoliciesResponseList []*GluePolicy `type:"list"` + + // A continuation token, if the returned list does not contain the last resource + // policy available. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetResourcePoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePoliciesOutput) GoString() string { + return s.String() +} + +// SetGetResourcePoliciesResponseList sets the GetResourcePoliciesResponseList field's value. +func (s *GetResourcePoliciesOutput) SetGetResourcePoliciesResponseList(v []*GluePolicy) *GetResourcePoliciesOutput { + s.GetResourcePoliciesResponseList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourcePoliciesOutput) SetNextToken(v string) *GetResourcePoliciesOutput { + s.NextToken = &v + return s +} + +type GetResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // The ARN of the AWS Glue resource for the resource policy to be retrieved. + // For more information about AWS Glue resource ARNs, see the AWS Glue ARN string + // pattern (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html#aws-glue-api-regex-aws-glue-arn-id) + ResourceArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"} + 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 *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type GetResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // The date and time at which the policy was created. + CreateTime *time.Time `type:"timestamp"` + + // Contains the hash value associated with this policy. + PolicyHash *string `min:"1" type:"string"` + + // Contains the requested policy document, in JSON format. + PolicyInJson *string `min:"2" type:"string"` + + // The date and time at which the policy was last updated. + UpdateTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s GetResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePolicyOutput) GoString() string { return s.String() } @@ -26797,6 +27206,57 @@ func (s *GetWorkflowRunsOutput) SetRuns(v []*WorkflowRun) *GetWorkflowRunsOutput return s } +// A structure for returning a resource policy. +type GluePolicy struct { + _ struct{} `type:"structure"` + + // The date and time at which the policy was created. + CreateTime *time.Time `type:"timestamp"` + + // Contains the hash value associated with this policy. + PolicyHash *string `min:"1" type:"string"` + + // Contains the requested policy document, in JSON format. + PolicyInJson *string `min:"2" type:"string"` + + // The date and time at which the policy was last updated. + UpdateTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s GluePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GluePolicy) GoString() string { + return s.String() +} + +// SetCreateTime sets the CreateTime field's value. +func (s *GluePolicy) SetCreateTime(v time.Time) *GluePolicy { + s.CreateTime = &v + return s +} + +// SetPolicyHash sets the PolicyHash field's value. +func (s *GluePolicy) SetPolicyHash(v string) *GluePolicy { + s.PolicyHash = &v + return s +} + +// SetPolicyInJson sets the PolicyInJson field's value. +func (s *GluePolicy) SetPolicyInJson(v string) *GluePolicy { + s.PolicyInJson = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *GluePolicy) SetUpdateTime(v time.Time) *GluePolicy { + s.UpdateTime = &v + return s +} + // A classifier that uses grok patterns. type GrokClassifier struct { _ struct{} `type:"structure"` @@ -27310,14 +27770,16 @@ type Job struct { // Do not set Max Capacity if using WorkerType and NumberOfWorkers. // // The value that can be allocated for MaxCapacity depends on whether you are - // running a Python shell job or an Apache Spark ETL job: + // running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming + // ETL job: // // * When you specify a Python shell job (JobCommand.Name="pythonshell"), // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. // - // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), - // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job - // type cannot have a fractional DPU allocation. + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") + // or Apache Spark streaming ETL job (JobCommand.Name="gluestreaming"), you + // can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type + // cannot have a fractional DPU allocation. MaxCapacity *float64 `type:"double"` // The maximum number of times to retry this job after a JobRun fails. @@ -27613,7 +28075,8 @@ type JobCommand struct { _ struct{} `type:"structure"` // The name of the job command. For an Apache Spark ETL job, this must be glueetl. - // For a Python shell job, it must be pythonshell. + // For a Python shell job, it must be pythonshell. For an Apache Spark streaming + // ETL job, this must be gluestreaming. Name *string `type:"string"` // The Python version being used to execute a Python shell job. Allowed values @@ -27736,8 +28199,7 @@ type JobRun struct { // The name of the job definition being used in this run. JobName *string `min:"1" type:"string"` - // The current state of the job run. For more information about the statuses - // of jobs that have terminated abnormally, see AWS Glue Job Run Statuses (https://docs.aws.amazon.com/glue/latest/dg/job-run-statuses.html). + // The current state of the job run. JobRunState *string `type:"string" enum:"JobRunState"` // The last time that this job run was modified. @@ -28025,9 +28487,10 @@ type JobUpdate struct { // * When you specify a Python shell job (JobCommand.Name="pythonshell"), // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. // - // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), - // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job - // type cannot have a fractional DPU allocation. + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") + // or Apache Spark streaming ETL job (JobCommand.Name="gluestreaming"), you + // can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type + // cannot have a fractional DPU allocation. MaxCapacity *float64 `type:"double"` // The maximum number of times to retry this job if it fails. @@ -29514,8 +29977,8 @@ func (s *NoScheduleException) RequestID() string { return s.RespMetadata.RequestID } -// A node represents an AWS Glue component like Trigger, Job etc. which is part -// of a workflow. +// A node represents an AWS Glue component such as a trigger, or job, etc., +// that is part of a workflow. type Node struct { _ struct{} `type:"structure"` @@ -29740,6 +30203,9 @@ func (s *Order) SetSortOrder(v int64) *Order { type Partition struct { _ struct{} `type:"structure"` + // The ID of the Data Catalog in which the partition resides. + CatalogId *string `min:"1" type:"string"` + // The time at which the partition was created. CreationTime *time.Time `type:"timestamp"` @@ -29775,6 +30241,12 @@ func (s Partition) GoString() string { return s.String() } +// SetCatalogId sets the CatalogId field's value. +func (s *Partition) SetCatalogId(v string) *Partition { + s.CatalogId = &v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *Partition) SetCreationTime(v time.Time) *Partition { s.CreationTime = &v @@ -30287,6 +30759,15 @@ func (s PutDataCatalogEncryptionSettingsOutput) GoString() string { type PutResourcePolicyInput struct { _ struct{} `type:"structure"` + // Allows you to specify if you want to use both resource-level and account/catalog-level + // resource policies. A resource-level policy is a policy attached to an individual + // resource such as a database or a table. + // + // The default value of NO indicates that resource-level policies cannot co-exist + // with an account-level policy. A value of YES means the use of both resource-level + // and account/catalog-level resource policies is allowed. + EnableHybrid *string `type:"string" enum:"EnableHybridValues"` + // A value of MUST_EXIST is used to update a policy. A value of NOT_EXIST is // used to create a new policy. If a value of NONE or a null value is used, // the call will not depend on the existence of a policy. @@ -30301,6 +30782,11 @@ type PutResourcePolicyInput struct { // // PolicyInJson is a required field PolicyInJson *string `min:"2" type:"string" required:"true"` + + // The ARN of the AWS Glue resource for the resource policy to be set. For more + // information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern + // (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html#aws-glue-api-regex-aws-glue-arn-id) + ResourceArn *string `min:"1" type:"string"` } // String returns the string representation @@ -30325,6 +30811,9 @@ func (s *PutResourcePolicyInput) Validate() error { if s.PolicyInJson != nil && len(*s.PolicyInJson) < 2 { invalidParams.Add(request.NewErrParamMinLen("PolicyInJson", 2)) } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -30332,6 +30821,12 @@ func (s *PutResourcePolicyInput) Validate() error { return nil } +// SetEnableHybrid sets the EnableHybrid field's value. +func (s *PutResourcePolicyInput) SetEnableHybrid(v string) *PutResourcePolicyInput { + s.EnableHybrid = &v + return s +} + // SetPolicyExistsCondition sets the PolicyExistsCondition field's value. func (s *PutResourcePolicyInput) SetPolicyExistsCondition(v string) *PutResourcePolicyInput { s.PolicyExistsCondition = &v @@ -30350,6 +30845,12 @@ func (s *PutResourcePolicyInput) SetPolicyInJson(v string) *PutResourcePolicyInp return s } +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { + s.ResourceArn = &v + return s +} + type PutResourcePolicyOutput struct { _ struct{} `type:"structure"` @@ -30633,6 +31134,112 @@ func (s *ResourceUri) SetUri(v string) *ResourceUri { return s } +type ResumeWorkflowRunInput struct { + _ struct{} `type:"structure"` + + // The name of the workflow to resume. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of the node IDs for the nodes you want to restart. The nodes that + // are to be restarted must have an execution attempt in the original run. + // + // NodeIds is a required field + NodeIds []*string `type:"list" required:"true"` + + // The ID of the workflow run to resume. + // + // RunId is a required field + RunId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResumeWorkflowRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResumeWorkflowRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResumeWorkflowRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResumeWorkflowRunInput"} + 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.NodeIds == nil { + invalidParams.Add(request.NewErrParamRequired("NodeIds")) + } + if s.RunId == nil { + invalidParams.Add(request.NewErrParamRequired("RunId")) + } + if s.RunId != nil && len(*s.RunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ResumeWorkflowRunInput) SetName(v string) *ResumeWorkflowRunInput { + s.Name = &v + return s +} + +// SetNodeIds sets the NodeIds field's value. +func (s *ResumeWorkflowRunInput) SetNodeIds(v []*string) *ResumeWorkflowRunInput { + s.NodeIds = v + return s +} + +// SetRunId sets the RunId field's value. +func (s *ResumeWorkflowRunInput) SetRunId(v string) *ResumeWorkflowRunInput { + s.RunId = &v + return s +} + +type ResumeWorkflowRunOutput struct { + _ struct{} `type:"structure"` + + // A list of the node IDs for the nodes that were actually restarted. + NodeIds []*string `type:"list"` + + // The new ID assigned to the resumed workflow run. Each resume of a workflow + // run will have a new run ID. + RunId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ResumeWorkflowRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResumeWorkflowRunOutput) GoString() string { + return s.String() +} + +// SetNodeIds sets the NodeIds field's value. +func (s *ResumeWorkflowRunOutput) SetNodeIds(v []*string) *ResumeWorkflowRunOutput { + s.NodeIds = v + return s +} + +// SetRunId sets the RunId field's value. +func (s *ResumeWorkflowRunOutput) SetRunId(v string) *ResumeWorkflowRunOutput { + s.RunId = &v + return s +} + // Specifies how Amazon Simple Storage Service (Amazon S3) data should be encrypted. type S3Encryption struct { _ struct{} `type:"structure"` @@ -30991,11 +31598,20 @@ func (s *SchemaColumn) SetName(v string) *SchemaColumn { type SearchTablesInput struct { _ struct{} `type:"structure"` - // A unique identifier, consisting of account_id/datalake. + // A unique identifier, consisting of account_id . CatalogId *string `min:"1" type:"string"` // A list of key-value pairs, and a comparator used to filter the search results. // Returns all entities matching the predicate. + // + // The Comparator member of the PropertyPredicate struct is used only for time + // fields, and can be omitted for other field types. Also, when comparing string + // values, such as when Key=Name, a fuzzy match algorithm is used. The Key field + // (for example, the value of the Name field) is split on certain punctuation + // characters, for example, -, :, #, etc. into tokens. Then each token is exact-match + // compared with the Value member of PropertyPredicate. For example, if Key=Name + // and Value=link, tables named customer-link and xx-link-yy are returned, but + // xxlinkyy is not returned. Filters []*PropertyPredicate `type:"list"` // The maximum number of tables to return in a single response. @@ -31004,6 +31620,15 @@ type SearchTablesInput struct { // A continuation token, included if this is a continuation call. NextToken *string `type:"string"` + // Allows you to specify that you want to search the tables shared with your + // account. The allowable values are FOREIGN or ALL. + // + // * If set to FOREIGN, will search the tables shared with your account. + // + // * If set to ALL, will search the tables shared with your account, as well + // as the tables in yor local account. + ResourceShareType *string `type:"string" enum:"ResourceShareType"` + // A string used for a text search. // // Specifying a value in quotes filters based on an exact match to the value. @@ -31064,6 +31689,12 @@ func (s *SearchTablesInput) SetNextToken(v string) *SearchTablesInput { return s } +// SetResourceShareType sets the ResourceShareType field's value. +func (s *SearchTablesInput) SetResourceShareType(v string) *SearchTablesInput { + s.ResourceShareType = &v + return s +} + // SetSearchText sets the SearchText field's value. func (s *SearchTablesInput) SetSearchText(v string) *SearchTablesInput { s.SearchText = &v @@ -32681,6 +33312,9 @@ func (s *Table) SetTableName(v string) *Table { type TableData struct { _ struct{} `type:"structure"` + // The ID of the Data Catalog in which the table resides. + CatalogId *string `min:"1" type:"string"` + // The time when the table definition was created in the Data Catalog. CreateTime *time.Time `type:"timestamp"` @@ -32735,6 +33369,9 @@ type TableData struct { // The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). TableType *string `type:"string"` + // A TableIdentifier structure that describes a target table for resource linking. + TargetTable *TableIdentifier `type:"structure"` + // The last time that the table was updated. UpdateTime *time.Time `type:"timestamp"` @@ -32755,6 +33392,12 @@ func (s TableData) GoString() string { return s.String() } +// SetCatalogId sets the CatalogId field's value. +func (s *TableData) SetCatalogId(v string) *TableData { + s.CatalogId = &v + return s +} + // SetCreateTime sets the CreateTime field's value. func (s *TableData) SetCreateTime(v time.Time) *TableData { s.CreateTime = &v @@ -32839,6 +33482,12 @@ func (s *TableData) SetTableType(v string) *TableData { return s } +// SetTargetTable sets the TargetTable field's value. +func (s *TableData) SetTargetTable(v *TableIdentifier) *TableData { + s.TargetTable = v + return s +} + // SetUpdateTime sets the UpdateTime field's value. func (s *TableData) SetUpdateTime(v time.Time) *TableData { s.UpdateTime = &v @@ -32890,6 +33539,67 @@ func (s *TableError) SetTableName(v string) *TableError { return s } +// A structure that describes a target table for resource linking. +type TableIdentifier struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the table resides. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database that contains the target table. + DatabaseName *string `min:"1" type:"string"` + + // The name of the target table. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s TableIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableIdentifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TableIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TableIdentifier"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *TableIdentifier) SetCatalogId(v string) *TableIdentifier { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *TableIdentifier) SetDatabaseName(v string) *TableIdentifier { + s.DatabaseName = &v + return s +} + +// SetName sets the Name field's value. +func (s *TableIdentifier) SetName(v string) *TableIdentifier { + s.Name = &v + return s +} + // A structure used to define a table. type TableInput struct { _ struct{} `type:"structure"` @@ -32935,6 +33645,9 @@ type TableInput struct { // The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). TableType *string `type:"string"` + // A TableIdentifier structure that describes a target table for resource linking. + TargetTable *TableIdentifier `type:"structure"` + // If the table is a view, the expanded text of the view; otherwise null. ViewExpandedText *string `type:"string"` @@ -32979,6 +33692,11 @@ func (s *TableInput) Validate() error { invalidParams.AddNested("StorageDescriptor", err.(request.ErrInvalidParams)) } } + if s.TargetTable != nil { + if err := s.TargetTable.Validate(); err != nil { + invalidParams.AddNested("TargetTable", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -33046,6 +33764,12 @@ func (s *TableInput) SetTableType(v string) *TableInput { return s } +// SetTargetTable sets the TargetTable field's value. +func (s *TableInput) SetTargetTable(v *TableIdentifier) *TableInput { + s.TargetTable = v + return s +} + // SetViewExpandedText sets the ViewExpandedText field's value. func (s *TableInput) SetViewExpandedText(v string) *TableInput { s.ViewExpandedText = &v @@ -35403,10 +36127,13 @@ type UpdatePartitionInput struct { // The new partition object to update the partition to. // + // The Values property can't be changed. If you want to change the partition + // key values for a partition, delete and recreate the partition. + // // PartitionInput is a required field PartitionInput *PartitionInput `type:"structure" required:"true"` - // A list of the values defining the partition. + // List of partition key values that define the partition to update. // // PartitionValueList is a required field PartitionValueList []*string `type:"list" required:"true"` @@ -35943,13 +36670,16 @@ func (s *UpdateXMLClassifierRequest) SetRowTag(v string) *UpdateXMLClassifierReq type UserDefinedFunction struct { _ struct{} `type:"structure"` + // The ID of the Data Catalog in which the function resides. + CatalogId *string `min:"1" type:"string"` + // The Java class that contains the function code. ClassName *string `min:"1" type:"string"` // The time at which the function was created. CreateTime *time.Time `type:"timestamp"` - // The name of the database where the function resides. + // The name of the catalog database that contains the function. DatabaseName *string `min:"1" type:"string"` // The name of the function. @@ -35975,6 +36705,12 @@ func (s UserDefinedFunction) GoString() string { return s.String() } +// SetCatalogId sets the CatalogId field's value. +func (s *UserDefinedFunction) SetCatalogId(v string) *UserDefinedFunction { + s.CatalogId = &v + return s +} + // SetClassName sets the ClassName field's value. func (s *UserDefinedFunction) SetClassName(v string) *UserDefinedFunction { s.ClassName = &v @@ -36348,9 +37084,12 @@ type WorkflowRun struct { // as nodes and directed connections between them as edges. Graph *WorkflowGraph `type:"structure"` - // Name of the workflow which was executed. + // Name of the workflow that was executed. Name *string `min:"1" type:"string"` + // The ID of the previous workflow run. + PreviousRunId *string `min:"1" type:"string"` + // The date and time when the workflow run was started. StartedOn *time.Time `type:"timestamp"` @@ -36395,6 +37134,12 @@ func (s *WorkflowRun) SetName(v string) *WorkflowRun { return s } +// SetPreviousRunId sets the PreviousRunId field's value. +func (s *WorkflowRun) SetPreviousRunId(v string) *WorkflowRun { + s.PreviousRunId = &v + return s +} + // SetStartedOn sets the StartedOn field's value. func (s *WorkflowRun) SetStartedOn(v time.Time) *WorkflowRun { s.StartedOn = &v @@ -36429,19 +37174,19 @@ func (s *WorkflowRun) SetWorkflowRunProperties(v map[string]*string) *WorkflowRu type WorkflowRunStatistics struct { _ struct{} `type:"structure"` - // Total number of Actions which have failed. + // Total number of Actions that have failed. FailedActions *int64 `type:"integer"` // Total number Actions in running state. RunningActions *int64 `type:"integer"` - // Total number of Actions which have stopped. + // Total number of Actions that have stopped. StoppedActions *int64 `type:"integer"` - // Total number of Actions which have succeeded. + // Total number of Actions that have succeeded. SucceededActions *int64 `type:"integer"` - // Total number of Actions which timed out. + // Total number of Actions that timed out. TimeoutActions *int64 `type:"integer"` // Total number of Actions in the workflow run. @@ -36681,6 +37426,15 @@ const ( // ConnectionPropertyKeyKafkaBootstrapServers is a ConnectionPropertyKey enum value ConnectionPropertyKeyKafkaBootstrapServers = "KAFKA_BOOTSTRAP_SERVERS" + + // ConnectionPropertyKeyKafkaSslEnabled is a ConnectionPropertyKey enum value + ConnectionPropertyKeyKafkaSslEnabled = "KAFKA_SSL_ENABLED" + + // ConnectionPropertyKeyKafkaCustomCert is a ConnectionPropertyKey enum value + ConnectionPropertyKeyKafkaCustomCert = "KAFKA_CUSTOM_CERT" + + // ConnectionPropertyKeyKafkaSkipCustomCertValidation is a ConnectionPropertyKey enum value + ConnectionPropertyKeyKafkaSkipCustomCertValidation = "KAFKA_SKIP_CUSTOM_CERT_VALIDATION" ) const ( @@ -36747,6 +37501,14 @@ const ( DeleteBehaviorDeprecateInDatabase = "DEPRECATE_IN_DATABASE" ) +const ( + // EnableHybridValuesTrue is a EnableHybridValues enum value + EnableHybridValuesTrue = "TRUE" + + // EnableHybridValuesFalse is a EnableHybridValues enum value + EnableHybridValuesFalse = "FALSE" +) + const ( // ExistConditionMustExist is a ExistCondition enum value ExistConditionMustExist = "MUST_EXIST" @@ -36872,6 +37634,14 @@ const ( PrincipalTypeGroup = "GROUP" ) +const ( + // ResourceShareTypeForeign is a ResourceShareType enum value + ResourceShareTypeForeign = "FOREIGN" + + // ResourceShareTypeAll is a ResourceShareType enum value + ResourceShareTypeAll = "ALL" +) + const ( // ResourceTypeJar is a ResourceType enum value ResourceTypeJar = "JAR" diff --git a/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go b/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go index e1f8ce0b2aa..d1d3711f585 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go @@ -229,7 +229,8 @@ func (c *GuardDuty) CreateDetectorRequest(input *CreateDetectorInput) (req *requ // Creates a single Amazon GuardDuty detector. A detector is a resource that // represents the GuardDuty service. To start using GuardDuty, you must create // a detector in each Region where you enable the service. You can have only -// one detector per account per Region. +// one detector per account per Region. All data sources are enabled in a new +// detector by 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 @@ -480,8 +481,17 @@ func (c *GuardDuty) CreateMembersRequest(input *CreateMembersInput) (req *reques // CreateMembers API operation for Amazon GuardDuty. // // Creates member accounts of the current AWS account by specifying a list of -// AWS account IDs. The current AWS account can then invite these members to -// manage GuardDuty in their accounts. +// AWS account IDs. This step is a prerequisite for managing the associated +// member accounts either by invitation or through an organization. +// +// When using Create Members as an organizations delegated administrator this +// action will enable GuardDuty in the added member accounts, with the exception +// of the organization master account, which must enable GuardDuty prior to +// being added as a member. +// +// If you are adding accounts by invitation use this action after GuardDuty +// has been enabled in potential member accounts and before using Invite Members +// (https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.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 @@ -2512,6 +2522,88 @@ func (c *GuardDuty) GetMasterAccountWithContext(ctx aws.Context, input *GetMaste return out, req.Send() } +const opGetMemberDetectors = "GetMemberDetectors" + +// GetMemberDetectorsRequest generates a "aws/request.Request" representing the +// client's request for the GetMemberDetectors operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMemberDetectors for more information on using the GetMemberDetectors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetMemberDetectorsRequest method. +// req, resp := client.GetMemberDetectorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors +func (c *GuardDuty) GetMemberDetectorsRequest(input *GetMemberDetectorsInput) (req *request.Request, output *GetMemberDetectorsOutput) { + op := &request.Operation{ + Name: opGetMemberDetectors, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/member/detector/get", + } + + if input == nil { + input = &GetMemberDetectorsInput{} + } + + output = &GetMemberDetectorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMemberDetectors API operation for Amazon GuardDuty. +// +// Describes which data sources are enabled for the member account's detector. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 GuardDuty's +// API operation GetMemberDetectors for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// A bad request exception object. +// +// * InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors +func (c *GuardDuty) GetMemberDetectors(input *GetMemberDetectorsInput) (*GetMemberDetectorsOutput, error) { + req, out := c.GetMemberDetectorsRequest(input) + return out, req.Send() +} + +// GetMemberDetectorsWithContext is the same as GetMemberDetectors with the addition of +// the ability to pass a context and additional request options. +// +// See GetMemberDetectors for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GuardDuty) GetMemberDetectorsWithContext(ctx aws.Context, input *GetMemberDetectorsInput, opts ...request.Option) (*GetMemberDetectorsOutput, error) { + req, out := c.GetMemberDetectorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetMembers = "GetMembers" // GetMembersRequest generates a "aws/request.Request" representing the @@ -2677,6 +2769,151 @@ func (c *GuardDuty) GetThreatIntelSetWithContext(ctx aws.Context, input *GetThre return out, req.Send() } +const opGetUsageStatistics = "GetUsageStatistics" + +// GetUsageStatisticsRequest generates a "aws/request.Request" representing the +// client's request for the GetUsageStatistics operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetUsageStatistics for more information on using the GetUsageStatistics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetUsageStatisticsRequest method. +// req, resp := client.GetUsageStatisticsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics +func (c *GuardDuty) GetUsageStatisticsRequest(input *GetUsageStatisticsInput) (req *request.Request, output *GetUsageStatisticsOutput) { + op := &request.Operation{ + Name: opGetUsageStatistics, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/usage/statistics", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetUsageStatisticsInput{} + } + + output = &GetUsageStatisticsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetUsageStatistics API operation for Amazon GuardDuty. +// +// Lists Amazon GuardDuty usage statistics over the last 30 days for the specified +// detector ID. For newly enabled detectors or data sources the cost returned +// will include only the usage so far under 30 days, this may differ from the +// cost metrics in the console, which projects usage over 30 days to provide +// a monthly cost estimate. For more information see Understanding How Usage +// Costs are Calculated (https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 GuardDuty's +// API operation GetUsageStatistics for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// A bad request exception object. +// +// * InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics +func (c *GuardDuty) GetUsageStatistics(input *GetUsageStatisticsInput) (*GetUsageStatisticsOutput, error) { + req, out := c.GetUsageStatisticsRequest(input) + return out, req.Send() +} + +// GetUsageStatisticsWithContext is the same as GetUsageStatistics with the addition of +// the ability to pass a context and additional request options. +// +// See GetUsageStatistics for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GuardDuty) GetUsageStatisticsWithContext(ctx aws.Context, input *GetUsageStatisticsInput, opts ...request.Option) (*GetUsageStatisticsOutput, error) { + req, out := c.GetUsageStatisticsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetUsageStatisticsPages iterates over the pages of a GetUsageStatistics operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetUsageStatistics 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 GetUsageStatistics operation. +// pageNum := 0 +// err := client.GetUsageStatisticsPages(params, +// func(page *guardduty.GetUsageStatisticsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GuardDuty) GetUsageStatisticsPages(input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool) error { + return c.GetUsageStatisticsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetUsageStatisticsPagesWithContext same as GetUsageStatisticsPages 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 *GuardDuty) GetUsageStatisticsPagesWithContext(ctx aws.Context, input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetUsageStatisticsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetUsageStatisticsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetUsageStatisticsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opInviteMembers = "InviteMembers" // InviteMembersRequest generates a "aws/request.Request" representing the @@ -4860,6 +5097,88 @@ func (c *GuardDuty) UpdateIPSetWithContext(ctx aws.Context, input *UpdateIPSetIn return out, req.Send() } +const opUpdateMemberDetectors = "UpdateMemberDetectors" + +// UpdateMemberDetectorsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMemberDetectors operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMemberDetectors for more information on using the UpdateMemberDetectors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateMemberDetectorsRequest method. +// req, resp := client.UpdateMemberDetectorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors +func (c *GuardDuty) UpdateMemberDetectorsRequest(input *UpdateMemberDetectorsInput) (req *request.Request, output *UpdateMemberDetectorsOutput) { + op := &request.Operation{ + Name: opUpdateMemberDetectors, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/member/detector/update", + } + + if input == nil { + input = &UpdateMemberDetectorsInput{} + } + + output = &UpdateMemberDetectorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMemberDetectors API operation for Amazon GuardDuty. +// +// Contains information on member accounts to be updated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 GuardDuty's +// API operation UpdateMemberDetectors for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// A bad request exception object. +// +// * InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors +func (c *GuardDuty) UpdateMemberDetectors(input *UpdateMemberDetectorsInput) (*UpdateMemberDetectorsOutput, error) { + req, out := c.UpdateMemberDetectorsRequest(input) + return out, req.Send() +} + +// UpdateMemberDetectorsWithContext is the same as UpdateMemberDetectors with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMemberDetectors for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GuardDuty) UpdateMemberDetectorsWithContext(ctx aws.Context, input *UpdateMemberDetectorsInput, opts ...request.Option) (*UpdateMemberDetectorsOutput, error) { + req, out := c.UpdateMemberDetectorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration" // UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the @@ -5800,6 +6119,33 @@ func (s *City) SetCityName(v string) *City { return s } +// Contains information on the status of CloudTrail as a data source for the +// detector. +type CloudTrailConfigurationResult struct { + _ struct{} `type:"structure"` + + // Describes whether CloudTrail is enabled as a data source for the detector. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` +} + +// String returns the string representation +func (s CloudTrailConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudTrailConfigurationResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *CloudTrailConfigurationResult) SetStatus(v string) *CloudTrailConfigurationResult { + s.Status = &v + return s +} + // Contains information about the condition. type Condition struct { _ struct{} `type:"structure"` @@ -5986,6 +6332,9 @@ type CreateDetectorInput struct { // The idempotency token for the create request. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + // An object that describes which data sources will be enabled for the detector. + DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"` + // A Boolean value that specifies whether the detector is to be enabled. // // Enable is a required field @@ -6017,6 +6366,11 @@ func (s *CreateDetectorInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.DataSources != nil { + if err := s.DataSources.Validate(); err != nil { + invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6030,6 +6384,12 @@ func (s *CreateDetectorInput) SetClientToken(v string) *CreateDetectorInput { return s } +// SetDataSources sets the DataSources field's value. +func (s *CreateDetectorInput) SetDataSources(v *DataSourceConfigurations) *CreateDetectorInput { + s.DataSources = v + return s +} + // SetEnable sets the Enable field's value. func (s *CreateDetectorInput) SetEnable(v bool) *CreateDetectorInput { s.Enable = &v @@ -6910,11 +7270,138 @@ func (s *CreateThreatIntelSetOutput) SetThreatIntelSetId(v string) *CreateThreat return s } -type DeclineInvitationsInput struct { +// Contains information on the status of DNS logs as a data source. +type DNSLogsConfigurationResult struct { _ struct{} `type:"structure"` - // A list of account IDs of the AWS accounts that sent invitations to the current - // member account that you want to decline invitations from. + // Denotes whether DNS logs is enabled as a data source. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` +} + +// String returns the string representation +func (s DNSLogsConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DNSLogsConfigurationResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *DNSLogsConfigurationResult) SetStatus(v string) *DNSLogsConfigurationResult { + s.Status = &v + return s +} + +// Contains information about which data sources are enabled. +type DataSourceConfigurations struct { + _ struct{} `type:"structure"` + + // Describes whether S3 data event logs are enabled as a data source. + S3Logs *S3LogsConfiguration `locationName:"s3Logs" type:"structure"` +} + +// String returns the string representation +func (s DataSourceConfigurations) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSourceConfigurations) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSourceConfigurations) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSourceConfigurations"} + if s.S3Logs != nil { + if err := s.S3Logs.Validate(); err != nil { + invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Logs sets the S3Logs field's value. +func (s *DataSourceConfigurations) SetS3Logs(v *S3LogsConfiguration) *DataSourceConfigurations { + s.S3Logs = v + return s +} + +// Contains information on the status of data sources for the detector. +type DataSourceConfigurationsResult struct { + _ struct{} `type:"structure"` + + // An object that contains information on the status of CloudTrail as a data + // source. + // + // CloudTrail is a required field + CloudTrail *CloudTrailConfigurationResult `locationName:"cloudTrail" type:"structure" required:"true"` + + // An object that contains information on the status of DNS logs as a data source. + // + // DNSLogs is a required field + DNSLogs *DNSLogsConfigurationResult `locationName:"dnsLogs" type:"structure" required:"true"` + + // An object that contains information on the status of VPC flow logs as a data + // source. + // + // FlowLogs is a required field + FlowLogs *FlowLogsConfigurationResult `locationName:"flowLogs" type:"structure" required:"true"` + + // An object that contains information on the status of S3 Data event logs as + // a data source. + // + // S3Logs is a required field + S3Logs *S3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DataSourceConfigurationsResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSourceConfigurationsResult) GoString() string { + return s.String() +} + +// SetCloudTrail sets the CloudTrail field's value. +func (s *DataSourceConfigurationsResult) SetCloudTrail(v *CloudTrailConfigurationResult) *DataSourceConfigurationsResult { + s.CloudTrail = v + return s +} + +// SetDNSLogs sets the DNSLogs field's value. +func (s *DataSourceConfigurationsResult) SetDNSLogs(v *DNSLogsConfigurationResult) *DataSourceConfigurationsResult { + s.DNSLogs = v + return s +} + +// SetFlowLogs sets the FlowLogs field's value. +func (s *DataSourceConfigurationsResult) SetFlowLogs(v *FlowLogsConfigurationResult) *DataSourceConfigurationsResult { + s.FlowLogs = v + return s +} + +// SetS3Logs sets the S3Logs field's value. +func (s *DataSourceConfigurationsResult) SetS3Logs(v *S3LogsConfigurationResult) *DataSourceConfigurationsResult { + s.S3Logs = v + return s +} + +type DeclineInvitationsInput struct { + _ struct{} `type:"structure"` + + // A list of account IDs of the AWS accounts that sent invitations to the current + // member account that you want to decline invitations from. // // AccountIds is a required field AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` @@ -7561,6 +8048,10 @@ type DescribeOrganizationConfigurationOutput struct { // AutoEnable is a required field AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` + // An object that describes which data sources are enabled automatically for + // member accounts. + DataSources *OrganizationDataSourceConfigurationsResult `locationName:"dataSources" type:"structure"` + // Indicates whether the maximum number of allowed member accounts are already // associated with the delegated administrator master account. // @@ -7584,6 +8075,12 @@ func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *Describ return s } +// SetDataSources sets the DataSources field's value. +func (s *DescribeOrganizationConfigurationOutput) SetDataSources(v *OrganizationDataSourceConfigurationsResult) *DescribeOrganizationConfigurationOutput { + s.DataSources = v + return s +} + // SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value. func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput { s.MemberAccountLimitReached = &v @@ -8345,6 +8842,32 @@ func (s *FindingStatistics) SetCountBySeverity(v map[string]*int64) *FindingStat return s } +// Contains information on the status of VPC flow logs as a data source. +type FlowLogsConfigurationResult struct { + _ struct{} `type:"structure"` + + // Denotes whether VPC flow logs is enabled as a data source. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` +} + +// String returns the string representation +func (s FlowLogsConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FlowLogsConfigurationResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *FlowLogsConfigurationResult) SetStatus(v string) *FlowLogsConfigurationResult { + s.Status = &v + return s +} + // Contains information about the location of the remote IP address. type GeoLocation struct { _ struct{} `type:"structure"` @@ -8425,6 +8948,9 @@ type GetDetectorOutput struct { // The timestamp of when the detector was created. CreatedAt *string `locationName:"createdAt" type:"string"` + // An object that describes which data sources are enabled for the detector. + DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure"` + // The publishing frequency of the finding. FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"` @@ -8461,6 +8987,12 @@ func (s *GetDetectorOutput) SetCreatedAt(v string) *GetDetectorOutput { return s } +// SetDataSources sets the DataSources field's value. +func (s *GetDetectorOutput) SetDataSources(v *DataSourceConfigurationsResult) *GetDetectorOutput { + s.DataSources = v + return s +} + // SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value. func (s *GetDetectorOutput) SetFindingPublishingFrequency(v string) *GetDetectorOutput { s.FindingPublishingFrequency = &v @@ -9033,6 +9565,101 @@ func (s *GetMasterAccountOutput) SetMaster(v *Master) *GetMasterAccountOutput { return s } +type GetMemberDetectorsInput struct { + _ struct{} `type:"structure"` + + // The account ID of the member account. + // + // AccountIds is a required field + AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` + + // The detector ID for the master account. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetMemberDetectorsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMemberDetectorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMemberDetectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMemberDetectorsInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *GetMemberDetectorsInput) SetAccountIds(v []*string) *GetMemberDetectorsInput { + s.AccountIds = v + return s +} + +// SetDetectorId sets the DetectorId field's value. +func (s *GetMemberDetectorsInput) SetDetectorId(v string) *GetMemberDetectorsInput { + s.DetectorId = &v + return s +} + +type GetMemberDetectorsOutput struct { + _ struct{} `type:"structure"` + + // An object that describes which data sources are enabled for a member account. + // + // MemberDataSourceConfigurations is a required field + MemberDataSourceConfigurations []*MemberDataSourceConfiguration `locationName:"members" min:"1" type:"list" required:"true"` + + // A list of member account IDs that were unable to be processed along with + // an explanation for why they were not processed. + // + // UnprocessedAccounts is a required field + UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` +} + +// String returns the string representation +func (s GetMemberDetectorsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMemberDetectorsOutput) GoString() string { + return s.String() +} + +// SetMemberDataSourceConfigurations sets the MemberDataSourceConfigurations field's value. +func (s *GetMemberDetectorsOutput) SetMemberDataSourceConfigurations(v []*MemberDataSourceConfiguration) *GetMemberDetectorsOutput { + s.MemberDataSourceConfigurations = v + return s +} + +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *GetMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMemberDetectorsOutput { + s.UnprocessedAccounts = v + return s +} + type GetMembersInput struct { _ struct{} `type:"structure"` @@ -9255,54 +9882,197 @@ func (s *GetThreatIntelSetOutput) SetTags(v map[string]*string) *GetThreatIntelS return s } -// Contains information about the EC2 instance profile. -type IamInstanceProfile struct { +type GetUsageStatisticsInput struct { _ struct{} `type:"structure"` - // The profile ARN of the EC2 instance. - Arn *string `locationName:"arn" type:"string"` + // The ID of the detector that specifies the GuardDuty service whose usage statistics + // you want to retrieve. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - // The profile ID of the EC2 instance. - Id *string `locationName:"id" type:"string"` + // The maximum number of results to return in the response. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` + + // The currency unit you would like to view your usage statistics in. Current + // valid values are USD. + Unit *string `locationName:"unit" type:"string"` + + // Represents the criteria used for querying usage. + // + // UsageCriteria is a required field + UsageCriteria *UsageCriteria `locationName:"usageCriteria" type:"structure" required:"true"` + + // The type of usage statistics to retrieve. + // + // UsageStatisticType is a required field + UsageStatisticType *string `locationName:"usageStatisticsType" type:"string" required:"true" enum:"UsageStatisticType"` } // String returns the string representation -func (s IamInstanceProfile) String() string { +func (s GetUsageStatisticsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IamInstanceProfile) GoString() string { +func (s GetUsageStatisticsInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile { - s.Arn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUsageStatisticsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUsageStatisticsInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.UsageCriteria == nil { + invalidParams.Add(request.NewErrParamRequired("UsageCriteria")) + } + if s.UsageStatisticType == nil { + invalidParams.Add(request.NewErrParamRequired("UsageStatisticType")) + } + if s.UsageCriteria != nil { + if err := s.UsageCriteria.Validate(); err != nil { + invalidParams.AddNested("UsageCriteria", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *GetUsageStatisticsInput) SetDetectorId(v string) *GetUsageStatisticsInput { + s.DetectorId = &v return s } -// SetId sets the Id field's value. -func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile { - s.Id = &v +// SetMaxResults sets the MaxResults field's value. +func (s *GetUsageStatisticsInput) SetMaxResults(v int64) *GetUsageStatisticsInput { + s.MaxResults = &v return s } -// Contains information about the details of an instance. -type InstanceDetails struct { - _ struct{} `type:"structure"` +// SetNextToken sets the NextToken field's value. +func (s *GetUsageStatisticsInput) SetNextToken(v string) *GetUsageStatisticsInput { + s.NextToken = &v + return s +} - // The Availability Zone of the EC2 instance. - AvailabilityZone *string `locationName:"availabilityZone" type:"string"` +// SetUnit sets the Unit field's value. +func (s *GetUsageStatisticsInput) SetUnit(v string) *GetUsageStatisticsInput { + s.Unit = &v + return s +} - // The profile information of the EC2 instance. - IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"` +// SetUsageCriteria sets the UsageCriteria field's value. +func (s *GetUsageStatisticsInput) SetUsageCriteria(v *UsageCriteria) *GetUsageStatisticsInput { + s.UsageCriteria = v + return s +} - // The image description of the EC2 instance. - ImageDescription *string `locationName:"imageDescription" type:"string"` +// SetUsageStatisticType sets the UsageStatisticType field's value. +func (s *GetUsageStatisticsInput) SetUsageStatisticType(v string) *GetUsageStatisticsInput { + s.UsageStatisticType = &v + return s +} - // The image ID of the EC2 instance. - ImageId *string `locationName:"imageId" type:"string"` +type GetUsageStatisticsOutput struct { + _ struct{} `type:"structure"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` + + // The usage statistics object. If a UsageStatisticType was provided, the objects + // representing other types will be null. + UsageStatistics *UsageStatistics `locationName:"usageStatistics" type:"structure"` +} + +// String returns the string representation +func (s GetUsageStatisticsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUsageStatisticsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetUsageStatisticsOutput) SetNextToken(v string) *GetUsageStatisticsOutput { + s.NextToken = &v + return s +} + +// SetUsageStatistics sets the UsageStatistics field's value. +func (s *GetUsageStatisticsOutput) SetUsageStatistics(v *UsageStatistics) *GetUsageStatisticsOutput { + s.UsageStatistics = v + return s +} + +// Contains information about the EC2 instance profile. +type IamInstanceProfile struct { + _ struct{} `type:"structure"` + + // The profile ARN of the EC2 instance. + Arn *string `locationName:"arn" type:"string"` + + // The profile ID of the EC2 instance. + Id *string `locationName:"id" type:"string"` +} + +// String returns the string representation +func (s IamInstanceProfile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IamInstanceProfile) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile { + s.Id = &v + return s +} + +// Contains information about the details of an instance. +type InstanceDetails struct { + _ struct{} `type:"structure"` + + // The Availability Zone of the EC2 instance. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The profile information of the EC2 instance. + IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"` + + // The image description of the EC2 instance. + ImageDescription *string `locationName:"imageDescription" type:"string"` + + // The image ID of the EC2 instance. + ImageId *string `locationName:"imageId" type:"string"` // The ID of the EC2 instance. InstanceId *string `locationName:"instanceId" type:"string"` @@ -9549,10 +10319,10 @@ type InviteMembersInput struct { DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` // A Boolean value that specifies whether you want to disable email notification - // to the accounts that you’re inviting to GuardDuty as members. + // to the accounts that you are inviting to GuardDuty as members. DisableEmailNotification *bool `locationName:"disableEmailNotification" type:"boolean"` - // The invitation message that you want to send to the accounts that you’re + // The invitation message that you want to send to the accounts that you're // inviting to GuardDuty as members. Message *string `locationName:"message" type:"string"` } @@ -10883,6 +11653,43 @@ func (s *Member) SetUpdatedAt(v string) *Member { return s } +// Contains information on which data sources are enabled for a member account. +type MemberDataSourceConfiguration struct { + _ struct{} `type:"structure"` + + // The account ID for the member account. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + + // Contains information on the status of data sources for the account. + // + // DataSources is a required field + DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure" required:"true"` +} + +// String returns the string representation +func (s MemberDataSourceConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MemberDataSourceConfiguration) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *MemberDataSourceConfiguration) SetAccountId(v string) *MemberDataSourceConfiguration { + s.AccountId = &v + return s +} + +// SetDataSources sets the DataSources field's value. +func (s *MemberDataSourceConfiguration) SetDataSources(v *DataSourceConfigurationsResult) *MemberDataSourceConfiguration { + s.DataSources = v + return s +} + // Contains information about the NETWORK_CONNECTION action described in the // finding. type NetworkConnectionAction struct { @@ -11119,6 +11926,142 @@ func (s *Organization) SetOrg(v string) *Organization { return s } +// An object that contains information on which data sources will be configured +// to be automatically enabled for new members within the organization. +type OrganizationDataSourceConfigurations struct { + _ struct{} `type:"structure"` + + // Describes whether S3 data event logs are enabled for new members of the organization. + S3Logs *OrganizationS3LogsConfiguration `locationName:"s3Logs" type:"structure"` +} + +// String returns the string representation +func (s OrganizationDataSourceConfigurations) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OrganizationDataSourceConfigurations) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OrganizationDataSourceConfigurations) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationDataSourceConfigurations"} + if s.S3Logs != nil { + if err := s.S3Logs.Validate(); err != nil { + invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Logs sets the S3Logs field's value. +func (s *OrganizationDataSourceConfigurations) SetS3Logs(v *OrganizationS3LogsConfiguration) *OrganizationDataSourceConfigurations { + s.S3Logs = v + return s +} + +// An object that contains information on which data sources are automatically +// enabled for new members within the organization. +type OrganizationDataSourceConfigurationsResult struct { + _ struct{} `type:"structure"` + + // Describes whether S3 data event logs are enabled as a data source. + // + // S3Logs is a required field + S3Logs *OrganizationS3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"` +} + +// String returns the string representation +func (s OrganizationDataSourceConfigurationsResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OrganizationDataSourceConfigurationsResult) GoString() string { + return s.String() +} + +// SetS3Logs sets the S3Logs field's value. +func (s *OrganizationDataSourceConfigurationsResult) SetS3Logs(v *OrganizationS3LogsConfigurationResult) *OrganizationDataSourceConfigurationsResult { + s.S3Logs = v + return s +} + +// Describes whether S3 data event logs will be automatically enabled for new +// members of the organization. +type OrganizationS3LogsConfiguration struct { + _ struct{} `type:"structure"` + + // A value that contains information on whether S3 data event logs will be enabled + // automatically as a data source for the organization. + // + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s OrganizationS3LogsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OrganizationS3LogsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OrganizationS3LogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationS3LogsConfiguration"} + if s.AutoEnable == nil { + invalidParams.Add(request.NewErrParamRequired("AutoEnable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationS3LogsConfiguration) SetAutoEnable(v bool) *OrganizationS3LogsConfiguration { + s.AutoEnable = &v + return s +} + +// The current configuration of S3 data event logs as a data source for the +// organization. +type OrganizationS3LogsConfigurationResult struct { + _ struct{} `type:"structure"` + + // A value that describes whether S3 data event logs are automatically enabled + // for new members of the organization. + // + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s OrganizationS3LogsConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OrganizationS3LogsConfigurationResult) GoString() string { + return s.String() +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationS3LogsConfigurationResult) SetAutoEnable(v bool) *OrganizationS3LogsConfigurationResult { + s.AutoEnable = &v + return s +} + // Contains information on the owner of the bucket. type Owner struct { _ struct{} `type:"structure"` @@ -11500,6 +12443,7 @@ func (s *Resource) SetS3BucketDetails(v []*S3BucketDetail) *Resource { return s } +// Contains information on the S3 bucket. type S3BucketDetail struct { _ struct{} `type:"structure"` @@ -11586,6 +12530,72 @@ func (s *S3BucketDetail) SetType(v string) *S3BucketDetail { return s } +// Describes whether S3 data event logs will be enabled as a data source. +type S3LogsConfiguration struct { + _ struct{} `type:"structure"` + + // The status of S3 data event logs as a data source. + // + // Enable is a required field + Enable *bool `locationName:"enable" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s S3LogsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3LogsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3LogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3LogsConfiguration"} + if s.Enable == nil { + invalidParams.Add(request.NewErrParamRequired("Enable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnable sets the Enable field's value. +func (s *S3LogsConfiguration) SetEnable(v bool) *S3LogsConfiguration { + s.Enable = &v + return s +} + +// Describes whether S3 data event logs will be enabled as a data source. +type S3LogsConfigurationResult struct { + _ struct{} `type:"structure"` + + // A value that describes whether S3 data event logs are automatically enabled + // for new members of the organization. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` +} + +// String returns the string representation +func (s S3LogsConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3LogsConfigurationResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *S3LogsConfigurationResult) SetStatus(v string) *S3LogsConfigurationResult { + s.Status = &v + return s +} + // Contains information about the security groups associated with the EC2 instance. type SecurityGroup struct { _ struct{} `type:"structure"` @@ -12072,6 +13082,39 @@ func (s *ThreatIntelligenceDetail) SetThreatNames(v []*string) *ThreatIntelligen return s } +// Contains the total usage with the corresponding currency unit for that value. +type Total struct { + _ struct{} `type:"structure"` + + // The total usage. + Amount *string `locationName:"amount" type:"string"` + + // The currency unit that the amount is given in. + Unit *string `locationName:"unit" type:"string"` +} + +// String returns the string representation +func (s Total) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Total) GoString() string { + return s.String() +} + +// SetAmount sets the Amount field's value. +func (s *Total) SetAmount(v string) *Total { + s.Amount = &v + return s +} + +// SetUnit sets the Unit field's value. +func (s *Total) SetUnit(v string) *Total { + s.Unit = &v + return s +} + type UnarchiveFindingsInput struct { _ struct{} `type:"structure"` @@ -12253,6 +13296,9 @@ func (s UntagResourceOutput) GoString() string { type UpdateDetectorInput struct { _ struct{} `type:"structure"` + // An object that describes which data sources will be updated. + DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"` + // The unique ID of the detector to update. // // DetectorId is a required field @@ -12285,6 +13331,11 @@ func (s *UpdateDetectorInput) Validate() error { if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } + if s.DataSources != nil { + if err := s.DataSources.Validate(); err != nil { + invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -12292,6 +13343,12 @@ func (s *UpdateDetectorInput) Validate() error { return nil } +// SetDataSources sets the DataSources field's value. +func (s *UpdateDetectorInput) SetDataSources(v *DataSourceConfigurations) *UpdateDetectorInput { + s.DataSources = v + return s +} + // SetDetectorId sets the DetectorId field's value. func (s *UpdateDetectorInput) SetDetectorId(v string) *UpdateDetectorInput { s.DetectorId = &v @@ -12650,6 +13707,104 @@ func (s UpdateIPSetOutput) GoString() string { return s.String() } +type UpdateMemberDetectorsInput struct { + _ struct{} `type:"structure"` + + // A list of member account IDs to be updated. + // + // AccountIds is a required field + AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` + + // An object describes which data sources will be updated. + DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"` + + // The detector ID of the master account. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateMemberDetectorsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMemberDetectorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMemberDetectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMemberDetectorsInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.DataSources != nil { + if err := s.DataSources.Validate(); err != nil { + invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *UpdateMemberDetectorsInput) SetAccountIds(v []*string) *UpdateMemberDetectorsInput { + s.AccountIds = v + return s +} + +// SetDataSources sets the DataSources field's value. +func (s *UpdateMemberDetectorsInput) SetDataSources(v *DataSourceConfigurations) *UpdateMemberDetectorsInput { + s.DataSources = v + return s +} + +// SetDetectorId sets the DetectorId field's value. +func (s *UpdateMemberDetectorsInput) SetDetectorId(v string) *UpdateMemberDetectorsInput { + s.DetectorId = &v + return s +} + +type UpdateMemberDetectorsOutput struct { + _ struct{} `type:"structure"` + + // A list of member account IDs that were unable to be processed along with + // an explanation for why they were not processed. + // + // UnprocessedAccounts is a required field + UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateMemberDetectorsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMemberDetectorsOutput) GoString() string { + return s.String() +} + +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *UpdateMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *UpdateMemberDetectorsOutput { + s.UnprocessedAccounts = v + return s +} + type UpdateOrganizationConfigurationInput struct { _ struct{} `type:"structure"` @@ -12658,6 +13813,9 @@ type UpdateOrganizationConfigurationInput struct { // AutoEnable is a required field AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` + // An object describes which data sources will be updated. + DataSources *OrganizationDataSourceConfigurations `locationName:"dataSources" type:"structure"` + // The ID of the detector to update the delegated administrator for. // // DetectorId is a required field @@ -12686,6 +13844,11 @@ func (s *UpdateOrganizationConfigurationInput) Validate() error { if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } + if s.DataSources != nil { + if err := s.DataSources.Validate(); err != nil { + invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -12699,6 +13862,12 @@ func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrga return s } +// SetDataSources sets the DataSources field's value. +func (s *UpdateOrganizationConfigurationInput) SetDataSources(v *OrganizationDataSourceConfigurations) *UpdateOrganizationConfigurationInput { + s.DataSources = v + return s +} + // SetDetectorId sets the DetectorId field's value. func (s *UpdateOrganizationConfigurationInput) SetDetectorId(v string) *UpdateOrganizationConfigurationInput { s.DetectorId = &v @@ -12909,6 +14078,219 @@ func (s UpdateThreatIntelSetOutput) GoString() string { return s.String() } +// Contains information on the total of usage based on account IDs. +type UsageAccountResult struct { + _ struct{} `type:"structure"` + + // The Account ID that generated usage. + AccountId *string `locationName:"accountId" min:"12" type:"string"` + + // Represents the total of usage for the Account ID. + Total *Total `locationName:"total" type:"structure"` +} + +// String returns the string representation +func (s UsageAccountResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageAccountResult) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *UsageAccountResult) SetAccountId(v string) *UsageAccountResult { + s.AccountId = &v + return s +} + +// SetTotal sets the Total field's value. +func (s *UsageAccountResult) SetTotal(v *Total) *UsageAccountResult { + s.Total = v + return s +} + +// Contains information about the criteria used to query usage statistics. +type UsageCriteria struct { + _ struct{} `type:"structure"` + + // The account IDs to aggregate usage statistics from. + AccountIds []*string `locationName:"accountIds" min:"1" type:"list"` + + // The data sources to aggregate usage statistics from. + // + // DataSources is a required field + DataSources []*string `locationName:"dataSources" type:"list" required:"true"` + + // The resources to aggregate usage statistics from. Only accepts exact resource + // names. + Resources []*string `locationName:"resources" type:"list"` +} + +// String returns the string representation +func (s UsageCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UsageCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UsageCriteria"} + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.DataSources == nil { + invalidParams.Add(request.NewErrParamRequired("DataSources")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *UsageCriteria) SetAccountIds(v []*string) *UsageCriteria { + s.AccountIds = v + return s +} + +// SetDataSources sets the DataSources field's value. +func (s *UsageCriteria) SetDataSources(v []*string) *UsageCriteria { + s.DataSources = v + return s +} + +// SetResources sets the Resources field's value. +func (s *UsageCriteria) SetResources(v []*string) *UsageCriteria { + s.Resources = v + return s +} + +// Contains information on the result of usage based on data source type. +type UsageDataSourceResult struct { + _ struct{} `type:"structure"` + + // The data source type that generated usage. + DataSource *string `locationName:"dataSource" type:"string" enum:"DataSource"` + + // Represents the total of usage for the specified data source. + Total *Total `locationName:"total" type:"structure"` +} + +// String returns the string representation +func (s UsageDataSourceResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageDataSourceResult) GoString() string { + return s.String() +} + +// SetDataSource sets the DataSource field's value. +func (s *UsageDataSourceResult) SetDataSource(v string) *UsageDataSourceResult { + s.DataSource = &v + return s +} + +// SetTotal sets the Total field's value. +func (s *UsageDataSourceResult) SetTotal(v *Total) *UsageDataSourceResult { + s.Total = v + return s +} + +// Contains information on the sum of usage based on an AWS resource. +type UsageResourceResult struct { + _ struct{} `type:"structure"` + + // The AWS resource that generated usage. + Resource *string `locationName:"resource" type:"string"` + + // Represents the sum total of usage for the specified resource type. + Total *Total `locationName:"total" type:"structure"` +} + +// String returns the string representation +func (s UsageResourceResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageResourceResult) GoString() string { + return s.String() +} + +// SetResource sets the Resource field's value. +func (s *UsageResourceResult) SetResource(v string) *UsageResourceResult { + s.Resource = &v + return s +} + +// SetTotal sets the Total field's value. +func (s *UsageResourceResult) SetTotal(v *Total) *UsageResourceResult { + s.Total = v + return s +} + +// Contains the result of GuardDuty usage. If a UsageStatisticType is provided +// the result for other types will be null. +type UsageStatistics struct { + _ struct{} `type:"structure"` + + // The usage statistic sum organized by account ID. + SumByAccount []*UsageAccountResult `locationName:"sumByAccount" type:"list"` + + // The usage statistic sum organized by on data source. + SumByDataSource []*UsageDataSourceResult `locationName:"sumByDataSource" type:"list"` + + // The usage statistic sum organized by resource. + SumByResource []*UsageResourceResult `locationName:"sumByResource" type:"list"` + + // Lists the top 50 resources that have generated the most GuardDuty usage, + // in order from most to least expensive. + TopResources []*UsageResourceResult `locationName:"topResources" type:"list"` +} + +// String returns the string representation +func (s UsageStatistics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageStatistics) GoString() string { + return s.String() +} + +// SetSumByAccount sets the SumByAccount field's value. +func (s *UsageStatistics) SetSumByAccount(v []*UsageAccountResult) *UsageStatistics { + s.SumByAccount = v + return s +} + +// SetSumByDataSource sets the SumByDataSource field's value. +func (s *UsageStatistics) SetSumByDataSource(v []*UsageDataSourceResult) *UsageStatistics { + s.SumByDataSource = v + return s +} + +// SetSumByResource sets the SumByResource field's value. +func (s *UsageStatistics) SetSumByResource(v []*UsageResourceResult) *UsageStatistics { + s.SumByResource = v + return s +} + +// SetTopResources sets the TopResources field's value. +func (s *UsageStatistics) SetTopResources(v []*UsageResourceResult) *UsageStatistics { + s.TopResources = v + return s +} + const ( // AdminStatusEnabled is a AdminStatus enum value AdminStatusEnabled = "ENABLED" @@ -12917,6 +14299,28 @@ const ( AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS" ) +const ( + // DataSourceFlowLogs is a DataSource enum value + DataSourceFlowLogs = "FLOW_LOGS" + + // DataSourceCloudTrail is a DataSource enum value + DataSourceCloudTrail = "CLOUD_TRAIL" + + // DataSourceDnsLogs is a DataSource enum value + DataSourceDnsLogs = "DNS_LOGS" + + // DataSourceS3Logs is a DataSource enum value + DataSourceS3Logs = "S3_LOGS" +) + +const ( + // DataSourceStatusEnabled is a DataSourceStatus enum value + DataSourceStatusEnabled = "ENABLED" + + // DataSourceStatusDisabled is a DataSourceStatus enum value + DataSourceStatusDisabled = "DISABLED" +) + const ( // DestinationTypeS3 is a DestinationType enum value DestinationTypeS3 = "S3" @@ -13069,3 +14473,17 @@ const ( // ThreatIntelSetStatusDeleted is a ThreatIntelSetStatus enum value ThreatIntelSetStatusDeleted = "DELETED" ) + +const ( + // UsageStatisticTypeSumByAccount is a UsageStatisticType enum value + UsageStatisticTypeSumByAccount = "SUM_BY_ACCOUNT" + + // UsageStatisticTypeSumByDataSource is a UsageStatisticType enum value + UsageStatisticTypeSumByDataSource = "SUM_BY_DATA_SOURCE" + + // UsageStatisticTypeSumByResource is a UsageStatisticType enum value + UsageStatisticTypeSumByResource = "SUM_BY_RESOURCE" + + // UsageStatisticTypeTopResources is a UsageStatisticType enum value + UsageStatisticTypeTopResources = "TOP_RESOURCES" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/api.go b/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/api.go index 9241f58c9a6..d3702242c19 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/api.go @@ -4859,6 +4859,9 @@ type AmiDistributionConfiguration struct { // The description of the distribution configuration. Description *string `locationName:"description" min:"1" type:"string"` + // The KMS key identifier used to encrypt the distributed image. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + // Launch permissions can be used to configure which AWS accounts can use the // AMI to launch instances. LaunchPermission *LaunchPermissionConfiguration `locationName:"launchPermission" type:"structure"` @@ -4886,6 +4889,9 @@ func (s *AmiDistributionConfiguration) Validate() error { if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -4908,6 +4914,12 @@ func (s *AmiDistributionConfiguration) SetDescription(v string) *AmiDistribution return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AmiDistributionConfiguration) SetKmsKeyId(v string) *AmiDistributionConfiguration { + s.KmsKeyId = &v + return s +} + // SetLaunchPermission sets the LaunchPermission field's value. func (s *AmiDistributionConfiguration) SetLaunchPermission(v *LaunchPermissionConfiguration) *AmiDistributionConfiguration { s.LaunchPermission = v @@ -9877,7 +9889,9 @@ func (s *InvalidVersionNumberException) RequestID() string { // Describes the configuration for a launch permission. The launch permission // modification request is sent to the EC2 ModifyImageAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html) // API on behalf of the user for each Region they have selected to distribute -// the AMI. +// the AMI. To make an AMI public, set the launch permission authorized accounts +// to all. See the examples for making an AMI public at EC2 ModifyImageAttribute +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html). type LaunchPermissionConfiguration struct { _ struct{} `type:"structure"` @@ -10147,6 +10161,8 @@ type ListDistributionConfigurationsInput struct { _ struct{} `type:"structure"` // The filters. + // + // * name - The name of this distribution configuration. Filters []*Filter `locationName:"filters" min:"1" type:"list"` // The maximum items to return in a request. diff --git a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go index 14ccdd1a6e4..e11f4c26d2a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go @@ -1826,6 +1826,103 @@ func (c *Kafka) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsF return out, req.Send() } +const opRebootBroker = "RebootBroker" + +// RebootBrokerRequest generates a "aws/request.Request" representing the +// client's request for the RebootBroker operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RebootBroker for more information on using the RebootBroker +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RebootBrokerRequest method. +// req, resp := client.RebootBrokerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker +func (c *Kafka) RebootBrokerRequest(input *RebootBrokerInput) (req *request.Request, output *RebootBrokerOutput) { + op := &request.Operation{ + Name: opRebootBroker, + HTTPMethod: "PUT", + HTTPPath: "/v1/clusters/{clusterArn}/reboot-broker", + } + + if input == nil { + input = &RebootBrokerInput{} + } + + output = &RebootBrokerOutput{} + req = c.newRequest(op, input, output) + return +} + +// RebootBroker API operation for Managed Streaming for Kafka. +// +// Executes a reboot on a broker. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation RebootBroker for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// Returns information about an error. +// +// * UnauthorizedException +// Returns information about an error. +// +// * InternalServerErrorException +// Returns information about an error. +// +// * ForbiddenException +// Returns information about an error. +// +// * NotFoundException +// Returns information about an error. +// +// * ServiceUnavailableException +// Returns information about an error. +// +// * TooManyRequestsException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker +func (c *Kafka) RebootBroker(input *RebootBrokerInput) (*RebootBrokerOutput, error) { + req, out := c.RebootBrokerRequest(input) + return out, req.Send() +} + +// RebootBrokerWithContext is the same as RebootBroker with the addition of +// the ability to pass a context and additional request options. +// +// See RebootBroker for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kafka) RebootBrokerWithContext(ctx aws.Context, input *RebootBrokerInput, opts ...request.Option) (*RebootBrokerOutput, error) { + req, out := c.RebootBrokerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -5960,6 +6057,93 @@ func (s *PrometheusInfo) SetNodeExporter(v *NodeExporterInfo) *PrometheusInfo { return s } +// Request body for RebootBrokerNode action. +type RebootBrokerInput struct { + _ struct{} `type:"structure"` + + // The list of broker ids to be rebooted. + // + // BrokerIds is a required field + BrokerIds []*string `locationName:"brokerIds" type:"list" required:"true"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s RebootBrokerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RebootBrokerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RebootBrokerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RebootBrokerInput"} + if s.BrokerIds == nil { + invalidParams.Add(request.NewErrParamRequired("BrokerIds")) + } + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrokerIds sets the BrokerIds field's value. +func (s *RebootBrokerInput) SetBrokerIds(v []*string) *RebootBrokerInput { + s.BrokerIds = v + return s +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *RebootBrokerInput) SetClusterArn(v string) *RebootBrokerInput { + s.ClusterArn = &v + return s +} + +// Response body for RebootBrokers action. +type RebootBrokerOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The Amazon Resource Name (ARN) of the cluster operation. + ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"` +} + +// String returns the string representation +func (s RebootBrokerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RebootBrokerOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *RebootBrokerOutput) SetClusterArn(v string) *RebootBrokerOutput { + s.ClusterArn = &v + return s +} + +// SetClusterOperationArn sets the ClusterOperationArn field's value. +func (s *RebootBrokerOutput) SetClusterOperationArn(v string) *RebootBrokerOutput { + s.ClusterOperationArn = &v + return s +} + // The details of the Amazon S3 destination for broker logs. type S3 struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go index 9ebd449de56..38e72bea595 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go @@ -3233,6 +3233,8 @@ func (c *Kinesis) SubscribeToShardWithContext(ctx aws.Context, input *SubscribeT return out, req.Send() } +var _ awserr.Error + // SubscribeToShardEventStream provides the event stream handling for the SubscribeToShard. type SubscribeToShardEventStream struct { @@ -3316,6 +3318,7 @@ func (e eventTypeForSubscribeToShardEventStreamOutputEvent) UnmarshalerForEventN // These events are: // // * SubscribeToShardEvent +// * SubscribeToShardEventStreamUnknownEvent func (es *SubscribeToShardEventStream) Events() <-chan SubscribeToShardEventStreamEvent { return es.Reader.Events() } @@ -5108,6 +5111,8 @@ func (s *InternalFailureException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *InternalFailureException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5251,6 +5256,8 @@ func (s *KMSAccessDeniedException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSAccessDeniedException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5336,6 +5343,8 @@ func (s *KMSDisabledException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSDisabledException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5423,6 +5432,8 @@ func (s *KMSInvalidStateException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSInvalidStateException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5508,6 +5519,8 @@ func (s *KMSNotFoundException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSNotFoundException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5592,6 +5605,8 @@ func (s *KMSOptInRequired) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSOptInRequired) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5678,6 +5693,8 @@ func (s *KMSThrottlingException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSThrottlingException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -7141,6 +7158,8 @@ func (s *ResourceInUseException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *ResourceInUseException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -7226,6 +7245,8 @@ func (s *ResourceNotFoundException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *ResourceNotFoundException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -8095,6 +8116,8 @@ func (s *SubscribeToShardEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *SubscribeToShardEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) var buf bytes.Buffer @@ -8125,6 +8148,7 @@ type SubscribeToShardEventStreamEvent interface { // These events are: // // * SubscribeToShardEvent +// * SubscribeToShardEventStreamUnknownEvent type SubscribeToShardEventStreamReader interface { // Returns a channel of events as they are read from the event stream. Events() <-chan SubscribeToShardEventStreamEvent @@ -8199,6 +8223,9 @@ func (r *readSubscribeToShardEventStream) readEventStream() { return default: } + if _, ok := err.(*eventstreamapi.UnknownMessageTypeError); ok { + continue + } r.err.SetError(err) return } @@ -8238,14 +8265,39 @@ func (u unmarshalerForSubscribeToShardEventStreamEvent) UnmarshalerForEventName( case "ResourceNotFoundException": return newErrorResourceNotFoundException(u.metadata).(eventstreamapi.Unmarshaler), nil default: - return nil, awserr.New( - request.ErrCodeSerialization, - fmt.Sprintf("unknown event type name, %s, for SubscribeToShardEventStream", eventType), - nil, - ) + return &SubscribeToShardEventStreamUnknownEvent{Type: eventType}, nil } } +// SubscribeToShardEventStreamUnknownEvent provides a failsafe event for the +// SubscribeToShardEventStream group of events when an unknown event is received. +type SubscribeToShardEventStreamUnknownEvent struct { + Type string + Message eventstream.Message +} + +// The SubscribeToShardEventStreamUnknownEvent is and event in the SubscribeToShardEventStream +// group of events. +func (s *SubscribeToShardEventStreamUnknownEvent) eventSubscribeToShardEventStream() {} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (e *SubscribeToShardEventStreamUnknownEvent) MarshalEvent(pm protocol.PayloadMarshaler) ( + msg eventstream.Message, err error, +) { + return e.Message.Clone(), nil +} + +// UnmarshalEvent unmarshals the EventStream Message into the SubscribeToShardEventStreamData value. +// This method is only used internally within the SDK's EventStream handling. +func (e *SubscribeToShardEventStreamUnknownEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + e.Message = msg.Clone() + return nil +} + type SubscribeToShardInput struct { _ struct{} `type:"structure"` @@ -8368,6 +8420,8 @@ func (s *SubscribeToShardOutput) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *SubscribeToShardOutput) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) var buf bytes.Buffer diff --git a/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go b/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go index fe19b68cbf5..801d489d6a3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go @@ -402,7 +402,8 @@ func (c *LakeFormation) GetDataLakeSettingsRequest(input *GetDataLakeSettingsInp // GetDataLakeSettings API operation for AWS Lake Formation. // -// The AWS Lake Formation principal. +// Retrieves the list of the data lake administrators of a Lake Formation-managed +// data lake. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -493,8 +494,9 @@ func (c *LakeFormation) GetEffectivePermissionsForPathRequest(input *GetEffectiv // GetEffectivePermissionsForPath API operation for AWS Lake Formation. // -// Returns the permissions for a specified table or database resource located -// at a path in Amazon S3. +// Returns the Lake Formation permissions for a specified table or database +// resource located at a path in Amazon S3. GetEffectivePermissionsForPath will +// not return databases and tables if the catalog is encrypted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -639,7 +641,7 @@ func (c *LakeFormation) GrantPermissionsRequest(input *GrantPermissionsInput) (r // and data organized in underlying data storage such as Amazon S3. // // For information about permissions, see Security and Access Control to Metadata -// and Data (https://docs-aws.amazon.com/michigan/latest/dg/security-data-access.html). +// and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.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 @@ -737,7 +739,7 @@ func (c *LakeFormation) ListPermissionsRequest(input *ListPermissionsInput) (req // This operation returns only those permissions that have been explicitly granted. // // For information about permissions, see Security and Access Control to Metadata -// and Data (https://docs-aws.amazon.com/michigan/latest/dg/security-data-access.html). +// and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.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 @@ -1018,7 +1020,13 @@ func (c *LakeFormation) PutDataLakeSettingsRequest(input *PutDataLakeSettingsInp // PutDataLakeSettings API operation for AWS Lake Formation. // -// The AWS Lake Formation principal. +// Sets the list of data lake administrators who have admin privileges on all +// resources managed by Lake Formation. For more information on admin privileges, +// see Granting Lake Formation Permissions (https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html). +// +// This API replaces the current list of data lake admins with the new list +// being passed. To add an admin, fetch the current list and add the new admin +// to that list and pass that list in 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 @@ -1112,6 +1120,15 @@ func (c *LakeFormation) RegisterResourceRequest(input *RegisterResourceInput) (r // you register subsequent paths, Lake Formation adds the path to the existing // policy. // +// The following request registers a new location and gives AWS Lake Formation +// permission to use the service-linked role to access that location. +// +// ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true +// +// If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn: +// +// arn:aws:iam::12345:role/my-data-access-role +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1780,7 +1797,8 @@ func (s *ConcurrentModificationException) RequestID() string { return s.RespMetadata.RequestID } -// The AWS Lake Formation principal. +// The AWS Lake Formation principal. Supported principals are IAM users or IAM +// roles. type DataLakePrincipal struct { _ struct{} `type:"structure"` @@ -1817,20 +1835,31 @@ func (s *DataLakePrincipal) SetDataLakePrincipalIdentifier(v string) *DataLakePr return s } -// The AWS Lake Formation principal. +// A structure representing a list of AWS Lake Formation principals designated +// as data lake administrators and lists of principal permission entries for +// default create database and default create table permissions. type DataLakeSettings struct { _ struct{} `type:"structure"` - // A list of up to three principal permissions entries for default create database - // permissions. + // A structure representing a list of up to three principal permissions entries + // for default create database permissions. CreateDatabaseDefaultPermissions []*PrincipalPermissions `type:"list"` - // A list of up to three principal permissions entries for default create table - // permissions. + // A structure representing a list of up to three principal permissions entries + // for default create table permissions. CreateTableDefaultPermissions []*PrincipalPermissions `type:"list"` - // A list of AWS Lake Formation principals. + // A list of AWS Lake Formation principals. Supported principals are IAM users + // or IAM roles. DataLakeAdmins []*DataLakePrincipal `type:"list"` + + // A list of the resource-owning account IDs that the caller's account can use + // to share their user access details (user ARNs). The user ARNs can be logged + // in the resource owner's AWS CloudTrail log. + // + // You may want to specify this property when you are in a high-trust boundary, + // such as the same team or company. + TrustedResourceOwners []*string `type:"list"` } // String returns the string representation @@ -1901,10 +1930,20 @@ func (s *DataLakeSettings) SetDataLakeAdmins(v []*DataLakePrincipal) *DataLakeSe return s } +// SetTrustedResourceOwners sets the TrustedResourceOwners field's value. +func (s *DataLakeSettings) SetTrustedResourceOwners(v []*string) *DataLakeSettings { + s.TrustedResourceOwners = v + return s +} + // A structure for a data location object where permissions are granted or revoked. type DataLocationResource struct { _ struct{} `type:"structure"` + // The identifier for the Data Catalog where the location is registered with + // AWS Lake Formation. By default, it is the account ID of the caller. + CatalogId *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) that uniquely identifies the data location // resource. // @@ -1925,6 +1964,9 @@ func (s DataLocationResource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DataLocationResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DataLocationResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } @@ -1935,6 +1977,12 @@ func (s *DataLocationResource) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *DataLocationResource) SetCatalogId(v string) *DataLocationResource { + s.CatalogId = &v + return s +} + // SetResourceArn sets the ResourceArn field's value. func (s *DataLocationResource) SetResourceArn(v string) *DataLocationResource { s.ResourceArn = &v @@ -1945,6 +1993,10 @@ func (s *DataLocationResource) SetResourceArn(v string) *DataLocationResource { type DatabaseResource struct { _ struct{} `type:"structure"` + // The identifier for the Data Catalog. By default, it is the account ID of + // the caller. + CatalogId *string `min:"1" type:"string"` + // The name of the database resource. Unique to the Data Catalog. // // Name is a required field @@ -1964,6 +2016,9 @@ func (s DatabaseResource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DatabaseResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DatabaseResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -1977,6 +2032,12 @@ func (s *DatabaseResource) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *DatabaseResource) SetCatalogId(v string) *DatabaseResource { + s.CatalogId = &v + return s +} + // SetName sets the Name field's value. func (s *DatabaseResource) SetName(v string) *DatabaseResource { s.Name = &v @@ -2271,7 +2332,8 @@ func (s *GetDataLakeSettingsInput) SetCatalogId(v string) *GetDataLakeSettingsIn type GetDataLakeSettingsOutput struct { _ struct{} `type:"structure"` - // A list of AWS Lake Formation principals. + // A structure representing a list of AWS Lake Formation principals designated + // as data lake administrators. DataLakeSettings *DataLakeSettings `type:"structure"` } @@ -3030,7 +3092,8 @@ type PutDataLakeSettingsInput struct { // Formation environment. CatalogId *string `min:"1" type:"string"` - // A list of AWS Lake Formation principals. + // A structure representing a list of AWS Lake Formation principals designated + // as data lake administrators. // // DataLakeSettings is a required field DataLakeSettings *DataLakeSettings `type:"structure" required:"true"` @@ -3101,11 +3164,14 @@ type RegisterResourceInput struct { // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` - // The identifier for the role. + // The identifier for the role that registers the resource. RoleArn *string `type:"string"` - // Designates a trusted caller, an IAM principal, by registering this caller - // with the Data Catalog. + // Designates an AWS Identity and Access Management (IAM) service-linked role + // by registering this role with the Data Catalog. A service-linked role is + // a unique type of IAM role that is linked directly to Lake Formation. + // + // For more information, see Using Service-Linked Roles for Lake Formation (https://docs-aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html). UseServiceLinkedRole *bool `type:"boolean"` } @@ -3314,7 +3380,7 @@ type RevokePermissionsInput struct { CatalogId *string `min:"1" type:"string"` // The permissions revoked to the principal on the resource. For information - // about permissions, see Security and Access Control to Metadata and Data (https://docs-aws.amazon.com/michigan/latest/dg/security-data-access.html). + // about permissions, see Security and Access Control to Metadata and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). // // Permissions is a required field Permissions []*string `type:"list" required:"true"` @@ -3425,6 +3491,10 @@ func (s RevokePermissionsOutput) GoString() string { type TableResource struct { _ struct{} `type:"structure"` + // The identifier for the Data Catalog. By default, it is the account ID of + // the caller. + CatalogId *string `min:"1" type:"string"` + // The name of the database for the table. Unique to a Data Catalog. A database // is a set of associated table definitions organized into a logical group. // You can Grant and Revoke database privileges to a principal. @@ -3433,9 +3503,12 @@ type TableResource struct { DatabaseName *string `min:"1" type:"string" required:"true"` // The name of the table. + Name *string `min:"1" type:"string"` + + // A wildcard object representing every table under a database. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // At least one of TableResource$Name or TableResource$TableWildcard is required. + TableWildcard *TableWildcard `type:"structure"` } // String returns the string representation @@ -3451,15 +3524,15 @@ func (s TableResource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *TableResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TableResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } if s.DatabaseName == nil { invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -3470,6 +3543,12 @@ func (s *TableResource) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *TableResource) SetCatalogId(v string) *TableResource { + s.CatalogId = &v + return s +} + // SetDatabaseName sets the DatabaseName field's value. func (s *TableResource) SetDatabaseName(v string) *TableResource { s.DatabaseName = &v @@ -3482,6 +3561,27 @@ func (s *TableResource) SetName(v string) *TableResource { return s } +// SetTableWildcard sets the TableWildcard field's value. +func (s *TableResource) SetTableWildcard(v *TableWildcard) *TableResource { + s.TableWildcard = v + return s +} + +// A wildcard object representing every table under a database. +type TableWildcard struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TableWildcard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableWildcard) GoString() string { + return s.String() +} + // A structure for a table with columns object. This object is only used when // granting a SELECT permission. // @@ -3490,6 +3590,10 @@ func (s *TableResource) SetName(v string) *TableResource { type TableWithColumnsResource struct { _ struct{} `type:"structure"` + // The identifier for the Data Catalog. By default, it is the account ID of + // the caller. + CatalogId *string `min:"1" type:"string"` + // The list of column names for the table. At least one of ColumnNames or ColumnWildcard // is required. ColumnNames []*string `type:"list"` @@ -3501,11 +3605,15 @@ type TableWithColumnsResource struct { // The name of the database for the table with columns resource. Unique to the // Data Catalog. A database is a set of associated table definitions organized // into a logical group. You can Grant and Revoke database privileges to a principal. - DatabaseName *string `min:"1" type:"string"` + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` // The name of the table resource. A table is a metadata definition that represents // your data. You can Grant and Revoke table privileges to a principal. - Name *string `min:"1" type:"string"` + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -3521,9 +3629,18 @@ func (s TableWithColumnsResource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *TableWithColumnsResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TableWithColumnsResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -3534,6 +3651,12 @@ func (s *TableWithColumnsResource) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *TableWithColumnsResource) SetCatalogId(v string) *TableWithColumnsResource { + s.CatalogId = &v + return s +} + // SetColumnNames sets the ColumnNames field's value. func (s *TableWithColumnsResource) SetColumnNames(v []*string) *TableWithColumnsResource { s.ColumnNames = v @@ -3703,6 +3826,9 @@ const ( // PermissionInsert is a Permission enum value PermissionInsert = "INSERT" + // PermissionDescribe is a Permission enum value + PermissionDescribe = "DESCRIBE" + // PermissionCreateDatabase is a Permission enum value PermissionCreateDatabase = "CREATE_DATABASE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go b/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go index 6bdd725ef20..314d92ed41f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go @@ -116,6 +116,118 @@ func (c *Lightsail) AllocateStaticIpWithContext(ctx aws.Context, input *Allocate return out, req.Send() } +const opAttachCertificateToDistribution = "AttachCertificateToDistribution" + +// AttachCertificateToDistributionRequest generates a "aws/request.Request" representing the +// client's request for the AttachCertificateToDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AttachCertificateToDistribution for more information on using the AttachCertificateToDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AttachCertificateToDistributionRequest method. +// req, resp := client.AttachCertificateToDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution +func (c *Lightsail) AttachCertificateToDistributionRequest(input *AttachCertificateToDistributionInput) (req *request.Request, output *AttachCertificateToDistributionOutput) { + op := &request.Operation{ + Name: opAttachCertificateToDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AttachCertificateToDistributionInput{} + } + + output = &AttachCertificateToDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// AttachCertificateToDistribution API operation for Amazon Lightsail. +// +// Attaches an SSL/TLS certificate to your Amazon Lightsail content delivery +// network (CDN) distribution. +// +// After the certificate is attached, your distribution accepts HTTPS traffic +// for all of the domains that are associated with the certificate. +// +// Use the CreateCertificate action to create a certificate that you can attach +// to your distribution. +// +// Only certificates created in the us-east-1 AWS Region can be attached to +// Lightsail distributions. Lightsail distributions are global resources that +// can reference an origin in any AWS Region, and distribute its content globally. +// However, all distributions are located in the us-east-1 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 +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation AttachCertificateToDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution +func (c *Lightsail) AttachCertificateToDistribution(input *AttachCertificateToDistributionInput) (*AttachCertificateToDistributionOutput, error) { + req, out := c.AttachCertificateToDistributionRequest(input) + return out, req.Send() +} + +// AttachCertificateToDistributionWithContext is the same as AttachCertificateToDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See AttachCertificateToDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) AttachCertificateToDistributionWithContext(ctx aws.Context, input *AttachCertificateToDistributionInput, opts ...request.Option) (*AttachCertificateToDistributionOutput, error) { + req, out := c.AttachCertificateToDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAttachDisk = "AttachDisk" // AttachDiskRequest generates a "aws/request.Request" representing the @@ -777,6 +889,112 @@ func (c *Lightsail) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshot return out, req.Send() } +const opCreateCertificate = "CreateCertificate" + +// CreateCertificateRequest generates a "aws/request.Request" representing the +// client's request for the CreateCertificate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCertificate for more information on using the CreateCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateCertificateRequest method. +// req, resp := client.CreateCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate +func (c *Lightsail) CreateCertificateRequest(input *CreateCertificateInput) (req *request.Request, output *CreateCertificateOutput) { + op := &request.Operation{ + Name: opCreateCertificate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCertificateInput{} + } + + output = &CreateCertificateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCertificate API operation for Amazon Lightsail. +// +// Creates an SSL/TLS certificate for a Amazon Lightsail content delivery network +// (CDN) distribution. +// +// After the certificate is created, use the AttachCertificateToDistribution +// action to attach the certificate to your distribution. +// +// Only certificates created in the us-east-1 AWS Region can be attached to +// Lightsail distributions. Lightsail distributions are global resources that +// can reference an origin in any AWS Region, and distribute its content globally. +// However, all distributions are located in the us-east-1 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 +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation CreateCertificate for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate +func (c *Lightsail) CreateCertificate(input *CreateCertificateInput) (*CreateCertificateOutput, error) { + req, out := c.CreateCertificateRequest(input) + return out, req.Send() +} + +// CreateCertificateWithContext is the same as CreateCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCertificate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) CreateCertificateWithContext(ctx aws.Context, input *CreateCertificateInput, opts ...request.Option) (*CreateCertificateOutput, error) { + req, out := c.CreateCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateCloudFormationStack = "CreateCloudFormationStack" // CreateCloudFormationStackRequest generates a "aws/request.Request" representing the @@ -1343,6 +1561,111 @@ func (c *Lightsail) CreateDiskSnapshotWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreateDistribution = "CreateDistribution" + +// CreateDistributionRequest generates a "aws/request.Request" representing the +// client's request for the CreateDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDistribution for more information on using the CreateDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDistributionRequest method. +// req, resp := client.CreateDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution +func (c *Lightsail) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) { + op := &request.Operation{ + Name: opCreateDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDistributionInput{} + } + + output = &CreateDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDistribution API operation for Amazon Lightsail. +// +// Creates an Amazon Lightsail content delivery network (CDN) distribution. +// +// A distribution is a globally distributed network of caching servers that +// improve the performance of your website or web application hosted on a Lightsail +// instance. For more information, see Content delivery networks in Amazon Lightsail +// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-content-delivery-networks). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation CreateDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution +func (c *Lightsail) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) { + req, out := c.CreateDistributionRequest(input) + return out, req.Send() +} + +// CreateDistributionWithContext is the same as CreateDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) CreateDistributionWithContext(ctx aws.Context, input *CreateDistributionInput, opts ...request.Option) (*CreateDistributionOutput, error) { + req, out := c.CreateDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDomain = "CreateDomain" // CreateDomainRequest generates a "aws/request.Request" representing the @@ -2752,55 +3075,157 @@ func (c *Lightsail) DeleteAutoSnapshotWithContext(ctx aws.Context, input *Delete return out, req.Send() } -const opDeleteContactMethod = "DeleteContactMethod" +const opDeleteCertificate = "DeleteCertificate" -// DeleteContactMethodRequest generates a "aws/request.Request" representing the -// client's request for the DeleteContactMethod operation. The "output" return +// DeleteCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCertificate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteContactMethod for more information on using the DeleteContactMethod +// See DeleteCertificate for more information on using the DeleteCertificate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteContactMethodRequest method. -// req, resp := client.DeleteContactMethodRequest(params) +// // Example sending a request using the DeleteCertificateRequest method. +// req, resp := client.DeleteCertificateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod -func (c *Lightsail) DeleteContactMethodRequest(input *DeleteContactMethodInput) (req *request.Request, output *DeleteContactMethodOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate +func (c *Lightsail) DeleteCertificateRequest(input *DeleteCertificateInput) (req *request.Request, output *DeleteCertificateOutput) { op := &request.Operation{ - Name: opDeleteContactMethod, + Name: opDeleteCertificate, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteContactMethodInput{} + input = &DeleteCertificateInput{} } - output = &DeleteContactMethodOutput{} + output = &DeleteCertificateOutput{} req = c.newRequest(op, input, output) return } -// DeleteContactMethod API operation for Amazon Lightsail. +// DeleteCertificate API operation for Amazon Lightsail. // -// Deletes a contact method. +// Deletes an SSL/TLS certificate for your Amazon Lightsail content delivery +// network (CDN) distribution. // -// A contact method is used to send you notifications about your Amazon Lightsail -// resources. You can add one email address and one mobile phone number contact -// method in each AWS Region. However, SMS text messaging is not supported in +// Certificates that are currently attached to a distribution cannot be deleted. +// Use the DetachCertificateFromDistribution action to detach a certificate +// from a distribution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation DeleteCertificate for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate +func (c *Lightsail) DeleteCertificate(input *DeleteCertificateInput) (*DeleteCertificateOutput, error) { + req, out := c.DeleteCertificateRequest(input) + return out, req.Send() +} + +// DeleteCertificateWithContext is the same as DeleteCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCertificate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertificateInput, opts ...request.Option) (*DeleteCertificateOutput, error) { + req, out := c.DeleteCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteContactMethod = "DeleteContactMethod" + +// DeleteContactMethodRequest generates a "aws/request.Request" representing the +// client's request for the DeleteContactMethod operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteContactMethod for more information on using the DeleteContactMethod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteContactMethodRequest method. +// req, resp := client.DeleteContactMethodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod +func (c *Lightsail) DeleteContactMethodRequest(input *DeleteContactMethodInput) (req *request.Request, output *DeleteContactMethodOutput) { + op := &request.Operation{ + Name: opDeleteContactMethod, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteContactMethodInput{} + } + + output = &DeleteContactMethodOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteContactMethod API operation for Amazon Lightsail. +// +// Deletes a contact method. +// +// A contact method is used to send you notifications about your Amazon Lightsail +// resources. You can add one email address and one mobile phone number contact +// method in each AWS Region. However, SMS text messaging is not supported in // some AWS Regions, and SMS text messages cannot be sent to some countries/regions. // For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). // @@ -3084,6 +3509,106 @@ func (c *Lightsail) DeleteDiskSnapshotWithContext(ctx aws.Context, input *Delete return out, req.Send() } +const opDeleteDistribution = "DeleteDistribution" + +// DeleteDistributionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDistribution for more information on using the DeleteDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDistributionRequest method. +// req, resp := client.DeleteDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution +func (c *Lightsail) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) { + op := &request.Operation{ + Name: opDeleteDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDistributionInput{} + } + + output = &DeleteDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDistribution API operation for Amazon Lightsail. +// +// Deletes your Amazon Lightsail content delivery network (CDN) distribution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation DeleteDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution +func (c *Lightsail) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) { + req, out := c.DeleteDistributionRequest(input) + return out, req.Send() +} + +// DeleteDistributionWithContext is the same as DeleteDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) DeleteDistributionWithContext(ctx aws.Context, input *DeleteDistributionInput, opts ...request.Option) (*DeleteDistributionOutput, error) { + req, out := c.DeleteDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDomain = "DeleteDomain" // DeleteDomainRequest generates a "aws/request.Request" representing the @@ -4170,6 +4695,110 @@ func (c *Lightsail) DeleteRelationalDatabaseSnapshotWithContext(ctx aws.Context, return out, req.Send() } +const opDetachCertificateFromDistribution = "DetachCertificateFromDistribution" + +// DetachCertificateFromDistributionRequest generates a "aws/request.Request" representing the +// client's request for the DetachCertificateFromDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DetachCertificateFromDistribution for more information on using the DetachCertificateFromDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DetachCertificateFromDistributionRequest method. +// req, resp := client.DetachCertificateFromDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution +func (c *Lightsail) DetachCertificateFromDistributionRequest(input *DetachCertificateFromDistributionInput) (req *request.Request, output *DetachCertificateFromDistributionOutput) { + op := &request.Operation{ + Name: opDetachCertificateFromDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DetachCertificateFromDistributionInput{} + } + + output = &DetachCertificateFromDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DetachCertificateFromDistribution API operation for Amazon Lightsail. +// +// Detaches an SSL/TLS certificate from your Amazon Lightsail content delivery +// network (CDN) distribution. +// +// After the certificate is detached, your distribution stops accepting traffic +// for all of the domains that are associated with the certificate. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation DetachCertificateFromDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution +func (c *Lightsail) DetachCertificateFromDistribution(input *DetachCertificateFromDistributionInput) (*DetachCertificateFromDistributionOutput, error) { + req, out := c.DetachCertificateFromDistributionRequest(input) + return out, req.Send() +} + +// DetachCertificateFromDistributionWithContext is the same as DetachCertificateFromDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See DetachCertificateFromDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) DetachCertificateFromDistributionWithContext(ctx aws.Context, input *DetachCertificateFromDistributionInput, opts ...request.Option) (*DetachCertificateFromDistributionOutput, error) { + req, out := c.DetachCertificateFromDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDetachDisk = "DetachDisk" // DetachDiskRequest generates a "aws/request.Request" representing the @@ -5450,17 +6079,118 @@ func (c *Lightsail) GetBundlesWithContext(ctx aws.Context, input *GetBundlesInpu return out, req.Send() } -const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords" +const opGetCertificates = "GetCertificates" -// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the -// client's request for the GetCloudFormationStackRecords operation. The "output" return +// GetCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the GetCertificates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords +// See GetCertificates for more information on using the GetCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCertificatesRequest method. +// req, resp := client.GetCertificatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates +func (c *Lightsail) GetCertificatesRequest(input *GetCertificatesInput) (req *request.Request, output *GetCertificatesOutput) { + op := &request.Operation{ + Name: opGetCertificates, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetCertificatesInput{} + } + + output = &GetCertificatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCertificates API operation for Amazon Lightsail. +// +// Returns information about one or more Amazon Lightsail SSL/TLS certificates. +// +// To get a summary of a certificate, ommit includeCertificateDetails from your +// request. The response will include only the certificate Amazon Resource Name +// (ARN), certificate name, domain name, and tags. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation GetCertificates for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates +func (c *Lightsail) GetCertificates(input *GetCertificatesInput) (*GetCertificatesOutput, error) { + req, out := c.GetCertificatesRequest(input) + return out, req.Send() +} + +// GetCertificatesWithContext is the same as GetCertificates with the addition of +// the ability to pass a context and additional request options. +// +// See GetCertificates for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) GetCertificatesWithContext(ctx aws.Context, input *GetCertificatesInput, opts ...request.Option) (*GetCertificatesOutput, error) { + req, out := c.GetCertificatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords" + +// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the +// client's request for the GetCloudFormationStackRecords operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration @@ -6083,58 +6813,62 @@ func (c *Lightsail) GetDisksWithContext(ctx aws.Context, input *GetDisksInput, o return out, req.Send() } -const opGetDomain = "GetDomain" +const opGetDistributionBundles = "GetDistributionBundles" -// GetDomainRequest generates a "aws/request.Request" representing the -// client's request for the GetDomain operation. The "output" return +// GetDistributionBundlesRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributionBundles operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetDomain for more information on using the GetDomain +// See GetDistributionBundles for more information on using the GetDistributionBundles // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetDomainRequest method. -// req, resp := client.GetDomainRequest(params) +// // Example sending a request using the GetDistributionBundlesRequest method. +// req, resp := client.GetDistributionBundlesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain -func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles +func (c *Lightsail) GetDistributionBundlesRequest(input *GetDistributionBundlesInput) (req *request.Request, output *GetDistributionBundlesOutput) { op := &request.Operation{ - Name: opGetDomain, + Name: opGetDistributionBundles, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetDomainInput{} + input = &GetDistributionBundlesInput{} } - output = &GetDomainOutput{} + output = &GetDistributionBundlesOutput{} req = c.newRequest(op, input, output) return } -// GetDomain API operation for Amazon Lightsail. +// GetDistributionBundles API operation for Amazon Lightsail. // -// Returns information about a specific domain recordset. +// Returns the list bundles that can be applied to you Amazon Lightsail content +// delivery network (CDN) distributions. +// +// A distribution bundle specifies the monthly network transfer quota and monthly +// cost of your dsitribution. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetDomain for usage and error information. +// API operation GetDistributionBundles for usage and error information. // // Returned Error Types: // * ServiceException @@ -6158,87 +6892,84 @@ func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Reques // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain -func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) { - req, out := c.GetDomainRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles +func (c *Lightsail) GetDistributionBundles(input *GetDistributionBundlesInput) (*GetDistributionBundlesOutput, error) { + req, out := c.GetDistributionBundlesRequest(input) return out, req.Send() } -// GetDomainWithContext is the same as GetDomain with the addition of +// GetDistributionBundlesWithContext is the same as GetDistributionBundles with the addition of // the ability to pass a context and additional request options. // -// See GetDomain for details on how to use this API operation. +// See GetDistributionBundles for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) { - req, out := c.GetDomainRequest(input) +func (c *Lightsail) GetDistributionBundlesWithContext(ctx aws.Context, input *GetDistributionBundlesInput, opts ...request.Option) (*GetDistributionBundlesOutput, error) { + req, out := c.GetDistributionBundlesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetDomains = "GetDomains" +const opGetDistributionLatestCacheReset = "GetDistributionLatestCacheReset" -// GetDomainsRequest generates a "aws/request.Request" representing the -// client's request for the GetDomains operation. The "output" return +// GetDistributionLatestCacheResetRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributionLatestCacheReset operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetDomains for more information on using the GetDomains +// See GetDistributionLatestCacheReset for more information on using the GetDistributionLatestCacheReset // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetDomainsRequest method. -// req, resp := client.GetDomainsRequest(params) +// // Example sending a request using the GetDistributionLatestCacheResetRequest method. +// req, resp := client.GetDistributionLatestCacheResetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains -func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset +func (c *Lightsail) GetDistributionLatestCacheResetRequest(input *GetDistributionLatestCacheResetInput) (req *request.Request, output *GetDistributionLatestCacheResetOutput) { op := &request.Operation{ - Name: opGetDomains, + Name: opGetDistributionLatestCacheReset, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetDomainsInput{} + input = &GetDistributionLatestCacheResetInput{} } - output = &GetDomainsOutput{} + output = &GetDistributionLatestCacheResetOutput{} req = c.newRequest(op, input, output) return } -// GetDomains API operation for Amazon Lightsail. +// GetDistributionLatestCacheReset API operation for Amazon Lightsail. // -// Returns a list of all domains in the user's account. +// Returns the timestamp and status of the last cache reset of a specific Amazon +// Lightsail content delivery network (CDN) distribution. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetDomains for usage and error information. +// API operation GetDistributionLatestCacheReset for usage and error information. // // Returned Error Types: // * ServiceException @@ -6262,91 +6993,88 @@ func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Requ // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains -func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) { - req, out := c.GetDomainsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset +func (c *Lightsail) GetDistributionLatestCacheReset(input *GetDistributionLatestCacheResetInput) (*GetDistributionLatestCacheResetOutput, error) { + req, out := c.GetDistributionLatestCacheResetRequest(input) return out, req.Send() } -// GetDomainsWithContext is the same as GetDomains with the addition of +// GetDistributionLatestCacheResetWithContext is the same as GetDistributionLatestCacheReset with the addition of // the ability to pass a context and additional request options. // -// See GetDomains for details on how to use this API operation. +// See GetDistributionLatestCacheReset for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) { - req, out := c.GetDomainsRequest(input) +func (c *Lightsail) GetDistributionLatestCacheResetWithContext(ctx aws.Context, input *GetDistributionLatestCacheResetInput, opts ...request.Option) (*GetDistributionLatestCacheResetOutput, error) { + req, out := c.GetDistributionLatestCacheResetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetExportSnapshotRecords = "GetExportSnapshotRecords" +const opGetDistributionMetricData = "GetDistributionMetricData" -// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the -// client's request for the GetExportSnapshotRecords operation. The "output" return +// GetDistributionMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributionMetricData operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords +// See GetDistributionMetricData for more information on using the GetDistributionMetricData // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetExportSnapshotRecordsRequest method. -// req, resp := client.GetExportSnapshotRecordsRequest(params) +// // Example sending a request using the GetDistributionMetricDataRequest method. +// req, resp := client.GetDistributionMetricDataRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords -func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData +func (c *Lightsail) GetDistributionMetricDataRequest(input *GetDistributionMetricDataInput) (req *request.Request, output *GetDistributionMetricDataOutput) { op := &request.Operation{ - Name: opGetExportSnapshotRecords, + Name: opGetDistributionMetricData, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetExportSnapshotRecordsInput{} + input = &GetDistributionMetricDataInput{} } - output = &GetExportSnapshotRecordsOutput{} + output = &GetDistributionMetricDataOutput{} req = c.newRequest(op, input, output) return } -// GetExportSnapshotRecords API operation for Amazon Lightsail. +// GetDistributionMetricData API operation for Amazon Lightsail. // -// Returns the export snapshot record created as a result of the export snapshot -// operation. +// Returns the data points of a specific metric for an Amazon Lightsail content +// delivery network (CDN) distribution. // -// An export snapshot record can be used to create a new Amazon EC2 instance -// and its related resources with the create cloud formation stack operation. +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your resources. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetExportSnapshotRecords for usage and error information. +// API operation GetDistributionMetricData for usage and error information. // // Returned Error Types: // * ServiceException @@ -6370,88 +7098,84 @@ func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotReco // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords -func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) { - req, out := c.GetExportSnapshotRecordsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData +func (c *Lightsail) GetDistributionMetricData(input *GetDistributionMetricDataInput) (*GetDistributionMetricDataOutput, error) { + req, out := c.GetDistributionMetricDataRequest(input) return out, req.Send() } -// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of +// GetDistributionMetricDataWithContext is the same as GetDistributionMetricData with the addition of // the ability to pass a context and additional request options. // -// See GetExportSnapshotRecords for details on how to use this API operation. +// See GetDistributionMetricData for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) { - req, out := c.GetExportSnapshotRecordsRequest(input) +func (c *Lightsail) GetDistributionMetricDataWithContext(ctx aws.Context, input *GetDistributionMetricDataInput, opts ...request.Option) (*GetDistributionMetricDataOutput, error) { + req, out := c.GetDistributionMetricDataRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstance = "GetInstance" +const opGetDistributions = "GetDistributions" -// GetInstanceRequest generates a "aws/request.Request" representing the -// client's request for the GetInstance operation. The "output" return +// GetDistributionsRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstance for more information on using the GetInstance +// See GetDistributions for more information on using the GetDistributions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceRequest method. -// req, resp := client.GetInstanceRequest(params) +// // Example sending a request using the GetDistributionsRequest method. +// req, resp := client.GetDistributionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance -func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions +func (c *Lightsail) GetDistributionsRequest(input *GetDistributionsInput) (req *request.Request, output *GetDistributionsOutput) { op := &request.Operation{ - Name: opGetInstance, + Name: opGetDistributions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceInput{} + input = &GetDistributionsInput{} } - output = &GetInstanceOutput{} + output = &GetDistributionsOutput{} req = c.newRequest(op, input, output) return } -// GetInstance API operation for Amazon Lightsail. +// GetDistributions API operation for Amazon Lightsail. // -// Returns information about a specific Amazon Lightsail instance, which is -// a virtual private server. +// Returns information about one or more of your Amazon Lightsail content delivery +// network (CDN) distributions. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetInstance for usage and error information. +// API operation GetDistributions for usage and error information. // // Returned Error Types: // * ServiceException @@ -6475,92 +7199,83 @@ func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Re // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance -func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) { - req, out := c.GetInstanceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions +func (c *Lightsail) GetDistributions(input *GetDistributionsInput) (*GetDistributionsOutput, error) { + req, out := c.GetDistributionsRequest(input) return out, req.Send() } -// GetInstanceWithContext is the same as GetInstance with the addition of +// GetDistributionsWithContext is the same as GetDistributions with the addition of // the ability to pass a context and additional request options. // -// See GetInstance for details on how to use this API operation. +// See GetDistributions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) { - req, out := c.GetInstanceRequest(input) +func (c *Lightsail) GetDistributionsWithContext(ctx aws.Context, input *GetDistributionsInput, opts ...request.Option) (*GetDistributionsOutput, error) { + req, out := c.GetDistributionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceAccessDetails = "GetInstanceAccessDetails" +const opGetDomain = "GetDomain" -// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceAccessDetails operation. The "output" return +// GetDomainRequest generates a "aws/request.Request" representing the +// client's request for the GetDomain operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails +// See GetDomain for more information on using the GetDomain // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceAccessDetailsRequest method. -// req, resp := client.GetInstanceAccessDetailsRequest(params) +// // Example sending a request using the GetDomainRequest method. +// req, resp := client.GetDomainRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails -func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain +func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) { op := &request.Operation{ - Name: opGetInstanceAccessDetails, + Name: opGetDomain, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceAccessDetailsInput{} + input = &GetDomainInput{} } - output = &GetInstanceAccessDetailsOutput{} + output = &GetDomainOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceAccessDetails API operation for Amazon Lightsail. -// -// Returns temporary SSH keys you can use to connect to a specific virtual private -// server, or instance. +// GetDomain API operation for Amazon Lightsail. // -// The get instance access details operation supports tag-based access control -// via resource tags applied to the resource identified by instance name. For -// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Returns information about a specific domain recordset. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetInstanceAccessDetails for usage and error information. +// API operation GetDomain for usage and error information. // // Returned Error Types: // * ServiceException @@ -6591,85 +7306,80 @@ func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDeta // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails -func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) { - req, out := c.GetInstanceAccessDetailsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain +func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) { + req, out := c.GetDomainRequest(input) return out, req.Send() } -// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of +// GetDomainWithContext is the same as GetDomain with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceAccessDetails for details on how to use this API operation. +// See GetDomain for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) { - req, out := c.GetInstanceAccessDetailsRequest(input) +func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) { + req, out := c.GetDomainRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceMetricData = "GetInstanceMetricData" +const opGetDomains = "GetDomains" -// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceMetricData operation. The "output" return +// GetDomainsRequest generates a "aws/request.Request" representing the +// client's request for the GetDomains operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceMetricData for more information on using the GetInstanceMetricData +// See GetDomains for more information on using the GetDomains // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceMetricDataRequest method. -// req, resp := client.GetInstanceMetricDataRequest(params) +// // Example sending a request using the GetDomainsRequest method. +// req, resp := client.GetDomainsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData -func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains +func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) { op := &request.Operation{ - Name: opGetInstanceMetricData, + Name: opGetDomains, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceMetricDataInput{} + input = &GetDomainsInput{} } - output = &GetInstanceMetricDataOutput{} + output = &GetDomainsOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceMetricData API operation for Amazon Lightsail. -// -// Returns the data points for the specified Amazon Lightsail instance metric, -// given an instance name. +// GetDomains API operation for Amazon Lightsail. // -// Metrics report the utilization of your resources, and the error counts generated -// by them. Monitor and collect metric data regularly to maintain the reliability, -// availability, and performance of your resources. +// Returns a list of all domains in the user's account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetInstanceMetricData for usage and error information. +// API operation GetDomains for usage and error information. // // Returned Error Types: // * ServiceException @@ -6700,82 +7410,84 @@ func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInp // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData -func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) { - req, out := c.GetInstanceMetricDataRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains +func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) { + req, out := c.GetDomainsRequest(input) return out, req.Send() } -// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of +// GetDomainsWithContext is the same as GetDomains with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceMetricData for details on how to use this API operation. +// See GetDomains for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) { - req, out := c.GetInstanceMetricDataRequest(input) +func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) { + req, out := c.GetDomainsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstancePortStates = "GetInstancePortStates" +const opGetExportSnapshotRecords = "GetExportSnapshotRecords" -// GetInstancePortStatesRequest generates a "aws/request.Request" representing the -// client's request for the GetInstancePortStates operation. The "output" return +// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the +// client's request for the GetExportSnapshotRecords operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstancePortStates for more information on using the GetInstancePortStates +// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstancePortStatesRequest method. -// req, resp := client.GetInstancePortStatesRequest(params) +// // Example sending a request using the GetExportSnapshotRecordsRequest method. +// req, resp := client.GetExportSnapshotRecordsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates -func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords +func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) { op := &request.Operation{ - Name: opGetInstancePortStates, + Name: opGetExportSnapshotRecords, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstancePortStatesInput{} + input = &GetExportSnapshotRecordsInput{} } - output = &GetInstancePortStatesOutput{} + output = &GetExportSnapshotRecordsOutput{} req = c.newRequest(op, input, output) return } -// GetInstancePortStates API operation for Amazon Lightsail. +// GetExportSnapshotRecords API operation for Amazon Lightsail. // -// Returns the firewall port states for a specific Amazon Lightsail instance, -// the IP addresses allowed to connect to the instance through the ports, and -// the protocol. +// Returns the export snapshot record created as a result of the export snapshot +// operation. +// +// An export snapshot record can be used to create a new Amazon EC2 instance +// and its related resources with the create cloud formation stack 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 Lightsail's -// API operation GetInstancePortStates for usage and error information. +// API operation GetExportSnapshotRecords for usage and error information. // // Returned Error Types: // * ServiceException @@ -6806,80 +7518,81 @@ func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInp // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates -func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) { - req, out := c.GetInstancePortStatesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords +func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) { + req, out := c.GetExportSnapshotRecordsRequest(input) return out, req.Send() } -// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of +// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of // the ability to pass a context and additional request options. // -// See GetInstancePortStates for details on how to use this API operation. +// See GetExportSnapshotRecords for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) { - req, out := c.GetInstancePortStatesRequest(input) +func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) { + req, out := c.GetExportSnapshotRecordsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceSnapshot = "GetInstanceSnapshot" +const opGetInstance = "GetInstance" -// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceSnapshot operation. The "output" return +// GetInstanceRequest generates a "aws/request.Request" representing the +// client's request for the GetInstance operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot +// See GetInstance for more information on using the GetInstance // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceSnapshotRequest method. -// req, resp := client.GetInstanceSnapshotRequest(params) +// // Example sending a request using the GetInstanceRequest method. +// req, resp := client.GetInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot -func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance +func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) { op := &request.Operation{ - Name: opGetInstanceSnapshot, + Name: opGetInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceSnapshotInput{} + input = &GetInstanceInput{} } - output = &GetInstanceSnapshotOutput{} + output = &GetInstanceOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceSnapshot API operation for Amazon Lightsail. +// GetInstance API operation for Amazon Lightsail. // -// Returns information about a specific instance snapshot. +// Returns information about a specific Amazon Lightsail instance, which is +// a virtual private server. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetInstanceSnapshot for usage and error information. +// API operation GetInstance for usage and error information. // // Returned Error Types: // * ServiceException @@ -6910,80 +7623,85 @@ func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot -func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) { - req, out := c.GetInstanceSnapshotRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance +func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) { + req, out := c.GetInstanceRequest(input) return out, req.Send() } -// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of +// GetInstanceWithContext is the same as GetInstance with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceSnapshot for details on how to use this API operation. +// See GetInstance for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) { - req, out := c.GetInstanceSnapshotRequest(input) +func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) { + req, out := c.GetInstanceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceSnapshots = "GetInstanceSnapshots" +const opGetInstanceAccessDetails = "GetInstanceAccessDetails" -// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceSnapshots operation. The "output" return +// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceAccessDetails operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots +// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceSnapshotsRequest method. -// req, resp := client.GetInstanceSnapshotsRequest(params) +// // Example sending a request using the GetInstanceAccessDetailsRequest method. +// req, resp := client.GetInstanceAccessDetailsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots -func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails +func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) { op := &request.Operation{ - Name: opGetInstanceSnapshots, + Name: opGetInstanceAccessDetails, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceSnapshotsInput{} + input = &GetInstanceAccessDetailsInput{} } - output = &GetInstanceSnapshotsOutput{} + output = &GetInstanceAccessDetailsOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceSnapshots API operation for Amazon Lightsail. +// GetInstanceAccessDetails API operation for Amazon Lightsail. // -// Returns all instance snapshots for the user's account. +// Returns temporary SSH keys you can use to connect to a specific virtual private +// server, or instance. +// +// The get instance access details operation supports tag-based access control +// via resource tags applied to the resource identified by instance name. For +// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetInstanceSnapshots for usage and error information. +// API operation GetInstanceAccessDetails for usage and error information. // // Returned Error Types: // * ServiceException @@ -7014,80 +7732,85 @@ func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots -func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) { - req, out := c.GetInstanceSnapshotsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails +func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) { + req, out := c.GetInstanceAccessDetailsRequest(input) return out, req.Send() } -// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of +// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceSnapshots for details on how to use this API operation. +// See GetInstanceAccessDetails for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) { - req, out := c.GetInstanceSnapshotsRequest(input) +func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) { + req, out := c.GetInstanceAccessDetailsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceState = "GetInstanceState" +const opGetInstanceMetricData = "GetInstanceMetricData" -// GetInstanceStateRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceState operation. The "output" return +// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceMetricData operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceState for more information on using the GetInstanceState +// See GetInstanceMetricData for more information on using the GetInstanceMetricData // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceStateRequest method. -// req, resp := client.GetInstanceStateRequest(params) +// // Example sending a request using the GetInstanceMetricDataRequest method. +// req, resp := client.GetInstanceMetricDataRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState -func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData +func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) { op := &request.Operation{ - Name: opGetInstanceState, + Name: opGetInstanceMetricData, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceStateInput{} + input = &GetInstanceMetricDataInput{} } - output = &GetInstanceStateOutput{} + output = &GetInstanceMetricDataOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceState API operation for Amazon Lightsail. +// GetInstanceMetricData API operation for Amazon Lightsail. // -// Returns the state of a specific instance. Works on one instance at a time. +// Returns the data points for the specified Amazon Lightsail instance metric, +// given an instance name. +// +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your resources. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetInstanceState for usage and error information. +// API operation GetInstanceMetricData for usage and error information. // // Returned Error Types: // * ServiceException @@ -7118,81 +7841,82 @@ func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req * // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState -func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) { - req, out := c.GetInstanceStateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData +func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) { + req, out := c.GetInstanceMetricDataRequest(input) return out, req.Send() } -// GetInstanceStateWithContext is the same as GetInstanceState with the addition of +// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceState for details on how to use this API operation. +// See GetInstanceMetricData for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) { - req, out := c.GetInstanceStateRequest(input) +func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) { + req, out := c.GetInstanceMetricDataRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstances = "GetInstances" +const opGetInstancePortStates = "GetInstancePortStates" -// GetInstancesRequest generates a "aws/request.Request" representing the -// client's request for the GetInstances operation. The "output" return +// GetInstancePortStatesRequest generates a "aws/request.Request" representing the +// client's request for the GetInstancePortStates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstances for more information on using the GetInstances +// See GetInstancePortStates for more information on using the GetInstancePortStates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstancesRequest method. -// req, resp := client.GetInstancesRequest(params) +// // Example sending a request using the GetInstancePortStatesRequest method. +// req, resp := client.GetInstancePortStatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances -func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates +func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) { op := &request.Operation{ - Name: opGetInstances, + Name: opGetInstancePortStates, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstancesInput{} + input = &GetInstancePortStatesInput{} } - output = &GetInstancesOutput{} + output = &GetInstancePortStatesOutput{} req = c.newRequest(op, input, output) return } -// GetInstances API operation for Amazon Lightsail. +// GetInstancePortStates API operation for Amazon Lightsail. // -// Returns information about all Amazon Lightsail virtual private servers, or -// instances. +// Returns the firewall port states for a specific Amazon Lightsail instance, +// the IP addresses allowed to connect to the instance through the ports, and +// the protocol. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetInstances for usage and error information. +// API operation GetInstancePortStates for usage and error information. // // Returned Error Types: // * ServiceException @@ -7223,80 +7947,80 @@ func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request. // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances -func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) { - req, out := c.GetInstancesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates +func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) { + req, out := c.GetInstancePortStatesRequest(input) return out, req.Send() } -// GetInstancesWithContext is the same as GetInstances with the addition of +// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of // the ability to pass a context and additional request options. // -// See GetInstances for details on how to use this API operation. +// See GetInstancePortStates for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) { - req, out := c.GetInstancesRequest(input) - req.SetContext(ctx) +func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) { + req, out := c.GetInstancePortStatesRequest(input) + req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetKeyPair = "GetKeyPair" +const opGetInstanceSnapshot = "GetInstanceSnapshot" -// GetKeyPairRequest generates a "aws/request.Request" representing the -// client's request for the GetKeyPair operation. The "output" return +// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceSnapshot operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetKeyPair for more information on using the GetKeyPair +// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetKeyPairRequest method. -// req, resp := client.GetKeyPairRequest(params) +// // Example sending a request using the GetInstanceSnapshotRequest method. +// req, resp := client.GetInstanceSnapshotRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair -func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot +func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) { op := &request.Operation{ - Name: opGetKeyPair, + Name: opGetInstanceSnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetKeyPairInput{} + input = &GetInstanceSnapshotInput{} } - output = &GetKeyPairOutput{} + output = &GetInstanceSnapshotOutput{} req = c.newRequest(op, input, output) return } -// GetKeyPair API operation for Amazon Lightsail. +// GetInstanceSnapshot API operation for Amazon Lightsail. // -// Returns information about a specific key pair. +// Returns information about a specific instance snapshot. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetKeyPair for usage and error information. +// API operation GetInstanceSnapshot for usage and error information. // // Returned Error Types: // * ServiceException @@ -7327,80 +8051,80 @@ func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Requ // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair -func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) { - req, out := c.GetKeyPairRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot +func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) { + req, out := c.GetInstanceSnapshotRequest(input) return out, req.Send() } -// GetKeyPairWithContext is the same as GetKeyPair with the addition of +// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of // the ability to pass a context and additional request options. // -// See GetKeyPair for details on how to use this API operation. +// See GetInstanceSnapshot for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) { - req, out := c.GetKeyPairRequest(input) +func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) { + req, out := c.GetInstanceSnapshotRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetKeyPairs = "GetKeyPairs" +const opGetInstanceSnapshots = "GetInstanceSnapshots" -// GetKeyPairsRequest generates a "aws/request.Request" representing the -// client's request for the GetKeyPairs operation. The "output" return +// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceSnapshots operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetKeyPairs for more information on using the GetKeyPairs +// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetKeyPairsRequest method. -// req, resp := client.GetKeyPairsRequest(params) +// // Example sending a request using the GetInstanceSnapshotsRequest method. +// req, resp := client.GetInstanceSnapshotsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs -func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots +func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) { op := &request.Operation{ - Name: opGetKeyPairs, + Name: opGetInstanceSnapshots, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetKeyPairsInput{} + input = &GetInstanceSnapshotsInput{} } - output = &GetKeyPairsOutput{} + output = &GetInstanceSnapshotsOutput{} req = c.newRequest(op, input, output) return } -// GetKeyPairs API operation for Amazon Lightsail. +// GetInstanceSnapshots API operation for Amazon Lightsail. // -// Returns information about all key pairs in the user's account. +// Returns all instance snapshots for the user's account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetKeyPairs for usage and error information. +// API operation GetInstanceSnapshots for usage and error information. // // Returned Error Types: // * ServiceException @@ -7431,80 +8155,80 @@ func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Re // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs -func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) { - req, out := c.GetKeyPairsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots +func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) { + req, out := c.GetInstanceSnapshotsRequest(input) return out, req.Send() } -// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of +// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of // the ability to pass a context and additional request options. // -// See GetKeyPairs for details on how to use this API operation. +// See GetInstanceSnapshots for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) { - req, out := c.GetKeyPairsRequest(input) +func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) { + req, out := c.GetInstanceSnapshotsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetLoadBalancer = "GetLoadBalancer" +const opGetInstanceState = "GetInstanceState" -// GetLoadBalancerRequest generates a "aws/request.Request" representing the -// client's request for the GetLoadBalancer operation. The "output" return +// GetInstanceStateRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceState operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetLoadBalancer for more information on using the GetLoadBalancer +// See GetInstanceState for more information on using the GetInstanceState // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetLoadBalancerRequest method. -// req, resp := client.GetLoadBalancerRequest(params) +// // Example sending a request using the GetInstanceStateRequest method. +// req, resp := client.GetInstanceStateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer -func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState +func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) { op := &request.Operation{ - Name: opGetLoadBalancer, + Name: opGetInstanceState, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetLoadBalancerInput{} + input = &GetInstanceStateInput{} } - output = &GetLoadBalancerOutput{} + output = &GetInstanceStateOutput{} req = c.newRequest(op, input, output) return } -// GetLoadBalancer API operation for Amazon Lightsail. +// GetInstanceState API operation for Amazon Lightsail. // -// Returns information about the specified Lightsail load balancer. +// Returns the state of a specific instance. Works on one instance at a time. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetLoadBalancer for usage and error information. +// API operation GetInstanceState for usage and error information. // // Returned Error Types: // * ServiceException @@ -7535,84 +8259,81 @@ func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *re // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer -func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) { - req, out := c.GetLoadBalancerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState +func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) { + req, out := c.GetInstanceStateRequest(input) return out, req.Send() } -// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of +// GetInstanceStateWithContext is the same as GetInstanceState with the addition of // the ability to pass a context and additional request options. // -// See GetLoadBalancer for details on how to use this API operation. +// See GetInstanceState for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) { - req, out := c.GetLoadBalancerRequest(input) +func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) { + req, out := c.GetInstanceStateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData" +const opGetInstances = "GetInstances" -// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the -// client's request for the GetLoadBalancerMetricData operation. The "output" return +// GetInstancesRequest generates a "aws/request.Request" representing the +// client's request for the GetInstances operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData +// See GetInstances for more information on using the GetInstances // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetLoadBalancerMetricDataRequest method. -// req, resp := client.GetLoadBalancerMetricDataRequest(params) +// // Example sending a request using the GetInstancesRequest method. +// req, resp := client.GetInstancesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData -func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances +func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) { op := &request.Operation{ - Name: opGetLoadBalancerMetricData, + Name: opGetInstances, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetLoadBalancerMetricDataInput{} + input = &GetInstancesInput{} } - output = &GetLoadBalancerMetricDataOutput{} + output = &GetInstancesOutput{} req = c.newRequest(op, input, output) return } -// GetLoadBalancerMetricData API operation for Amazon Lightsail. -// -// Returns information about health metrics for your Lightsail load balancer. +// GetInstances API operation for Amazon Lightsail. // -// Metrics report the utilization of your resources, and the error counts generated -// by them. Monitor and collect metric data regularly to maintain the reliability, -// availability, and performance of your resources. +// Returns information about all Amazon Lightsail virtual private servers, or +// instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetLoadBalancerMetricData for usage and error information. +// API operation GetInstances for usage and error information. // // Returned Error Types: // * ServiceException @@ -7643,86 +8364,80 @@ func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetri // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData -func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) { - req, out := c.GetLoadBalancerMetricDataRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances +func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) { + req, out := c.GetInstancesRequest(input) return out, req.Send() } -// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of +// GetInstancesWithContext is the same as GetInstances with the addition of // the ability to pass a context and additional request options. // -// See GetLoadBalancerMetricData for details on how to use this API operation. +// See GetInstances for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) { - req, out := c.GetLoadBalancerMetricDataRequest(input) +func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) { + req, out := c.GetInstancesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates" +const opGetKeyPair = "GetKeyPair" -// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the -// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return +// GetKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyPair operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates +// See GetKeyPair for more information on using the GetKeyPair // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method. -// req, resp := client.GetLoadBalancerTlsCertificatesRequest(params) +// // Example sending a request using the GetKeyPairRequest method. +// req, resp := client.GetKeyPairRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates -func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair +func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) { op := &request.Operation{ - Name: opGetLoadBalancerTlsCertificates, + Name: opGetKeyPair, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetLoadBalancerTlsCertificatesInput{} + input = &GetKeyPairInput{} } - output = &GetLoadBalancerTlsCertificatesOutput{} + output = &GetKeyPairOutput{} req = c.newRequest(op, input, output) return } -// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail. -// -// Returns information about the TLS certificates that are associated with the -// specified Lightsail load balancer. -// -// TLS is just an updated, more secure version of Secure Socket Layer (SSL). +// GetKeyPair API operation for Amazon Lightsail. // -// You can have a maximum of 2 certificates associated with a Lightsail load -// balancer. One is active and the other is inactive. +// Returns information about a specific key pair. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetLoadBalancerTlsCertificates for usage and error information. +// API operation GetKeyPair for usage and error information. // // Returned Error Types: // * ServiceException @@ -7753,80 +8468,80 @@ func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancer // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates -func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) { - req, out := c.GetLoadBalancerTlsCertificatesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair +func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) { + req, out := c.GetKeyPairRequest(input) return out, req.Send() } -// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of +// GetKeyPairWithContext is the same as GetKeyPair with the addition of // the ability to pass a context and additional request options. // -// See GetLoadBalancerTlsCertificates for details on how to use this API operation. +// See GetKeyPair for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) { - req, out := c.GetLoadBalancerTlsCertificatesRequest(input) +func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) { + req, out := c.GetKeyPairRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetLoadBalancers = "GetLoadBalancers" +const opGetKeyPairs = "GetKeyPairs" -// GetLoadBalancersRequest generates a "aws/request.Request" representing the -// client's request for the GetLoadBalancers operation. The "output" return +// GetKeyPairsRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyPairs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetLoadBalancers for more information on using the GetLoadBalancers +// See GetKeyPairs for more information on using the GetKeyPairs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetLoadBalancersRequest method. -// req, resp := client.GetLoadBalancersRequest(params) +// // Example sending a request using the GetKeyPairsRequest method. +// req, resp := client.GetKeyPairsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers -func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs +func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) { op := &request.Operation{ - Name: opGetLoadBalancers, + Name: opGetKeyPairs, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetLoadBalancersInput{} + input = &GetKeyPairsInput{} } - output = &GetLoadBalancersOutput{} + output = &GetKeyPairsOutput{} req = c.newRequest(op, input, output) return } -// GetLoadBalancers API operation for Amazon Lightsail. +// GetKeyPairs API operation for Amazon Lightsail. // -// Returns information about all load balancers in an account. +// Returns information about all key pairs in the user's account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetLoadBalancers for usage and error information. +// API operation GetKeyPairs for usage and error information. // // Returned Error Types: // * ServiceException @@ -7857,82 +8572,80 @@ func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req * // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers -func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) { - req, out := c.GetLoadBalancersRequest(input) - return out, req.Send() +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs +func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) { + req, out := c.GetKeyPairsRequest(input) + return out, req.Send() } -// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of +// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of // the ability to pass a context and additional request options. // -// See GetLoadBalancers for details on how to use this API operation. +// See GetKeyPairs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) { - req, out := c.GetLoadBalancersRequest(input) +func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) { + req, out := c.GetKeyPairsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetOperation = "GetOperation" +const opGetLoadBalancer = "GetLoadBalancer" -// GetOperationRequest generates a "aws/request.Request" representing the -// client's request for the GetOperation operation. The "output" return +// GetLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the GetLoadBalancer operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetOperation for more information on using the GetOperation +// See GetLoadBalancer for more information on using the GetLoadBalancer // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetOperationRequest method. -// req, resp := client.GetOperationRequest(params) +// // Example sending a request using the GetLoadBalancerRequest method. +// req, resp := client.GetLoadBalancerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation -func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer +func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) { op := &request.Operation{ - Name: opGetOperation, + Name: opGetLoadBalancer, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetOperationInput{} + input = &GetLoadBalancerInput{} } - output = &GetOperationOutput{} + output = &GetLoadBalancerOutput{} req = c.newRequest(op, input, output) return } -// GetOperation API operation for Amazon Lightsail. +// GetLoadBalancer API operation for Amazon Lightsail. // -// Returns information about a specific operation. Operations include events -// such as when you create an instance, allocate a static IP, attach a static -// IP, and so on. +// Returns information about the specified Lightsail load balancer. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetOperation for usage and error information. +// API operation GetLoadBalancer for usage and error information. // // Returned Error Types: // * ServiceException @@ -7963,84 +8676,84 @@ func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request. // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation -func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) { - req, out := c.GetOperationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer +func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) { + req, out := c.GetLoadBalancerRequest(input) return out, req.Send() } -// GetOperationWithContext is the same as GetOperation with the addition of +// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of // the ability to pass a context and additional request options. // -// See GetOperation for details on how to use this API operation. +// See GetLoadBalancer for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) { - req, out := c.GetOperationRequest(input) +func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) { + req, out := c.GetLoadBalancerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetOperations = "GetOperations" +const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData" -// GetOperationsRequest generates a "aws/request.Request" representing the -// client's request for the GetOperations operation. The "output" return +// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetLoadBalancerMetricData operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetOperations for more information on using the GetOperations +// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetOperationsRequest method. -// req, resp := client.GetOperationsRequest(params) +// // Example sending a request using the GetLoadBalancerMetricDataRequest method. +// req, resp := client.GetLoadBalancerMetricDataRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations -func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData +func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) { op := &request.Operation{ - Name: opGetOperations, + Name: opGetLoadBalancerMetricData, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetOperationsInput{} + input = &GetLoadBalancerMetricDataInput{} } - output = &GetOperationsOutput{} + output = &GetLoadBalancerMetricDataOutput{} req = c.newRequest(op, input, output) return } -// GetOperations API operation for Amazon Lightsail. +// GetLoadBalancerMetricData API operation for Amazon Lightsail. // -// Returns information about all operations. +// Returns information about health metrics for your Lightsail load balancer. // -// Results are returned from oldest to newest, up to a maximum of 200. Results -// can be paged by making each subsequent call to GetOperations use the maximum -// (last) statusChangedAt value from the previous request. +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your resources. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetOperations for usage and error information. +// API operation GetLoadBalancerMetricData for usage and error information. // // Returned Error Types: // * ServiceException @@ -8071,80 +8784,86 @@ func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations -func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) { - req, out := c.GetOperationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData +func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) { + req, out := c.GetLoadBalancerMetricDataRequest(input) return out, req.Send() } -// GetOperationsWithContext is the same as GetOperations with the addition of +// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of // the ability to pass a context and additional request options. // -// See GetOperations for details on how to use this API operation. +// See GetLoadBalancerMetricData for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) { - req, out := c.GetOperationsRequest(input) +func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) { + req, out := c.GetLoadBalancerMetricDataRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetOperationsForResource = "GetOperationsForResource" +const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates" -// GetOperationsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the GetOperationsForResource operation. The "output" return +// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetOperationsForResource for more information on using the GetOperationsForResource +// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetOperationsForResourceRequest method. -// req, resp := client.GetOperationsForResourceRequest(params) +// // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method. +// req, resp := client.GetLoadBalancerTlsCertificatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource -func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates +func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) { op := &request.Operation{ - Name: opGetOperationsForResource, + Name: opGetLoadBalancerTlsCertificates, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetOperationsForResourceInput{} + input = &GetLoadBalancerTlsCertificatesInput{} } - output = &GetOperationsForResourceOutput{} + output = &GetLoadBalancerTlsCertificatesOutput{} req = c.newRequest(op, input, output) return } -// GetOperationsForResource API operation for Amazon Lightsail. +// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail. // -// Gets operations for a specific resource (e.g., an instance or a static IP). +// Returns information about the TLS certificates that are associated with the +// specified Lightsail load balancer. +// +// TLS is just an updated, more secure version of Secure Socket Layer (SSL). +// +// You can have a maximum of 2 certificates associated with a Lightsail load +// balancer. One is active and the other is inactive. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetOperationsForResource for usage and error information. +// API operation GetLoadBalancerTlsCertificates for usage and error information. // // Returned Error Types: // * ServiceException @@ -8175,81 +8894,80 @@ func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResou // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource -func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) { - req, out := c.GetOperationsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates +func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) { + req, out := c.GetLoadBalancerTlsCertificatesRequest(input) return out, req.Send() } -// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of +// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of // the ability to pass a context and additional request options. // -// See GetOperationsForResource for details on how to use this API operation. +// See GetLoadBalancerTlsCertificates for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) { - req, out := c.GetOperationsForResourceRequest(input) +func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) { + req, out := c.GetLoadBalancerTlsCertificatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRegions = "GetRegions" +const opGetLoadBalancers = "GetLoadBalancers" -// GetRegionsRequest generates a "aws/request.Request" representing the -// client's request for the GetRegions operation. The "output" return +// GetLoadBalancersRequest generates a "aws/request.Request" representing the +// client's request for the GetLoadBalancers operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRegions for more information on using the GetRegions +// See GetLoadBalancers for more information on using the GetLoadBalancers // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRegionsRequest method. -// req, resp := client.GetRegionsRequest(params) +// // Example sending a request using the GetLoadBalancersRequest method. +// req, resp := client.GetLoadBalancersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions -func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers +func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) { op := &request.Operation{ - Name: opGetRegions, + Name: opGetLoadBalancers, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRegionsInput{} + input = &GetLoadBalancersInput{} } - output = &GetRegionsOutput{} + output = &GetLoadBalancersOutput{} req = c.newRequest(op, input, output) return } -// GetRegions API operation for Amazon Lightsail. +// GetLoadBalancers API operation for Amazon Lightsail. // -// Returns a list of all valid regions for Amazon Lightsail. Use the include -// availability zones parameter to also return the Availability Zones in a region. +// Returns information about all load balancers in an account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRegions for usage and error information. +// API operation GetLoadBalancers for usage and error information. // // Returned Error Types: // * ServiceException @@ -8280,80 +8998,82 @@ func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Requ // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions -func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) { - req, out := c.GetRegionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers +func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) { + req, out := c.GetLoadBalancersRequest(input) return out, req.Send() } -// GetRegionsWithContext is the same as GetRegions with the addition of +// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of // the ability to pass a context and additional request options. // -// See GetRegions for details on how to use this API operation. +// See GetLoadBalancers for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) { - req, out := c.GetRegionsRequest(input) +func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) { + req, out := c.GetLoadBalancersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabase = "GetRelationalDatabase" +const opGetOperation = "GetOperation" -// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabase operation. The "output" return +// GetOperationRequest generates a "aws/request.Request" representing the +// client's request for the GetOperation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabase for more information on using the GetRelationalDatabase +// See GetOperation for more information on using the GetOperation // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseRequest method. -// req, resp := client.GetRelationalDatabaseRequest(params) +// // Example sending a request using the GetOperationRequest method. +// req, resp := client.GetOperationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase -func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation +func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) { op := &request.Operation{ - Name: opGetRelationalDatabase, + Name: opGetOperation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseInput{} + input = &GetOperationInput{} } - output = &GetRelationalDatabaseOutput{} + output = &GetOperationOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabase API operation for Amazon Lightsail. +// GetOperation API operation for Amazon Lightsail. // -// Returns information about a specific database in Amazon Lightsail. +// Returns information about a specific operation. Operations include events +// such as when you create an instance, allocate a static IP, attach a static +// IP, and so on. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetRelationalDatabase for usage and error information. +// API operation GetOperation for usage and error information. // // Returned Error Types: // * ServiceException @@ -8384,84 +9104,84 @@ func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInp // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase -func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) { - req, out := c.GetRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation +func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) { + req, out := c.GetOperationRequest(input) return out, req.Send() } -// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of +// GetOperationWithContext is the same as GetOperation with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabase for details on how to use this API operation. +// See GetOperation for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) { - req, out := c.GetRelationalDatabaseRequest(input) +func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) { + req, out := c.GetOperationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints" +const opGetOperations = "GetOperations" -// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return +// GetOperationsRequest generates a "aws/request.Request" representing the +// client's request for the GetOperations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints +// See GetOperations for more information on using the GetOperations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method. -// req, resp := client.GetRelationalDatabaseBlueprintsRequest(params) +// // Example sending a request using the GetOperationsRequest method. +// req, resp := client.GetOperationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints -func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations +func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseBlueprints, + Name: opGetOperations, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseBlueprintsInput{} + input = &GetOperationsInput{} } - output = &GetRelationalDatabaseBlueprintsOutput{} + output = &GetOperationsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail. +// GetOperations API operation for Amazon Lightsail. // -// Returns a list of available database blueprints in Amazon Lightsail. A blueprint -// describes the major engine version of a database. +// Returns information about all operations. // -// You can use a blueprint ID to create a new database that runs a specific -// database engine. +// Results are returned from oldest to newest, up to a maximum of 200. Results +// can be paged by making each subsequent call to GetOperations use the maximum +// (last) statusChangedAt value from the previous request. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseBlueprints for usage and error information. +// API operation GetOperations for usage and error information. // // Returned Error Types: // * ServiceException @@ -8492,84 +9212,80 @@ func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalD // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints -func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) { - req, out := c.GetRelationalDatabaseBlueprintsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations +func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) { + req, out := c.GetOperationsRequest(input) return out, req.Send() } -// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of +// GetOperationsWithContext is the same as GetOperations with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseBlueprints for details on how to use this API operation. +// See GetOperations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) { - req, out := c.GetRelationalDatabaseBlueprintsRequest(input) +func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) { + req, out := c.GetOperationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles" +const opGetOperationsForResource = "GetOperationsForResource" -// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseBundles operation. The "output" return +// GetOperationsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the GetOperationsForResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles +// See GetOperationsForResource for more information on using the GetOperationsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseBundlesRequest method. -// req, resp := client.GetRelationalDatabaseBundlesRequest(params) +// // Example sending a request using the GetOperationsForResourceRequest method. +// req, resp := client.GetOperationsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles -func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource +func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseBundles, + Name: opGetOperationsForResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseBundlesInput{} + input = &GetOperationsForResourceInput{} } - output = &GetRelationalDatabaseBundlesOutput{} + output = &GetOperationsForResourceOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseBundles API operation for Amazon Lightsail. -// -// Returns the list of bundles that are available in Amazon Lightsail. A bundle -// describes the performance specifications for a database. +// GetOperationsForResource API operation for Amazon Lightsail. // -// You can use a bundle ID to create a new database with explicit performance -// specifications. +// Gets operations for a specific resource (e.g., an instance or a static IP). // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetRelationalDatabaseBundles for usage and error information. +// API operation GetOperationsForResource for usage and error information. // // Returned Error Types: // * ServiceException @@ -8600,80 +9316,81 @@ func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalData // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles -func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) { - req, out := c.GetRelationalDatabaseBundlesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource +func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) { + req, out := c.GetOperationsForResourceRequest(input) return out, req.Send() } -// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of +// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseBundles for details on how to use this API operation. +// See GetOperationsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) { - req, out := c.GetRelationalDatabaseBundlesRequest(input) +func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) { + req, out := c.GetOperationsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents" +const opGetRegions = "GetRegions" -// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseEvents operation. The "output" return +// GetRegionsRequest generates a "aws/request.Request" representing the +// client's request for the GetRegions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents +// See GetRegions for more information on using the GetRegions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseEventsRequest method. -// req, resp := client.GetRelationalDatabaseEventsRequest(params) +// // Example sending a request using the GetRegionsRequest method. +// req, resp := client.GetRegionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents -func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions +func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseEvents, + Name: opGetRegions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseEventsInput{} + input = &GetRegionsInput{} } - output = &GetRelationalDatabaseEventsOutput{} + output = &GetRegionsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseEvents API operation for Amazon Lightsail. +// GetRegions API operation for Amazon Lightsail. // -// Returns a list of events for a specific database in Amazon Lightsail. +// Returns a list of all valid regions for Amazon Lightsail. Use the include +// availability zones parameter to also return the Availability Zones in a 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 // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseEvents for usage and error information. +// API operation GetRegions for usage and error information. // // Returned Error Types: // * ServiceException @@ -8704,80 +9421,80 @@ func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatab // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents -func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) { - req, out := c.GetRelationalDatabaseEventsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions +func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) { + req, out := c.GetRegionsRequest(input) return out, req.Send() } -// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of +// GetRegionsWithContext is the same as GetRegions with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseEvents for details on how to use this API operation. +// See GetRegions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) { - req, out := c.GetRelationalDatabaseEventsRequest(input) +func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) { + req, out := c.GetRegionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents" +const opGetRelationalDatabase = "GetRelationalDatabase" -// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return +// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabase operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents +// See GetRelationalDatabase for more information on using the GetRelationalDatabase // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseLogEventsRequest method. -// req, resp := client.GetRelationalDatabaseLogEventsRequest(params) +// // Example sending a request using the GetRelationalDatabaseRequest method. +// req, resp := client.GetRelationalDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents -func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase +func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseLogEvents, + Name: opGetRelationalDatabase, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseLogEventsInput{} + input = &GetRelationalDatabaseInput{} } - output = &GetRelationalDatabaseLogEventsOutput{} + output = &GetRelationalDatabaseOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail. +// GetRelationalDatabase API operation for Amazon Lightsail. // -// Returns a list of log events for a database in Amazon Lightsail. +// Returns information about a specific database in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetRelationalDatabaseLogEvents for usage and error information. +// API operation GetRelationalDatabase for usage and error information. // // Returned Error Types: // * ServiceException @@ -8808,81 +9525,84 @@ func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDa // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents -func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) { - req, out := c.GetRelationalDatabaseLogEventsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase +func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) { + req, out := c.GetRelationalDatabaseRequest(input) return out, req.Send() } -// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of +// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseLogEvents for details on how to use this API operation. +// See GetRelationalDatabase for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) { - req, out := c.GetRelationalDatabaseLogEventsRequest(input) +func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) { + req, out := c.GetRelationalDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams" +const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints" -// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return +// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams +// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method. -// req, resp := client.GetRelationalDatabaseLogStreamsRequest(params) +// // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method. +// req, resp := client.GetRelationalDatabaseBlueprintsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams -func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints +func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseLogStreams, + Name: opGetRelationalDatabaseBlueprints, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseLogStreamsInput{} + input = &GetRelationalDatabaseBlueprintsInput{} } - output = &GetRelationalDatabaseLogStreamsOutput{} + output = &GetRelationalDatabaseBlueprintsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail. +// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail. // -// Returns a list of available log streams for a specific database in Amazon -// Lightsail. +// Returns a list of available database blueprints in Amazon Lightsail. A blueprint +// describes the major engine version of a database. +// +// You can use a blueprint ID to create a new database that runs a specific +// database engine. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetRelationalDatabaseLogStreams for usage and error information. +// API operation GetRelationalDatabaseBlueprints for usage and error information. // // Returned Error Types: // * ServiceException @@ -8913,84 +9633,84 @@ func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalD // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams -func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) { - req, out := c.GetRelationalDatabaseLogStreamsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints +func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) { + req, out := c.GetRelationalDatabaseBlueprintsRequest(input) return out, req.Send() } -// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of +// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseLogStreams for details on how to use this API operation. +// See GetRelationalDatabaseBlueprints for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) { - req, out := c.GetRelationalDatabaseLogStreamsRequest(input) +func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) { + req, out := c.GetRelationalDatabaseBlueprintsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword" +const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles" -// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return +// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseBundles operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword +// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method. -// req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params) +// // Example sending a request using the GetRelationalDatabaseBundlesRequest method. +// req, resp := client.GetRelationalDatabaseBundlesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword -func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles +func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseMasterUserPassword, + Name: opGetRelationalDatabaseBundles, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseMasterUserPasswordInput{} + input = &GetRelationalDatabaseBundlesInput{} } - output = &GetRelationalDatabaseMasterUserPasswordOutput{} + output = &GetRelationalDatabaseBundlesOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail. +// GetRelationalDatabaseBundles API operation for Amazon Lightsail. // -// Returns the current, previous, or pending versions of the master user password -// for a Lightsail database. +// Returns the list of bundles that are available in Amazon Lightsail. A bundle +// describes the performance specifications for a database. // -// The GetRelationalDatabaseMasterUserPassword operation supports tag-based -// access control via resource tags applied to the resource identified by relationalDatabaseName. +// You can use a bundle ID to create a new database with explicit performance +// specifications. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetRelationalDatabaseMasterUserPassword for usage and error information. +// API operation GetRelationalDatabaseBundles for usage and error information. // // Returned Error Types: // * ServiceException @@ -9021,85 +9741,80 @@ func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRel // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword -func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) { - req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles +func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) { + req, out := c.GetRelationalDatabaseBundlesRequest(input) return out, req.Send() } -// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of +// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation. +// See GetRelationalDatabaseBundles for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) { - req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input) - req.SetContext(ctx) +func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) { + req, out := c.GetRelationalDatabaseBundlesRequest(input) + req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData" +const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents" -// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseMetricData operation. The "output" return +// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseEvents operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData +// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseMetricDataRequest method. -// req, resp := client.GetRelationalDatabaseMetricDataRequest(params) +// // Example sending a request using the GetRelationalDatabaseEventsRequest method. +// req, resp := client.GetRelationalDatabaseEventsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData -func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents +func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseMetricData, + Name: opGetRelationalDatabaseEvents, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseMetricDataInput{} + input = &GetRelationalDatabaseEventsInput{} } - output = &GetRelationalDatabaseMetricDataOutput{} + output = &GetRelationalDatabaseEventsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseMetricData API operation for Amazon Lightsail. -// -// Returns the data points of the specified metric for a database in Amazon -// Lightsail. +// GetRelationalDatabaseEvents API operation for Amazon Lightsail. // -// Metrics report the utilization of your resources, and the error counts generated -// by them. Monitor and collect metric data regularly to maintain the reliability, -// availability, and performance of your resources. +// Returns a list of events for a specific database in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetRelationalDatabaseMetricData for usage and error information. +// API operation GetRelationalDatabaseEvents for usage and error information. // // Returned Error Types: // * ServiceException @@ -9130,86 +9845,80 @@ func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalD // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData -func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) { - req, out := c.GetRelationalDatabaseMetricDataRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents +func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) { + req, out := c.GetRelationalDatabaseEventsRequest(input) return out, req.Send() } -// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of +// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseMetricData for details on how to use this API operation. +// See GetRelationalDatabaseEvents for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) { - req, out := c.GetRelationalDatabaseMetricDataRequest(input) +func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) { + req, out := c.GetRelationalDatabaseEventsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters" +const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents" -// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseParameters operation. The "output" return +// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters +// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseParametersRequest method. -// req, resp := client.GetRelationalDatabaseParametersRequest(params) +// // Example sending a request using the GetRelationalDatabaseLogEventsRequest method. +// req, resp := client.GetRelationalDatabaseLogEventsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters -func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents +func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseParameters, + Name: opGetRelationalDatabaseLogEvents, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseParametersInput{} + input = &GetRelationalDatabaseLogEventsInput{} } - output = &GetRelationalDatabaseParametersOutput{} + output = &GetRelationalDatabaseLogEventsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseParameters API operation for Amazon Lightsail. -// -// Returns all of the runtime parameters offered by the underlying database -// software, or engine, for a specific database in Amazon Lightsail. +// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail. // -// In addition to the parameter names and values, this operation returns other -// information about each parameter. This information includes whether changes -// require a reboot, whether the parameter is modifiable, the allowed values, -// and the data types. +// Returns a list of log events for a database in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetRelationalDatabaseParameters for usage and error information. +// API operation GetRelationalDatabaseLogEvents for usage and error information. // // Returned Error Types: // * ServiceException @@ -9240,80 +9949,81 @@ func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalD // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters -func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) { - req, out := c.GetRelationalDatabaseParametersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents +func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) { + req, out := c.GetRelationalDatabaseLogEventsRequest(input) return out, req.Send() } -// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of +// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseParameters for details on how to use this API operation. +// See GetRelationalDatabaseLogEvents for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) { - req, out := c.GetRelationalDatabaseParametersRequest(input) +func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) { + req, out := c.GetRelationalDatabaseLogEventsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot" +const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams" -// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return +// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot +// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseSnapshotRequest method. -// req, resp := client.GetRelationalDatabaseSnapshotRequest(params) +// // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method. +// req, resp := client.GetRelationalDatabaseLogStreamsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot -func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams +func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseSnapshot, + Name: opGetRelationalDatabaseLogStreams, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseSnapshotInput{} + input = &GetRelationalDatabaseLogStreamsInput{} } - output = &GetRelationalDatabaseSnapshotOutput{} + output = &GetRelationalDatabaseLogStreamsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail. +// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail. // -// Returns information about a specific database snapshot in Amazon Lightsail. +// Returns a list of available log streams for a specific database in Amazon +// Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetRelationalDatabaseSnapshot for usage and error information. +// API operation GetRelationalDatabaseLogStreams for usage and error information. // // Returned Error Types: // * ServiceException @@ -9344,80 +10054,84 @@ func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDat // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot -func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) { - req, out := c.GetRelationalDatabaseSnapshotRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams +func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) { + req, out := c.GetRelationalDatabaseLogStreamsRequest(input) return out, req.Send() } -// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of +// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseSnapshot for details on how to use this API operation. +// See GetRelationalDatabaseLogStreams for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) { - req, out := c.GetRelationalDatabaseSnapshotRequest(input) +func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) { + req, out := c.GetRelationalDatabaseLogStreamsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots" +const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword" -// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return +// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots +// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method. -// req, resp := client.GetRelationalDatabaseSnapshotsRequest(params) +// // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method. +// req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots -func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword +func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseSnapshots, + Name: opGetRelationalDatabaseMasterUserPassword, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseSnapshotsInput{} + input = &GetRelationalDatabaseMasterUserPasswordInput{} } - output = &GetRelationalDatabaseSnapshotsOutput{} + output = &GetRelationalDatabaseMasterUserPasswordOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail. +// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail. // -// Returns information about all of your database snapshots in Amazon Lightsail. +// Returns the current, previous, or pending versions of the master user password +// for a Lightsail database. +// +// The GetRelationalDatabaseMasterUserPassword operation supports tag-based +// access control via resource tags applied to the resource identified by relationalDatabaseName. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetRelationalDatabaseSnapshots for usage and error information. +// API operation GetRelationalDatabaseMasterUserPassword for usage and error information. // // Returned Error Types: // * ServiceException @@ -9448,80 +10162,85 @@ func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDa // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots -func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) { - req, out := c.GetRelationalDatabaseSnapshotsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword +func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) { + req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input) return out, req.Send() } -// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of +// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseSnapshots for details on how to use this API operation. +// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) { - req, out := c.GetRelationalDatabaseSnapshotsRequest(input) +func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) { + req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabases = "GetRelationalDatabases" +const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData" -// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabases operation. The "output" return +// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseMetricData operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabases for more information on using the GetRelationalDatabases +// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabasesRequest method. -// req, resp := client.GetRelationalDatabasesRequest(params) +// // Example sending a request using the GetRelationalDatabaseMetricDataRequest method. +// req, resp := client.GetRelationalDatabaseMetricDataRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases -func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData +func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) { op := &request.Operation{ - Name: opGetRelationalDatabases, + Name: opGetRelationalDatabaseMetricData, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabasesInput{} + input = &GetRelationalDatabaseMetricDataInput{} } - output = &GetRelationalDatabasesOutput{} + output = &GetRelationalDatabaseMetricDataOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabases API operation for Amazon Lightsail. +// GetRelationalDatabaseMetricData API operation for Amazon Lightsail. // -// Returns information about all of your databases in Amazon Lightsail. +// Returns the data points of the specified metric for a database in Amazon +// Lightsail. +// +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your resources. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabases for usage and error information. +// API operation GetRelationalDatabaseMetricData for usage and error information. // // Returned Error Types: // * ServiceException @@ -9552,80 +10271,86 @@ func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesI // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases -func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) { - req, out := c.GetRelationalDatabasesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData +func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) { + req, out := c.GetRelationalDatabaseMetricDataRequest(input) return out, req.Send() } -// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of +// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabases for details on how to use this API operation. +// See GetRelationalDatabaseMetricData for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) { - req, out := c.GetRelationalDatabasesRequest(input) +func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) { + req, out := c.GetRelationalDatabaseMetricDataRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetStaticIp = "GetStaticIp" +const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters" -// GetStaticIpRequest generates a "aws/request.Request" representing the -// client's request for the GetStaticIp operation. The "output" return +// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseParameters operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetStaticIp for more information on using the GetStaticIp +// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetStaticIpRequest method. -// req, resp := client.GetStaticIpRequest(params) +// // Example sending a request using the GetRelationalDatabaseParametersRequest method. +// req, resp := client.GetRelationalDatabaseParametersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp -func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters +func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) { op := &request.Operation{ - Name: opGetStaticIp, + Name: opGetRelationalDatabaseParameters, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetStaticIpInput{} + input = &GetRelationalDatabaseParametersInput{} } - output = &GetStaticIpOutput{} + output = &GetRelationalDatabaseParametersOutput{} req = c.newRequest(op, input, output) return } -// GetStaticIp API operation for Amazon Lightsail. +// GetRelationalDatabaseParameters API operation for Amazon Lightsail. // -// Returns information about a specific static IP. +// Returns all of the runtime parameters offered by the underlying database +// software, or engine, for a specific database in Amazon Lightsail. +// +// In addition to the parameter names and values, this operation returns other +// information about each parameter. This information includes whether changes +// require a reboot, whether the parameter is modifiable, the allowed values, +// and the data 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 Lightsail's -// API operation GetStaticIp for usage and error information. +// API operation GetRelationalDatabaseParameters for usage and error information. // // Returned Error Types: // * ServiceException @@ -9656,80 +10381,80 @@ func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Re // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp -func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) { - req, out := c.GetStaticIpRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters +func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) { + req, out := c.GetRelationalDatabaseParametersRequest(input) return out, req.Send() } -// GetStaticIpWithContext is the same as GetStaticIp with the addition of +// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of // the ability to pass a context and additional request options. // -// See GetStaticIp for details on how to use this API operation. +// See GetRelationalDatabaseParameters for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) { - req, out := c.GetStaticIpRequest(input) +func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) { + req, out := c.GetRelationalDatabaseParametersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetStaticIps = "GetStaticIps" +const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot" -// GetStaticIpsRequest generates a "aws/request.Request" representing the -// client's request for the GetStaticIps operation. The "output" return +// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetStaticIps for more information on using the GetStaticIps +// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetStaticIpsRequest method. -// req, resp := client.GetStaticIpsRequest(params) +// // Example sending a request using the GetRelationalDatabaseSnapshotRequest method. +// req, resp := client.GetRelationalDatabaseSnapshotRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps -func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot +func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) { op := &request.Operation{ - Name: opGetStaticIps, + Name: opGetRelationalDatabaseSnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetStaticIpsInput{} + input = &GetRelationalDatabaseSnapshotInput{} } - output = &GetStaticIpsOutput{} + output = &GetRelationalDatabaseSnapshotOutput{} req = c.newRequest(op, input, output) return } -// GetStaticIps API operation for Amazon Lightsail. +// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail. // -// Returns information about all static IPs in the user's account. +// Returns information about a specific database snapshot in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation GetStaticIps for usage and error information. +// API operation GetRelationalDatabaseSnapshot for usage and error information. // // Returned Error Types: // * ServiceException @@ -9760,80 +10485,80 @@ func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request. // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps -func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) { - req, out := c.GetStaticIpsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot +func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) { + req, out := c.GetRelationalDatabaseSnapshotRequest(input) return out, req.Send() } -// GetStaticIpsWithContext is the same as GetStaticIps with the addition of +// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of // the ability to pass a context and additional request options. // -// See GetStaticIps for details on how to use this API operation. +// See GetRelationalDatabaseSnapshot for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) { - req, out := c.GetStaticIpsRequest(input) +func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) { + req, out := c.GetRelationalDatabaseSnapshotRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opImportKeyPair = "ImportKeyPair" +const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots" -// ImportKeyPairRequest generates a "aws/request.Request" representing the -// client's request for the ImportKeyPair operation. The "output" return +// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ImportKeyPair for more information on using the ImportKeyPair +// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ImportKeyPairRequest method. -// req, resp := client.ImportKeyPairRequest(params) +// // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method. +// req, resp := client.GetRelationalDatabaseSnapshotsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair -func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots +func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) { op := &request.Operation{ - Name: opImportKeyPair, + Name: opGetRelationalDatabaseSnapshots, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ImportKeyPairInput{} + input = &GetRelationalDatabaseSnapshotsInput{} } - output = &ImportKeyPairOutput{} + output = &GetRelationalDatabaseSnapshotsOutput{} req = c.newRequest(op, input, output) return } -// ImportKeyPair API operation for Amazon Lightsail. +// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail. // -// Imports a public SSH key from a specific key pair. +// Returns information about all of your database snapshots in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation ImportKeyPair for usage and error information. +// API operation GetRelationalDatabaseSnapshots for usage and error information. // // Returned Error Types: // * ServiceException @@ -9864,80 +10589,80 @@ func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair -func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) { - req, out := c.ImportKeyPairRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots +func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) { + req, out := c.GetRelationalDatabaseSnapshotsRequest(input) return out, req.Send() } -// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of +// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of // the ability to pass a context and additional request options. // -// See ImportKeyPair for details on how to use this API operation. +// See GetRelationalDatabaseSnapshots for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) { - req, out := c.ImportKeyPairRequest(input) +func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) { + req, out := c.GetRelationalDatabaseSnapshotsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opIsVpcPeered = "IsVpcPeered" +const opGetRelationalDatabases = "GetRelationalDatabases" -// IsVpcPeeredRequest generates a "aws/request.Request" representing the -// client's request for the IsVpcPeered operation. The "output" return +// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabases operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See IsVpcPeered for more information on using the IsVpcPeered +// See GetRelationalDatabases for more information on using the GetRelationalDatabases // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the IsVpcPeeredRequest method. -// req, resp := client.IsVpcPeeredRequest(params) +// // Example sending a request using the GetRelationalDatabasesRequest method. +// req, resp := client.GetRelationalDatabasesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered -func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases +func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) { op := &request.Operation{ - Name: opIsVpcPeered, + Name: opGetRelationalDatabases, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &IsVpcPeeredInput{} + input = &GetRelationalDatabasesInput{} } - output = &IsVpcPeeredOutput{} + output = &GetRelationalDatabasesOutput{} req = c.newRequest(op, input, output) return } -// IsVpcPeered API operation for Amazon Lightsail. +// GetRelationalDatabases API operation for Amazon Lightsail. // -// Returns a Boolean value indicating whether your Lightsail VPC is peered. +// Returns information about all of your databases in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation IsVpcPeered for usage and error information. +// API operation GetRelationalDatabases for usage and error information. // // Returned Error Types: // * ServiceException @@ -9968,85 +10693,80 @@ func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Re // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered -func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) { - req, out := c.IsVpcPeeredRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases +func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) { + req, out := c.GetRelationalDatabasesRequest(input) return out, req.Send() } -// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of +// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of // the ability to pass a context and additional request options. // -// See IsVpcPeered for details on how to use this API operation. +// See GetRelationalDatabases for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) { - req, out := c.IsVpcPeeredRequest(input) +func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) { + req, out := c.GetRelationalDatabasesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opOpenInstancePublicPorts = "OpenInstancePublicPorts" +const opGetStaticIp = "GetStaticIp" -// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the -// client's request for the OpenInstancePublicPorts operation. The "output" return +// GetStaticIpRequest generates a "aws/request.Request" representing the +// client's request for the GetStaticIp operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts +// See GetStaticIp for more information on using the GetStaticIp // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the OpenInstancePublicPortsRequest method. -// req, resp := client.OpenInstancePublicPortsRequest(params) +// // Example sending a request using the GetStaticIpRequest method. +// req, resp := client.GetStaticIpRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts -func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp +func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) { op := &request.Operation{ - Name: opOpenInstancePublicPorts, + Name: opGetStaticIp, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &OpenInstancePublicPortsInput{} + input = &GetStaticIpInput{} } - output = &OpenInstancePublicPortsOutput{} + output = &GetStaticIpOutput{} req = c.newRequest(op, input, output) return } -// OpenInstancePublicPorts API operation for Amazon Lightsail. -// -// Opens ports for a specific Amazon Lightsail instance, and specifies the IP -// addresses allowed to connect to the instance through the ports, and the protocol. +// GetStaticIp API operation for Amazon Lightsail. // -// The OpenInstancePublicPorts action supports tag-based access control via -// resource tags applied to the resource identified by instanceName. For more -// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Returns information about a specific static IP. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation OpenInstancePublicPorts for usage and error information. +// API operation GetStaticIp for usage and error information. // // Returned Error Types: // * ServiceException @@ -10077,80 +10797,80 @@ func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPort // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts -func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) { - req, out := c.OpenInstancePublicPortsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp +func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) { + req, out := c.GetStaticIpRequest(input) return out, req.Send() } -// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of +// GetStaticIpWithContext is the same as GetStaticIp with the addition of // the ability to pass a context and additional request options. // -// See OpenInstancePublicPorts for details on how to use this API operation. +// See GetStaticIp for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) { - req, out := c.OpenInstancePublicPortsRequest(input) +func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) { + req, out := c.GetStaticIpRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPeerVpc = "PeerVpc" +const opGetStaticIps = "GetStaticIps" -// PeerVpcRequest generates a "aws/request.Request" representing the -// client's request for the PeerVpc operation. The "output" return +// GetStaticIpsRequest generates a "aws/request.Request" representing the +// client's request for the GetStaticIps operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PeerVpc for more information on using the PeerVpc +// See GetStaticIps for more information on using the GetStaticIps // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PeerVpcRequest method. -// req, resp := client.PeerVpcRequest(params) +// // Example sending a request using the GetStaticIpsRequest method. +// req, resp := client.GetStaticIpsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc -func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps +func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) { op := &request.Operation{ - Name: opPeerVpc, + Name: opGetStaticIps, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PeerVpcInput{} + input = &GetStaticIpsInput{} } - output = &PeerVpcOutput{} + output = &GetStaticIpsOutput{} req = c.newRequest(op, input, output) return } -// PeerVpc API operation for Amazon Lightsail. +// GetStaticIps API operation for Amazon Lightsail. // -// Tries to peer the Lightsail VPC with the user's default VPC. +// Returns information about all static IPs in the user's account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation PeerVpc for usage and error information. +// API operation GetStaticIps for usage and error information. // // Returned Error Types: // * ServiceException @@ -10181,93 +10901,80 @@ func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, o // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc -func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) { - req, out := c.PeerVpcRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps +func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) { + req, out := c.GetStaticIpsRequest(input) return out, req.Send() } -// PeerVpcWithContext is the same as PeerVpc with the addition of +// GetStaticIpsWithContext is the same as GetStaticIps with the addition of // the ability to pass a context and additional request options. // -// See PeerVpc for details on how to use this API operation. +// See GetStaticIps for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) { - req, out := c.PeerVpcRequest(input) +func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) { + req, out := c.GetStaticIpsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutAlarm = "PutAlarm" +const opImportKeyPair = "ImportKeyPair" -// PutAlarmRequest generates a "aws/request.Request" representing the -// client's request for the PutAlarm operation. The "output" return +// ImportKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the ImportKeyPair operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutAlarm for more information on using the PutAlarm +// See ImportKeyPair for more information on using the ImportKeyPair // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PutAlarmRequest method. -// req, resp := client.PutAlarmRequest(params) +// // Example sending a request using the ImportKeyPairRequest method. +// req, resp := client.ImportKeyPairRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm -func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, output *PutAlarmOutput) { - op := &request.Operation{ - Name: opPutAlarm, +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair +func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) { + op := &request.Operation{ + Name: opImportKeyPair, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PutAlarmInput{} + input = &ImportKeyPairInput{} } - output = &PutAlarmOutput{} + output = &ImportKeyPairOutput{} req = c.newRequest(op, input, output) return } -// PutAlarm API operation for Amazon Lightsail. -// -// Creates or updates an alarm, and associates it with the specified metric. -// -// An alarm is used to monitor a single metric for one of your resources. When -// a metric condition is met, the alarm can notify you by email, SMS text message, -// and a banner displayed on the Amazon Lightsail console. For more information, -// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). -// -// When this action creates an alarm, the alarm state is immediately set to -// INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. -// Any actions associated with the new state are then executed. +// ImportKeyPair API operation for Amazon Lightsail. // -// When you update an existing alarm, its state is left unchanged, but the update -// completely overwrites the previous configuration of the alarm. The alarm -// is then evaluated with the updated configuration. +// Imports a public SSH key from a specific key pair. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation PutAlarm for usage and error information. +// API operation ImportKeyPair for usage and error information. // // Returned Error Types: // * ServiceException @@ -10281,6 +10988,9 @@ func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // @@ -10288,95 +10998,87 @@ func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm -func (c *Lightsail) PutAlarm(input *PutAlarmInput) (*PutAlarmOutput, error) { - req, out := c.PutAlarmRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair +func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) { + req, out := c.ImportKeyPairRequest(input) return out, req.Send() } -// PutAlarmWithContext is the same as PutAlarm with the addition of +// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of // the ability to pass a context and additional request options. // -// See PutAlarm for details on how to use this API operation. +// See ImportKeyPair for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) PutAlarmWithContext(ctx aws.Context, input *PutAlarmInput, opts ...request.Option) (*PutAlarmOutput, error) { - req, out := c.PutAlarmRequest(input) +func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) { + req, out := c.ImportKeyPairRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutInstancePublicPorts = "PutInstancePublicPorts" +const opIsVpcPeered = "IsVpcPeered" -// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the -// client's request for the PutInstancePublicPorts operation. The "output" return +// IsVpcPeeredRequest generates a "aws/request.Request" representing the +// client's request for the IsVpcPeered operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts +// See IsVpcPeered for more information on using the IsVpcPeered // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PutInstancePublicPortsRequest method. -// req, resp := client.PutInstancePublicPortsRequest(params) +// // Example sending a request using the IsVpcPeeredRequest method. +// req, resp := client.IsVpcPeeredRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts -func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered +func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) { op := &request.Operation{ - Name: opPutInstancePublicPorts, + Name: opIsVpcPeered, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PutInstancePublicPortsInput{} + input = &IsVpcPeeredInput{} } - output = &PutInstancePublicPortsOutput{} + output = &IsVpcPeeredOutput{} req = c.newRequest(op, input, output) return } -// PutInstancePublicPorts API operation for Amazon Lightsail. -// -// Opens ports for a specific Amazon Lightsail instance, and specifies the IP -// addresses allowed to connect to the instance through the ports, and the protocol. -// This action also closes all currently open ports that are not included in -// the request. Include all of the ports and the protocols you want to open -// in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts -// action to open ports without closing currently open ports. +// IsVpcPeered API operation for Amazon Lightsail. // -// The PutInstancePublicPorts action supports tag-based access control via resource -// tags applied to the resource identified by instanceName. For more information, -// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Returns a Boolean value indicating whether your Lightsail VPC is peered. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation PutInstancePublicPorts for usage and error information. +// API operation IsVpcPeered for usage and error information. // // Returned Error Types: // * ServiceException @@ -10407,84 +11109,85 @@ func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsI // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts -func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) { - req, out := c.PutInstancePublicPortsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered +func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) { + req, out := c.IsVpcPeeredRequest(input) return out, req.Send() } -// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of +// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of // the ability to pass a context and additional request options. // -// See PutInstancePublicPorts for details on how to use this API operation. +// See IsVpcPeered for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) { - req, out := c.PutInstancePublicPortsRequest(input) +func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) { + req, out := c.IsVpcPeeredRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRebootInstance = "RebootInstance" +const opOpenInstancePublicPorts = "OpenInstancePublicPorts" -// RebootInstanceRequest generates a "aws/request.Request" representing the -// client's request for the RebootInstance operation. The "output" return +// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the +// client's request for the OpenInstancePublicPorts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RebootInstance for more information on using the RebootInstance +// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the RebootInstanceRequest method. -// req, resp := client.RebootInstanceRequest(params) +// // Example sending a request using the OpenInstancePublicPortsRequest method. +// req, resp := client.OpenInstancePublicPortsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance -func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts +func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) { op := &request.Operation{ - Name: opRebootInstance, + Name: opOpenInstancePublicPorts, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RebootInstanceInput{} + input = &OpenInstancePublicPortsInput{} } - output = &RebootInstanceOutput{} + output = &OpenInstancePublicPortsOutput{} req = c.newRequest(op, input, output) return } -// RebootInstance API operation for Amazon Lightsail. +// OpenInstancePublicPorts API operation for Amazon Lightsail. // -// Restarts a specific instance. +// Opens ports for a specific Amazon Lightsail instance, and specifies the IP +// addresses allowed to connect to the instance through the ports, and the protocol. // -// The reboot instance operation supports tag-based access control via resource -// tags applied to the resource identified by instance name. For more information, -// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// The OpenInstancePublicPorts action supports tag-based access control via +// resource tags applied to the resource identified by instanceName. For more +// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation RebootInstance for usage and error information. +// API operation OpenInstancePublicPorts for usage and error information. // // Returned Error Types: // * ServiceException @@ -10515,84 +11218,80 @@ func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *requ // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance -func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) { - req, out := c.RebootInstanceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts +func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) { + req, out := c.OpenInstancePublicPortsRequest(input) return out, req.Send() } -// RebootInstanceWithContext is the same as RebootInstance with the addition of +// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of // the ability to pass a context and additional request options. // -// See RebootInstance for details on how to use this API operation. +// See OpenInstancePublicPorts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) { - req, out := c.RebootInstanceRequest(input) +func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) { + req, out := c.OpenInstancePublicPortsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRebootRelationalDatabase = "RebootRelationalDatabase" +const opPeerVpc = "PeerVpc" -// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the RebootRelationalDatabase operation. The "output" return +// PeerVpcRequest generates a "aws/request.Request" representing the +// client's request for the PeerVpc operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase +// See PeerVpc for more information on using the PeerVpc // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the RebootRelationalDatabaseRequest method. -// req, resp := client.RebootRelationalDatabaseRequest(params) +// // Example sending a request using the PeerVpcRequest method. +// req, resp := client.PeerVpcRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase -func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc +func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) { op := &request.Operation{ - Name: opRebootRelationalDatabase, + Name: opPeerVpc, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RebootRelationalDatabaseInput{} + input = &PeerVpcInput{} } - output = &RebootRelationalDatabaseOutput{} + output = &PeerVpcOutput{} req = c.newRequest(op, input, output) return } -// RebootRelationalDatabase API operation for Amazon Lightsail. -// -// Restarts a specific database in Amazon Lightsail. +// PeerVpc API operation for Amazon Lightsail. // -// The reboot relational database operation supports tag-based access control -// via resource tags applied to the resource identified by relationalDatabaseName. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Tries to peer the Lightsail VPC with the user's default 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 Lightsail's -// API operation RebootRelationalDatabase for usage and error information. +// API operation PeerVpc for usage and error information. // // Returned Error Types: // * ServiceException @@ -10623,80 +11322,93 @@ func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatab // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase -func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) { - req, out := c.RebootRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc +func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) { + req, out := c.PeerVpcRequest(input) return out, req.Send() } -// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of +// PeerVpcWithContext is the same as PeerVpc with the addition of // the ability to pass a context and additional request options. // -// See RebootRelationalDatabase for details on how to use this API operation. +// See PeerVpc for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) { - req, out := c.RebootRelationalDatabaseRequest(input) +func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) { + req, out := c.PeerVpcRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opReleaseStaticIp = "ReleaseStaticIp" +const opPutAlarm = "PutAlarm" -// ReleaseStaticIpRequest generates a "aws/request.Request" representing the -// client's request for the ReleaseStaticIp operation. The "output" return +// PutAlarmRequest generates a "aws/request.Request" representing the +// client's request for the PutAlarm operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ReleaseStaticIp for more information on using the ReleaseStaticIp +// See PutAlarm for more information on using the PutAlarm // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ReleaseStaticIpRequest method. -// req, resp := client.ReleaseStaticIpRequest(params) +// // Example sending a request using the PutAlarmRequest method. +// req, resp := client.PutAlarmRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp -func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm +func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, output *PutAlarmOutput) { op := &request.Operation{ - Name: opReleaseStaticIp, + Name: opPutAlarm, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ReleaseStaticIpInput{} + input = &PutAlarmInput{} } - output = &ReleaseStaticIpOutput{} + output = &PutAlarmOutput{} req = c.newRequest(op, input, output) return } -// ReleaseStaticIp API operation for Amazon Lightsail. +// PutAlarm API operation for Amazon Lightsail. // -// Deletes a specific static IP from your account. +// Creates or updates an alarm, and associates it with the specified metric. +// +// An alarm is used to monitor a single metric for one of your resources. When +// a metric condition is met, the alarm can notify you by email, SMS text message, +// and a banner displayed on the Amazon Lightsail console. For more information, +// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). +// +// When this action creates an alarm, the alarm state is immediately set to +// INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. +// Any actions associated with the new state are then executed. +// +// When you update an existing alarm, its state is left unchanged, but the update +// completely overwrites the previous configuration of the alarm. The alarm +// is then evaluated with the updated 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 // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation ReleaseStaticIp for usage and error information. +// API operation PutAlarm for usage and error information. // // Returned Error Types: // * ServiceException @@ -10710,9 +11422,6 @@ func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *re // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. -// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // @@ -10720,101 +11429,95 @@ func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *re // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp -func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) { - req, out := c.ReleaseStaticIpRequest(input) +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm +func (c *Lightsail) PutAlarm(input *PutAlarmInput) (*PutAlarmOutput, error) { + req, out := c.PutAlarmRequest(input) return out, req.Send() } -// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of +// PutAlarmWithContext is the same as PutAlarm with the addition of // the ability to pass a context and additional request options. // -// See ReleaseStaticIp for details on how to use this API operation. +// See PutAlarm for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) { - req, out := c.ReleaseStaticIpRequest(input) +func (c *Lightsail) PutAlarmWithContext(ctx aws.Context, input *PutAlarmInput, opts ...request.Option) (*PutAlarmOutput, error) { + req, out := c.PutAlarmRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSendContactMethodVerification = "SendContactMethodVerification" +const opPutInstancePublicPorts = "PutInstancePublicPorts" -// SendContactMethodVerificationRequest generates a "aws/request.Request" representing the -// client's request for the SendContactMethodVerification operation. The "output" return +// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the +// client's request for the PutInstancePublicPorts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SendContactMethodVerification for more information on using the SendContactMethodVerification +// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the SendContactMethodVerificationRequest method. -// req, resp := client.SendContactMethodVerificationRequest(params) +// // Example sending a request using the PutInstancePublicPortsRequest method. +// req, resp := client.PutInstancePublicPortsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification -func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMethodVerificationInput) (req *request.Request, output *SendContactMethodVerificationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts +func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) { op := &request.Operation{ - Name: opSendContactMethodVerification, + Name: opPutInstancePublicPorts, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SendContactMethodVerificationInput{} + input = &PutInstancePublicPortsInput{} } - output = &SendContactMethodVerificationOutput{} + output = &PutInstancePublicPortsOutput{} req = c.newRequest(op, input, output) return } -// SendContactMethodVerification API operation for Amazon Lightsail. -// -// Sends a verification request to an email contact method to ensure it's owned -// by the requester. SMS contact methods don't need to be verified. -// -// A contact method is used to send you notifications about your Amazon Lightsail -// resources. You can add one email address and one mobile phone number contact -// method in each AWS Region. However, SMS text messaging is not supported in -// some AWS Regions, and SMS text messages cannot be sent to some countries/regions. -// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). +// PutInstancePublicPorts API operation for Amazon Lightsail. // -// A verification request is sent to the contact method when you initially create -// it. Use this action to send another verification request if a previous verification -// request was deleted, or has expired. +// Opens ports for a specific Amazon Lightsail instance, and specifies the IP +// addresses allowed to connect to the instance through the ports, and the protocol. +// This action also closes all currently open ports that are not included in +// the request. Include all of the ports and the protocols you want to open +// in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts +// action to open ports without closing currently open ports. // -// Notifications are not sent to an email contact method until after it is verified, -// and confirmed as valid. +// The PutInstancePublicPorts action supports tag-based access control via resource +// tags applied to the resource identified by instanceName. For more information, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation SendContactMethodVerification for usage and error information. +// API operation PutInstancePublicPorts for usage and error information. // // Returned Error Types: // * ServiceException @@ -10828,94 +11531,92 @@ func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMetho // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // -// * UnauthenticatedException -// Lightsail throws this exception when the user has not been authenticated. -// // * AccessDeniedException // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification -func (c *Lightsail) SendContactMethodVerification(input *SendContactMethodVerificationInput) (*SendContactMethodVerificationOutput, error) { - req, out := c.SendContactMethodVerificationRequest(input) +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts +func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) { + req, out := c.PutInstancePublicPortsRequest(input) return out, req.Send() } -// SendContactMethodVerificationWithContext is the same as SendContactMethodVerification with the addition of +// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of // the ability to pass a context and additional request options. // -// See SendContactMethodVerification for details on how to use this API operation. +// See PutInstancePublicPorts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) SendContactMethodVerificationWithContext(ctx aws.Context, input *SendContactMethodVerificationInput, opts ...request.Option) (*SendContactMethodVerificationOutput, error) { - req, out := c.SendContactMethodVerificationRequest(input) +func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) { + req, out := c.PutInstancePublicPortsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartInstance = "StartInstance" +const opRebootInstance = "RebootInstance" -// StartInstanceRequest generates a "aws/request.Request" representing the -// client's request for the StartInstance operation. The "output" return +// RebootInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RebootInstance operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StartInstance for more information on using the StartInstance +// See RebootInstance for more information on using the RebootInstance // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StartInstanceRequest method. -// req, resp := client.StartInstanceRequest(params) +// // Example sending a request using the RebootInstanceRequest method. +// req, resp := client.RebootInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance -func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance +func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) { op := &request.Operation{ - Name: opStartInstance, + Name: opRebootInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartInstanceInput{} + input = &RebootInstanceInput{} } - output = &StartInstanceOutput{} + output = &RebootInstanceOutput{} req = c.newRequest(op, input, output) return } -// StartInstance API operation for Amazon Lightsail. -// -// Starts a specific Amazon Lightsail instance from a stopped state. To restart -// an instance, use the reboot instance operation. +// RebootInstance API operation for Amazon Lightsail. // -// When you start a stopped instance, Lightsail assigns a new public IP address -// to the instance. To use the same IP address after stopping and starting an -// instance, create a static IP address and attach it to the instance. For more -// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// Restarts a specific instance. // -// The start instance operation supports tag-based access control via resource +// The reboot instance operation supports tag-based access control via resource // tags applied to the resource identified by instance name. For more information, // see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // @@ -10924,7 +11625,7 @@ func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *reques // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation StartInstance for usage and error information. +// API operation RebootInstance for usage and error information. // // Returned Error Types: // * ServiceException @@ -10955,76 +11656,75 @@ func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance -func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) { - req, out := c.StartInstanceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance +func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) { + req, out := c.RebootInstanceRequest(input) return out, req.Send() } -// StartInstanceWithContext is the same as StartInstance with the addition of +// RebootInstanceWithContext is the same as RebootInstance with the addition of // the ability to pass a context and additional request options. // -// See StartInstance for details on how to use this API operation. +// See RebootInstance for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) { - req, out := c.StartInstanceRequest(input) +func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) { + req, out := c.RebootInstanceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartRelationalDatabase = "StartRelationalDatabase" +const opRebootRelationalDatabase = "RebootRelationalDatabase" -// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the StartRelationalDatabase operation. The "output" return +// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the RebootRelationalDatabase operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StartRelationalDatabase for more information on using the StartRelationalDatabase +// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StartRelationalDatabaseRequest method. -// req, resp := client.StartRelationalDatabaseRequest(params) +// // Example sending a request using the RebootRelationalDatabaseRequest method. +// req, resp := client.RebootRelationalDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase -func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase +func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) { op := &request.Operation{ - Name: opStartRelationalDatabase, + Name: opRebootRelationalDatabase, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartRelationalDatabaseInput{} + input = &RebootRelationalDatabaseInput{} } - output = &StartRelationalDatabaseOutput{} + output = &RebootRelationalDatabaseOutput{} req = c.newRequest(op, input, output) return } -// StartRelationalDatabase API operation for Amazon Lightsail. +// RebootRelationalDatabase API operation for Amazon Lightsail. // -// Starts a specific database from a stopped state in Amazon Lightsail. To restart -// a database, use the reboot relational database operation. +// Restarts a specific database in Amazon Lightsail. // -// The start relational database operation supports tag-based access control +// The reboot relational database operation supports tag-based access control // via resource tags applied to the resource identified by relationalDatabaseName. // For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // @@ -11033,7 +11733,7 @@ func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabas // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation StartRelationalDatabase for usage and error information. +// API operation RebootRelationalDatabase for usage and error information. // // Returned Error Types: // * ServiceException @@ -11064,89 +11764,80 @@ func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabas // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase -func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) { - req, out := c.StartRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase +func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) { + req, out := c.RebootRelationalDatabaseRequest(input) return out, req.Send() } -// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of +// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of // the ability to pass a context and additional request options. // -// See StartRelationalDatabase for details on how to use this API operation. +// See RebootRelationalDatabase for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) { - req, out := c.StartRelationalDatabaseRequest(input) +func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) { + req, out := c.RebootRelationalDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopInstance = "StopInstance" +const opReleaseStaticIp = "ReleaseStaticIp" -// StopInstanceRequest generates a "aws/request.Request" representing the -// client's request for the StopInstance operation. The "output" return +// ReleaseStaticIpRequest generates a "aws/request.Request" representing the +// client's request for the ReleaseStaticIp operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopInstance for more information on using the StopInstance +// See ReleaseStaticIp for more information on using the ReleaseStaticIp // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StopInstanceRequest method. -// req, resp := client.StopInstanceRequest(params) +// // Example sending a request using the ReleaseStaticIpRequest method. +// req, resp := client.ReleaseStaticIpRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance -func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp +func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) { op := &request.Operation{ - Name: opStopInstance, + Name: opReleaseStaticIp, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopInstanceInput{} + input = &ReleaseStaticIpInput{} } - output = &StopInstanceOutput{} + output = &ReleaseStaticIpOutput{} req = c.newRequest(op, input, output) return } -// StopInstance API operation for Amazon Lightsail. -// -// Stops a specific Amazon Lightsail instance that is currently running. -// -// When you start a stopped instance, Lightsail assigns a new public IP address -// to the instance. To use the same IP address after stopping and starting an -// instance, create a static IP address and attach it to the instance. For more -// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// ReleaseStaticIp API operation for Amazon Lightsail. // -// The stop instance operation supports tag-based access control via resource -// tags applied to the resource identified by instance name. For more information, -// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Deletes a specific static IP from your account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation StopInstance for usage and error information. +// API operation ReleaseStaticIp for usage and error information. // // Returned Error Types: // * ServiceException @@ -11177,84 +11868,84 @@ func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request. // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance -func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) { - req, out := c.StopInstanceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp +func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) { + req, out := c.ReleaseStaticIpRequest(input) return out, req.Send() } -// StopInstanceWithContext is the same as StopInstance with the addition of +// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of // the ability to pass a context and additional request options. // -// See StopInstance for details on how to use this API operation. +// See ReleaseStaticIp for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) { - req, out := c.StopInstanceRequest(input) +func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) { + req, out := c.ReleaseStaticIpRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopRelationalDatabase = "StopRelationalDatabase" +const opResetDistributionCache = "ResetDistributionCache" -// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the StopRelationalDatabase operation. The "output" return +// ResetDistributionCacheRequest generates a "aws/request.Request" representing the +// client's request for the ResetDistributionCache operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopRelationalDatabase for more information on using the StopRelationalDatabase +// See ResetDistributionCache for more information on using the ResetDistributionCache // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StopRelationalDatabaseRequest method. -// req, resp := client.StopRelationalDatabaseRequest(params) +// // Example sending a request using the ResetDistributionCacheRequest method. +// req, resp := client.ResetDistributionCacheRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase -func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache +func (c *Lightsail) ResetDistributionCacheRequest(input *ResetDistributionCacheInput) (req *request.Request, output *ResetDistributionCacheOutput) { op := &request.Operation{ - Name: opStopRelationalDatabase, + Name: opResetDistributionCache, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopRelationalDatabaseInput{} + input = &ResetDistributionCacheInput{} } - output = &StopRelationalDatabaseOutput{} + output = &ResetDistributionCacheOutput{} req = c.newRequest(op, input, output) return } -// StopRelationalDatabase API operation for Amazon Lightsail. +// ResetDistributionCache API operation for Amazon Lightsail. // -// Stops a specific database that is currently running in Amazon Lightsail. +// Deletes currently cached content from your Amazon Lightsail content delivery +// network (CDN) distribution. // -// The stop relational database operation supports tag-based access control -// via resource tags applied to the resource identified by relationalDatabaseName. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// After resetting the cache, the next time a content request is made, your +// distribution pulls, serves, and caches it from the origin. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation StopRelationalDatabase for usage and error information. +// API operation ResetDistributionCache for usage and error information. // // Returned Error Types: // * ServiceException @@ -11278,94 +11969,97 @@ func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseI // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase -func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) { - req, out := c.StopRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache +func (c *Lightsail) ResetDistributionCache(input *ResetDistributionCacheInput) (*ResetDistributionCacheOutput, error) { + req, out := c.ResetDistributionCacheRequest(input) return out, req.Send() } -// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of +// ResetDistributionCacheWithContext is the same as ResetDistributionCache with the addition of // the ability to pass a context and additional request options. // -// See StopRelationalDatabase for details on how to use this API operation. +// See ResetDistributionCache for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) { - req, out := c.StopRelationalDatabaseRequest(input) +func (c *Lightsail) ResetDistributionCacheWithContext(ctx aws.Context, input *ResetDistributionCacheInput, opts ...request.Option) (*ResetDistributionCacheOutput, error) { + req, out := c.ResetDistributionCacheRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opSendContactMethodVerification = "SendContactMethodVerification" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// SendContactMethodVerificationRequest generates a "aws/request.Request" representing the +// client's request for the SendContactMethodVerification operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 SendContactMethodVerification for more information on using the SendContactMethodVerification // API call, and error handling. // // This method is useful when you want to 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 SendContactMethodVerificationRequest method. +// req, resp := client.SendContactMethodVerificationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource -func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification +func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMethodVerificationInput) (req *request.Request, output *SendContactMethodVerificationOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opSendContactMethodVerification, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TagResourceInput{} + input = &SendContactMethodVerificationInput{} } - output = &TagResourceOutput{} + output = &SendContactMethodVerificationOutput{} req = c.newRequest(op, input, output) return } -// TagResource API operation for Amazon Lightsail. +// SendContactMethodVerification API operation for Amazon Lightsail. // -// Adds one or more tags to the specified Amazon Lightsail resource. Each resource -// can have a maximum of 50 tags. Each tag consists of a key and an optional -// value. Tag keys must be unique per resource. For more information about tags, -// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). +// Sends a verification request to an email contact method to ensure it's owned +// by the requester. SMS contact methods don't need to be verified. // -// The tag resource operation supports tag-based access control via request -// tags and resource tags applied to the resource identified by resource name. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// A contact method is used to send you notifications about your Amazon Lightsail +// resources. You can add one email address and one mobile phone number contact +// method in each AWS Region. However, SMS text messaging is not supported in +// some AWS Regions, and SMS text messages cannot be sent to some countries/regions. +// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). +// +// A verification request is sent to the contact method when you initially create +// it. Use this action to send another verification request if a previous verification +// request was deleted, or has expired. +// +// Notifications are not sent to an email contact method until after it is verified, +// and confirmed as 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. // // See the AWS API reference guide for Amazon Lightsail's -// API operation TagResource for usage and error information. +// API operation SendContactMethodVerification for usage and error information. // // Returned Error Types: // * ServiceException @@ -11379,105 +12073,103 @@ func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Re // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. -// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// // * AccessDeniedException // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// -// * UnauthenticatedException -// Lightsail throws this exception when the user has not been authenticated. +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource -func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification +func (c *Lightsail) SendContactMethodVerification(input *SendContactMethodVerificationInput) (*SendContactMethodVerificationOutput, error) { + req, out := c.SendContactMethodVerificationRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// SendContactMethodVerificationWithContext is the same as SendContactMethodVerification 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 SendContactMethodVerification for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *Lightsail) SendContactMethodVerificationWithContext(ctx aws.Context, input *SendContactMethodVerificationInput, opts ...request.Option) (*SendContactMethodVerificationOutput, error) { + req, out := c.SendContactMethodVerificationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTestAlarm = "TestAlarm" +const opStartInstance = "StartInstance" -// TestAlarmRequest generates a "aws/request.Request" representing the -// client's request for the TestAlarm operation. The "output" return +// StartInstanceRequest generates a "aws/request.Request" representing the +// client's request for the StartInstance operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TestAlarm for more information on using the TestAlarm +// See StartInstance for more information on using the StartInstance // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TestAlarmRequest method. -// req, resp := client.TestAlarmRequest(params) +// // Example sending a request using the StartInstanceRequest method. +// req, resp := client.StartInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm -func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Request, output *TestAlarmOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance +func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) { op := &request.Operation{ - Name: opTestAlarm, + Name: opStartInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TestAlarmInput{} + input = &StartInstanceInput{} } - output = &TestAlarmOutput{} + output = &StartInstanceOutput{} req = c.newRequest(op, input, output) return } -// TestAlarm API operation for Amazon Lightsail. +// StartInstance API operation for Amazon Lightsail. // -// Tests an alarm by displaying a banner on the Amazon Lightsail console. If -// a notification trigger is configured for the specified alarm, the test also -// sends a notification to the notification protocol (Email and/or SMS) configured -// for the alarm. +// Starts a specific Amazon Lightsail instance from a stopped state. To restart +// an instance, use the reboot instance operation. // -// An alarm is used to monitor a single metric for one of your resources. When -// a metric condition is met, the alarm can notify you by email, SMS text message, -// and a banner displayed on the Amazon Lightsail console. For more information, -// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). +// When you start a stopped instance, Lightsail assigns a new public IP address +// to the instance. To use the same IP address after stopping and starting an +// instance, create a static IP address and attach it to the instance. For more +// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// +// The start instance operation supports tag-based access control via resource +// tags applied to the resource identified by instance name. For more information, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation TestAlarm for usage and error information. +// API operation StartInstance for usage and error information. // // Returned Error Types: // * ServiceException @@ -11491,93 +12183,102 @@ func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Reques // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // -// * UnauthenticatedException -// Lightsail throws this exception when the user has not been authenticated. -// // * AccessDeniedException // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm -func (c *Lightsail) TestAlarm(input *TestAlarmInput) (*TestAlarmOutput, error) { - req, out := c.TestAlarmRequest(input) +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance +func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) { + req, out := c.StartInstanceRequest(input) return out, req.Send() } -// TestAlarmWithContext is the same as TestAlarm with the addition of +// StartInstanceWithContext is the same as StartInstance with the addition of // the ability to pass a context and additional request options. // -// See TestAlarm for details on how to use this API operation. +// See StartInstance for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) TestAlarmWithContext(ctx aws.Context, input *TestAlarmInput, opts ...request.Option) (*TestAlarmOutput, error) { - req, out := c.TestAlarmRequest(input) +func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) { + req, out := c.StartInstanceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUnpeerVpc = "UnpeerVpc" +const opStartRelationalDatabase = "StartRelationalDatabase" -// UnpeerVpcRequest generates a "aws/request.Request" representing the -// client's request for the UnpeerVpc operation. The "output" return +// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the StartRelationalDatabase operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UnpeerVpc for more information on using the UnpeerVpc +// See StartRelationalDatabase for more information on using the StartRelationalDatabase // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UnpeerVpcRequest method. -// req, resp := client.UnpeerVpcRequest(params) +// // Example sending a request using the StartRelationalDatabaseRequest method. +// req, resp := client.StartRelationalDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc -func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase +func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) { op := &request.Operation{ - Name: opUnpeerVpc, + Name: opStartRelationalDatabase, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UnpeerVpcInput{} + input = &StartRelationalDatabaseInput{} } - output = &UnpeerVpcOutput{} + output = &StartRelationalDatabaseOutput{} req = c.newRequest(op, input, output) return } -// UnpeerVpc API operation for Amazon Lightsail. +// StartRelationalDatabase API operation for Amazon Lightsail. // -// Attempts to unpeer the Lightsail VPC from the user's default VPC. +// Starts a specific database from a stopped state in Amazon Lightsail. To restart +// a database, use the reboot relational database operation. +// +// The start relational database operation supports tag-based access control +// via resource tags applied to the resource identified by relationalDatabaseName. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation UnpeerVpc for usage and error information. +// API operation StartRelationalDatabase for usage and error information. // // Returned Error Types: // * ServiceException @@ -11608,85 +12309,89 @@ func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc -func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) { - req, out := c.UnpeerVpcRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase +func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) { + req, out := c.StartRelationalDatabaseRequest(input) return out, req.Send() } -// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of +// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of // the ability to pass a context and additional request options. // -// See UnpeerVpc for details on how to use this API operation. +// See StartRelationalDatabase for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) { - req, out := c.UnpeerVpcRequest(input) +func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) { + req, out := c.StartRelationalDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opStopInstance = "StopInstance" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// StopInstanceRequest generates a "aws/request.Request" representing the +// client's request for the StopInstance operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 StopInstance for more information on using the StopInstance // API call, and error handling. // // This method is useful when you want to 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 StopInstanceRequest method. +// req, resp := client.StopInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource -func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance +func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opStopInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UntagResourceInput{} + input = &StopInstanceInput{} } - output = &UntagResourceOutput{} + output = &StopInstanceOutput{} req = c.newRequest(op, input, output) return } -// UntagResource API operation for Amazon Lightsail. +// StopInstance API operation for Amazon Lightsail. // -// Deletes the specified set of tag keys and their values from the specified -// Amazon Lightsail resource. +// Stops a specific Amazon Lightsail instance that is currently running. // -// The untag resource operation supports tag-based access control via request -// tags and resource tags applied to the resource identified by resource name. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// When you start a stopped instance, Lightsail assigns a new public IP address +// to the instance. To use the same IP address after stopping and starting an +// instance, create a static IP address and attach it to the instance. For more +// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// +// The stop instance operation supports tag-based access control via resource +// tags applied to the resource identified by instance name. For more information, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation UntagResource for usage and error information. +// API operation StopInstance for usage and error information. // // Returned Error Types: // * ServiceException @@ -11717,84 +12422,84 @@ func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource -func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance +func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) { + req, out := c.StopInstanceRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// StopInstanceWithContext is the same as StopInstance 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. +// See StopInstance for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) { + req, out := c.StopInstanceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDomainEntry = "UpdateDomainEntry" +const opStopRelationalDatabase = "StopRelationalDatabase" -// UpdateDomainEntryRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDomainEntry operation. The "output" return +// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the StopRelationalDatabase operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDomainEntry for more information on using the UpdateDomainEntry +// See StopRelationalDatabase for more information on using the StopRelationalDatabase // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDomainEntryRequest method. -// req, resp := client.UpdateDomainEntryRequest(params) +// // Example sending a request using the StopRelationalDatabaseRequest method. +// req, resp := client.StopRelationalDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry -func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase +func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) { op := &request.Operation{ - Name: opUpdateDomainEntry, + Name: opStopRelationalDatabase, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateDomainEntryInput{} + input = &StopRelationalDatabaseInput{} } - output = &UpdateDomainEntryOutput{} + output = &StopRelationalDatabaseOutput{} req = c.newRequest(op, input, output) return } -// UpdateDomainEntry API operation for Amazon Lightsail. +// StopRelationalDatabase API operation for Amazon Lightsail. // -// Updates a domain recordset after it is created. +// Stops a specific database that is currently running in Amazon Lightsail. // -// The update domain entry operation supports tag-based access control via resource -// tags applied to the resource identified by domain name. For more information, -// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// The stop relational database operation supports tag-based access control +// via resource tags applied to the resource identified by relationalDatabaseName. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation UpdateDomainEntry for usage and error information. +// API operation StopRelationalDatabase for usage and error information. // // Returned Error Types: // * ServiceException @@ -11825,77 +12530,79 @@ func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry -func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) { - req, out := c.UpdateDomainEntryRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase +func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) { + req, out := c.StopRelationalDatabaseRequest(input) return out, req.Send() } -// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of +// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of // the ability to pass a context and additional request options. // -// See UpdateDomainEntry for details on how to use this API operation. +// See StopRelationalDatabase for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) { - req, out := c.UpdateDomainEntryRequest(input) +func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) { + req, out := c.StopRelationalDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute" +const opTagResource = "TagResource" -// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the -// client's request for the UpdateLoadBalancerAttribute operation. The "output" return +// 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 UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute +// 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 UpdateLoadBalancerAttributeRequest method. -// req, resp := client.UpdateLoadBalancerAttributeRequest(params) +// // 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/lightsail-2016-11-28/UpdateLoadBalancerAttribute -func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource +func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateLoadBalancerAttribute, + Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateLoadBalancerAttributeInput{} + input = &TagResourceInput{} } - output = &UpdateLoadBalancerAttributeOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) return } -// UpdateLoadBalancerAttribute API operation for Amazon Lightsail. +// TagResource API operation for Amazon Lightsail. // -// Updates the specified attribute for a load balancer. You can only update -// one attribute at a time. +// Adds one or more tags to the specified Amazon Lightsail resource. Each resource +// can have a maximum of 50 tags. Each tag consists of a key and an optional +// value. Tag keys must be unique per resource. For more information about tags, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). // -// The update load balancer attribute operation supports tag-based access control -// via resource tags applied to the resource identified by load balancer name. +// The tag resource operation supports tag-based access control via request +// tags and resource tags applied to the resource identified by resource name. // For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -11903,7 +12610,7 @@ func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancer // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation UpdateLoadBalancerAttribute for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Types: // * ServiceException @@ -11934,87 +12641,88 @@ func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancer // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute -func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) { - req, out := c.UpdateLoadBalancerAttributeRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource +func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateLoadBalancerAttribute for details on how to use this API operation. +// 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 *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) { - req, out := c.UpdateLoadBalancerAttributeRequest(input) +func (c *Lightsail) 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 opUpdateRelationalDatabase = "UpdateRelationalDatabase" +const opTestAlarm = "TestAlarm" -// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the UpdateRelationalDatabase operation. The "output" return +// TestAlarmRequest generates a "aws/request.Request" representing the +// client's request for the TestAlarm operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase +// See TestAlarm for more information on using the TestAlarm // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateRelationalDatabaseRequest method. -// req, resp := client.UpdateRelationalDatabaseRequest(params) +// // Example sending a request using the TestAlarmRequest method. +// req, resp := client.TestAlarmRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase -func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm +func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Request, output *TestAlarmOutput) { op := &request.Operation{ - Name: opUpdateRelationalDatabase, + Name: opTestAlarm, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateRelationalDatabaseInput{} + input = &TestAlarmInput{} } - output = &UpdateRelationalDatabaseOutput{} + output = &TestAlarmOutput{} req = c.newRequest(op, input, output) return } -// UpdateRelationalDatabase API operation for Amazon Lightsail. -// -// Allows the update of one or more attributes of a database in Amazon Lightsail. +// TestAlarm API operation for Amazon Lightsail. // -// Updates are applied immediately, or in cases where the updates could result -// in an outage, are applied during the database's predefined maintenance window. +// Tests an alarm by displaying a banner on the Amazon Lightsail console. If +// a notification trigger is configured for the specified alarm, the test also +// sends a notification to the notification protocol (Email and/or SMS) configured +// for the alarm. // -// The update relational database operation supports tag-based access control -// via resource tags applied to the resource identified by relationalDatabaseName. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// An alarm is used to monitor a single metric for one of your resources. When +// a metric condition is met, the alarm can notify you by email, SMS text message, +// and a banner displayed on the Amazon Lightsail console. For more information, +// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). // // Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's -// API operation UpdateRelationalDatabase for usage and error information. +// API operation TestAlarm for usage and error information. // // Returned Error Types: // * ServiceException @@ -12028,108 +12736,93 @@ func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatab // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. -// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// // * AccessDeniedException // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// -// * UnauthenticatedException -// Lightsail throws this exception when the user has not been authenticated. +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase -func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) { - req, out := c.UpdateRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm +func (c *Lightsail) TestAlarm(input *TestAlarmInput) (*TestAlarmOutput, error) { + req, out := c.TestAlarmRequest(input) return out, req.Send() } -// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of +// TestAlarmWithContext is the same as TestAlarm with the addition of // the ability to pass a context and additional request options. // -// See UpdateRelationalDatabase for details on how to use this API operation. +// See TestAlarm for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) { - req, out := c.UpdateRelationalDatabaseRequest(input) +func (c *Lightsail) TestAlarmWithContext(ctx aws.Context, input *TestAlarmInput, opts ...request.Option) (*TestAlarmOutput, error) { + req, out := c.TestAlarmRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters" +const opUnpeerVpc = "UnpeerVpc" -// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the -// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return +// UnpeerVpcRequest generates a "aws/request.Request" representing the +// client's request for the UnpeerVpc operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters +// See UnpeerVpc for more information on using the UnpeerVpc // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateRelationalDatabaseParametersRequest method. -// req, resp := client.UpdateRelationalDatabaseParametersRequest(params) +// // Example sending a request using the UnpeerVpcRequest method. +// req, resp := client.UnpeerVpcRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters -func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc +func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) { op := &request.Operation{ - Name: opUpdateRelationalDatabaseParameters, + Name: opUnpeerVpc, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateRelationalDatabaseParametersInput{} + input = &UnpeerVpcInput{} } - output = &UpdateRelationalDatabaseParametersOutput{} + output = &UnpeerVpcOutput{} req = c.newRequest(op, input, output) return } -// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail. -// -// Allows the update of one or more parameters of a database in Amazon Lightsail. -// -// Parameter updates don't cause outages; therefore, their application is not -// subject to the preferred maintenance window. However, there are two ways -// in which parameter updates are applied: dynamic or pending-reboot. Parameters -// marked with a dynamic apply type are applied immediately. Parameters marked -// with a pending-reboot apply type are applied only after the database is rebooted -// using the reboot relational database operation. +// UnpeerVpc API operation for Amazon Lightsail. // -// The update relational database parameters operation supports tag-based access -// control via resource tags applied to the resource identified by relationalDatabaseName. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Attempts to unpeer the Lightsail VPC from the user's default 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 Lightsail's -// API operation UpdateRelationalDatabaseParameters for usage and error information. +// API operation UnpeerVpc for usage and error information. // // Returned Error Types: // * ServiceException @@ -12160,248 +12853,2798 @@ func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelat // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters -func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) { - req, out := c.UpdateRelationalDatabaseParametersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc +func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) { + req, out := c.UnpeerVpcRequest(input) return out, req.Send() } -// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of +// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of // the ability to pass a context and additional request options. // -// See UpdateRelationalDatabaseParameters for details on how to use this API operation. +// See UnpeerVpc for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) { - req, out := c.UpdateRelationalDatabaseParametersRequest(input) +func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) { + req, out := c.UnpeerVpcRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Lightsail throws this exception when the user cannot be authenticated or -// uses invalid credentials to access a resource. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +const opUntagResource = "UntagResource" - Code_ *string `locationName:"code" type:"string"` +// 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/lightsail-2016-11-28/UntagResource +func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } - Docs *string `locationName:"docs" type:"string"` + if input == nil { + input = &UntagResourceInput{} + } - Message_ *string `locationName:"message" type:"string"` + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UntagResource API operation for Amazon Lightsail. +// +// Deletes the specified set of tag keys and their values from the specified +// Amazon Lightsail resource. +// +// The untag resource operation supports tag-based access control via request +// tags and resource tags applied to the resource identified by resource name. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource +func (c *Lightsail) 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 *Lightsail) 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 opUpdateDistribution = "UpdateDistribution" + +// UpdateDistributionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDistribution for more information on using the UpdateDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDistributionRequest method. +// req, resp := client.UpdateDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution +func (c *Lightsail) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) { + op := &request.Operation{ + Name: opUpdateDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDistributionInput{} + } + + output = &UpdateDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDistribution API operation for Amazon Lightsail. +// +// Updates an existing Amazon Lightsail content delivery network (CDN) distribution. +// +// Use this action to update the configuration of your existing distribution +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation UpdateDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution +func (c *Lightsail) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) { + req, out := c.UpdateDistributionRequest(input) + return out, req.Send() +} + +// UpdateDistributionWithContext is the same as UpdateDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateDistributionWithContext(ctx aws.Context, input *UpdateDistributionInput, opts ...request.Option) (*UpdateDistributionOutput, error) { + req, out := c.UpdateDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDistributionBundle = "UpdateDistributionBundle" + +// UpdateDistributionBundleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDistributionBundle operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDistributionBundle for more information on using the UpdateDistributionBundle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDistributionBundleRequest method. +// req, resp := client.UpdateDistributionBundleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle +func (c *Lightsail) UpdateDistributionBundleRequest(input *UpdateDistributionBundleInput) (req *request.Request, output *UpdateDistributionBundleOutput) { + op := &request.Operation{ + Name: opUpdateDistributionBundle, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDistributionBundleInput{} + } + + output = &UpdateDistributionBundleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDistributionBundle API operation for Amazon Lightsail. +// +// Updates the bundle of your Amazon Lightsail content delivery network (CDN) +// distribution. +// +// A distribution bundle specifies the monthly network transfer quota and monthly +// cost of your dsitribution. +// +// Update your distribution's bundle if your distribution is going over its +// monthly network transfer quota and is incurring an overage fee. +// +// You can update your distribution's bundle only one time within your monthly +// AWS billing cycle. To determine if you can update your distribution's bundle, +// use the GetDistributions action. The ableToUpdateBundle parameter in the +// result will indicate whether you can currently update your distribution's +// bundle. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation UpdateDistributionBundle for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle +func (c *Lightsail) UpdateDistributionBundle(input *UpdateDistributionBundleInput) (*UpdateDistributionBundleOutput, error) { + req, out := c.UpdateDistributionBundleRequest(input) + return out, req.Send() +} + +// UpdateDistributionBundleWithContext is the same as UpdateDistributionBundle with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDistributionBundle for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateDistributionBundleWithContext(ctx aws.Context, input *UpdateDistributionBundleInput, opts ...request.Option) (*UpdateDistributionBundleOutput, error) { + req, out := c.UpdateDistributionBundleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDomainEntry = "UpdateDomainEntry" + +// UpdateDomainEntryRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDomainEntry operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDomainEntry for more information on using the UpdateDomainEntry +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDomainEntryRequest method. +// req, resp := client.UpdateDomainEntryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry +func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) { + op := &request.Operation{ + Name: opUpdateDomainEntry, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDomainEntryInput{} + } + + output = &UpdateDomainEntryOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDomainEntry API operation for Amazon Lightsail. +// +// Updates a domain recordset after it is created. +// +// The update domain entry operation supports tag-based access control via resource +// tags applied to the resource identified by domain name. For more information, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation UpdateDomainEntry for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry +func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) { + req, out := c.UpdateDomainEntryRequest(input) + return out, req.Send() +} + +// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDomainEntry for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) { + req, out := c.UpdateDomainEntryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute" + +// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLoadBalancerAttribute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateLoadBalancerAttributeRequest method. +// req, resp := client.UpdateLoadBalancerAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute +func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) { + op := &request.Operation{ + Name: opUpdateLoadBalancerAttribute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateLoadBalancerAttributeInput{} + } + + output = &UpdateLoadBalancerAttributeOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateLoadBalancerAttribute API operation for Amazon Lightsail. +// +// Updates the specified attribute for a load balancer. You can only update +// one attribute at a time. +// +// The update load balancer attribute operation supports tag-based access control +// via resource tags applied to the resource identified by load balancer name. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation UpdateLoadBalancerAttribute for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute +func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) { + req, out := c.UpdateLoadBalancerAttributeRequest(input) + return out, req.Send() +} + +// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLoadBalancerAttribute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) { + req, out := c.UpdateLoadBalancerAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRelationalDatabase = "UpdateRelationalDatabase" + +// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRelationalDatabase operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateRelationalDatabaseRequest method. +// req, resp := client.UpdateRelationalDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase +func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) { + op := &request.Operation{ + Name: opUpdateRelationalDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRelationalDatabaseInput{} + } + + output = &UpdateRelationalDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRelationalDatabase API operation for Amazon Lightsail. +// +// Allows the update of one or more attributes of a database in Amazon Lightsail. +// +// Updates are applied immediately, or in cases where the updates could result +// in an outage, are applied during the database's predefined maintenance window. +// +// The update relational database operation supports tag-based access control +// via resource tags applied to the resource identified by relationalDatabaseName. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation UpdateRelationalDatabase for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase +func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) { + req, out := c.UpdateRelationalDatabaseRequest(input) + return out, req.Send() +} + +// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRelationalDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) { + req, out := c.UpdateRelationalDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters" + +// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateRelationalDatabaseParametersRequest method. +// req, resp := client.UpdateRelationalDatabaseParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters +func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) { + op := &request.Operation{ + Name: opUpdateRelationalDatabaseParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRelationalDatabaseParametersInput{} + } + + output = &UpdateRelationalDatabaseParametersOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail. +// +// Allows the update of one or more parameters of a database in Amazon Lightsail. +// +// Parameter updates don't cause outages; therefore, their application is not +// subject to the preferred maintenance window. However, there are two ways +// in which parameter updates are applied: dynamic or pending-reboot. Parameters +// marked with a dynamic apply type are applied immediately. Parameters marked +// with a pending-reboot apply type are applied only after the database is rebooted +// using the reboot relational database operation. +// +// The update relational database parameters operation supports tag-based access +// control via resource tags applied to the resource identified by relationalDatabaseName. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Lightsail's +// API operation UpdateRelationalDatabaseParameters for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters +func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) { + req, out := c.UpdateRelationalDatabaseParametersRequest(input) + return out, req.Send() +} + +// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRelationalDatabaseParameters for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) { + req, out := c.UpdateRelationalDatabaseParametersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Docs *string `locationName:"docs" type:"string"` + + Message_ *string `locationName:"message" type:"string"` + + Tip *string `locationName:"tip" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Lightsail throws this exception when an account is still in the setup in +// progress state. +type AccountSetupInProgressException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Docs *string `locationName:"docs" type:"string"` + + Message_ *string `locationName:"message" type:"string"` + + Tip *string `locationName:"tip" type:"string"` +} + +// String returns the string representation +func (s AccountSetupInProgressException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountSetupInProgressException) GoString() string { + return s.String() +} + +func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error { + return &AccountSetupInProgressException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccountSetupInProgressException) Code() string { + return "AccountSetupInProgressException" +} + +// Message returns the exception's message. +func (s *AccountSetupInProgressException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccountSetupInProgressException) OrigErr() error { + return nil +} + +func (s *AccountSetupInProgressException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccountSetupInProgressException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccountSetupInProgressException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Describes an add-on that is enabled for an Amazon Lightsail resource. +type AddOn struct { + _ struct{} `type:"structure"` + + // The name of the add-on. + Name *string `locationName:"name" type:"string"` + + // The next daily time an automatic snapshot will be created. + // + // The time shown is in HH:00 format, and in Coordinated Universal Time (UTC). + // + // The snapshot is automatically created between the time shown and up to 45 + // minutes after. + NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"` + + // The daily time when an automatic snapshot is created. + // + // The time shown is in HH:00 format, and in Coordinated Universal Time (UTC). + // + // The snapshot is automatically created between the time shown and up to 45 + // minutes after. + SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"` + + // The status of the add-on. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s AddOn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddOn) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *AddOn) SetName(v string) *AddOn { + s.Name = &v + return s +} + +// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value. +func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn { + s.NextSnapshotTimeOfDay = &v + return s +} + +// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value. +func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn { + s.SnapshotTimeOfDay = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AddOn) SetStatus(v string) *AddOn { + s.Status = &v + return s +} + +// Describes a request to enable, modify, or disable an add-on for an Amazon +// Lightsail resource. +// +// An additional cost may be associated with enabling add-ons. For more information, +// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/). +type AddOnRequest struct { + _ struct{} `type:"structure"` + + // The add-on type. + // + // AddOnType is a required field + AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"` + + // An object that represents additional parameters when enabling or modifying + // the automatic snapshot add-on. + AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"` +} + +// String returns the string representation +func (s AddOnRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddOnRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddOnRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"} + if s.AddOnType == nil { + invalidParams.Add(request.NewErrParamRequired("AddOnType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddOnType sets the AddOnType field's value. +func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest { + s.AddOnType = &v + return s +} + +// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value. +func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest { + s.AutoSnapshotAddOnRequest = v + return s +} + +// Describes an alarm. +// +// An alarm is a way to monitor your Amazon Lightsail resource metrics. For +// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). +type Alarm struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the alarm. + Arn *string `locationName:"arn" type:"string"` + + // The arithmetic operation used when comparing the specified statistic and + // threshold. + ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"` + + // The contact protocols for the alarm, such as Email, SMS (text messaging), + // or both. + ContactProtocols []*string `locationName:"contactProtocols" type:"list"` + + // The timestamp when the alarm was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // The number of data points that must not within the specified threshold to + // trigger the alarm. + DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"` + + // The number of periods over which data is compared to the specified threshold. + EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"` + + // An object that lists information about the location of the alarm. + Location *ResourceLocation `locationName:"location" type:"structure"` + + // The name of the metric associated with the alarm. + MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"` + + // An object that lists information about the resource monitored by the alarm. + MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"` + + // The name of the alarm. + Name *string `locationName:"name" type:"string"` + + // Indicates whether the alarm is enabled. + NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"` + + // The alarm states that trigger a notification. + NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"` + + // The period, in seconds, over which the statistic is applied. + Period *int64 `locationName:"period" min:"60" type:"integer"` + + // The Lightsail resource type (e.g., Alarm). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // The current state of the alarm. + // + // An alarm has the following possible states: + // + // * ALARM - The metric is outside of the defined threshold. + // + // * INSUFFICIENT_DATA - The alarm has just started, the metric is not available, + // or not enough data is available for the metric to determine the alarm + // state. + // + // * OK - The metric is within the defined threshold. + State *string `locationName:"state" type:"string" enum:"AlarmState"` + + // The statistic for the metric associated with the alarm. + // + // The following statistics are available: + // + // * Minimum - The lowest value observed during the specified period. Use + // this value to determine low volumes of activity for your application. + // + // * Maximum - The highest value observed during the specified period. Use + // this value to determine high volumes of activity for your application. + // + // * Sum - All values submitted for the matching metric added together. You + // can use this statistic to determine the total volume of a metric. + // + // * Average - The value of Sum / SampleCount during the specified period. + // By comparing this statistic with the Minimum and Maximum values, you can + // determine the full scope of a metric and how close the average use is + // to the Minimum and Maximum values. This comparison helps you to know when + // to increase or decrease your resources. + // + // * SampleCount - The count, or number, of data points used for the statistical + // calculation. + Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"` + + // The support code. Include this code in your email to support when you have + // questions about your Lightsail alarm. This code enables our support team + // to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The value against which the specified statistic is compared. + Threshold *float64 `locationName:"threshold" type:"double"` + + // Specifies how the alarm handles missing data points. + // + // An alarm can treat missing data in the following ways: + // + // * breaching - Assume the missing data is not within the threshold. Missing + // data counts towards the number of times the metric is not within the threshold. + // + // * notBreaching - Assume the missing data is within the threshold. Missing + // data does not count towards the number of times the metric is not within + // the threshold. + // + // * ignore - Ignore the missing data. Maintains the current alarm state. + // + // * missing - Missing data is treated as missing. + TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"` + + // The unit of the metric associated with the alarm. + Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"` +} + +// String returns the string representation +func (s Alarm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Alarm) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Alarm) SetArn(v string) *Alarm { + s.Arn = &v + return s +} + +// SetComparisonOperator sets the ComparisonOperator field's value. +func (s *Alarm) SetComparisonOperator(v string) *Alarm { + s.ComparisonOperator = &v + return s +} + +// SetContactProtocols sets the ContactProtocols field's value. +func (s *Alarm) SetContactProtocols(v []*string) *Alarm { + s.ContactProtocols = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Alarm) SetCreatedAt(v time.Time) *Alarm { + s.CreatedAt = &v + return s +} + +// SetDatapointsToAlarm sets the DatapointsToAlarm field's value. +func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm { + s.DatapointsToAlarm = &v + return s +} + +// SetEvaluationPeriods sets the EvaluationPeriods field's value. +func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm { + s.EvaluationPeriods = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm { + s.Location = v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *Alarm) SetMetricName(v string) *Alarm { + s.MetricName = &v + return s +} + +// SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value. +func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm { + s.MonitoredResourceInfo = v + return s +} + +// SetName sets the Name field's value. +func (s *Alarm) SetName(v string) *Alarm { + s.Name = &v + return s +} + +// SetNotificationEnabled sets the NotificationEnabled field's value. +func (s *Alarm) SetNotificationEnabled(v bool) *Alarm { + s.NotificationEnabled = &v + return s +} + +// SetNotificationTriggers sets the NotificationTriggers field's value. +func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm { + s.NotificationTriggers = v + return s +} + +// SetPeriod sets the Period field's value. +func (s *Alarm) SetPeriod(v int64) *Alarm { + s.Period = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *Alarm) SetResourceType(v string) *Alarm { + s.ResourceType = &v + return s +} + +// SetState sets the State field's value. +func (s *Alarm) SetState(v string) *Alarm { + s.State = &v + return s +} + +// SetStatistic sets the Statistic field's value. +func (s *Alarm) SetStatistic(v string) *Alarm { + s.Statistic = &v + return s +} + +// SetSupportCode sets the SupportCode field's value. +func (s *Alarm) SetSupportCode(v string) *Alarm { + s.SupportCode = &v + return s +} + +// SetThreshold sets the Threshold field's value. +func (s *Alarm) SetThreshold(v float64) *Alarm { + s.Threshold = &v + return s +} + +// SetTreatMissingData sets the TreatMissingData field's value. +func (s *Alarm) SetTreatMissingData(v string) *Alarm { + s.TreatMissingData = &v + return s +} + +// SetUnit sets the Unit field's value. +func (s *Alarm) SetUnit(v string) *Alarm { + s.Unit = &v + return s +} + +type AllocateStaticIpInput struct { + _ struct{} `type:"structure"` + + // The name of the static IP address. + // + // StaticIpName is a required field + StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AllocateStaticIpInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AllocateStaticIpInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AllocateStaticIpInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"} + if s.StaticIpName == nil { + invalidParams.Add(request.NewErrParamRequired("StaticIpName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStaticIpName sets the StaticIpName field's value. +func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput { + s.StaticIpName = &v + return s +} + +type AllocateStaticIpOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AllocateStaticIpOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AllocateStaticIpOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput { + s.Operations = v + return s +} + +type AttachCertificateToDistributionInput struct { + _ struct{} `type:"structure"` + + // The name of the certificate to attach to a distribution. + // + // Only certificates with a status of ISSUED can be attached to a distribution. + // + // Use the GetCertificates action to get a list of certificate names that you + // can specify. + // + // This is the name of the certificate resource type and is used only to reference + // the certificate in other API actions. It can be different than the domain + // name of the certificate. For example, your certificate name might be WordPress-Blog-Certificate + // and the domain name of the certificate might be example.com. + // + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` + + // The name of the distribution that the certificate will be attached to. + // + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachCertificateToDistributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachCertificateToDistributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachCertificateToDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachCertificateToDistributionInput"} + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) + } + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateName sets the CertificateName field's value. +func (s *AttachCertificateToDistributionInput) SetCertificateName(v string) *AttachCertificateToDistributionInput { + s.CertificateName = &v + return s +} + +// SetDistributionName sets the DistributionName field's value. +func (s *AttachCertificateToDistributionInput) SetDistributionName(v string) *AttachCertificateToDistributionInput { + s.DistributionName = &v + return s +} + +type AttachCertificateToDistributionOutput struct { + _ struct{} `type:"structure"` + + // An object that describes the result of the action, such as the status of + // the request, the timestamp of the request, and the resources affected by + // the request. + Operation *Operation `locationName:"operation" type:"structure"` +} + +// String returns the string representation +func (s AttachCertificateToDistributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachCertificateToDistributionOutput) GoString() string { + return s.String() +} + +// SetOperation sets the Operation field's value. +func (s *AttachCertificateToDistributionOutput) SetOperation(v *Operation) *AttachCertificateToDistributionOutput { + s.Operation = v + return s +} + +type AttachDiskInput struct { + _ struct{} `type:"structure"` + + // The unique Lightsail disk name (e.g., my-disk). + // + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` + + // The disk path to expose to the instance (e.g., /dev/xvdf). + // + // DiskPath is a required field + DiskPath *string `locationName:"diskPath" type:"string" required:"true"` + + // The name of the Lightsail instance where you want to utilize the storage + // disk. + // + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachDiskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachDiskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"} + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) + } + if s.DiskPath == nil { + invalidParams.Add(request.NewErrParamRequired("DiskPath")) + } + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiskName sets the DiskName field's value. +func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput { + s.DiskName = &v + return s +} + +// SetDiskPath sets the DiskPath field's value. +func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput { + s.DiskPath = &v + return s +} + +// SetInstanceName sets the InstanceName field's value. +func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput { + s.InstanceName = &v + return s +} + +type AttachDiskOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AttachDiskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachDiskOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput { + s.Operations = v + return s +} + +type AttachInstancesToLoadBalancerInput struct { + _ struct{} `type:"structure"` + + // An array of strings representing the instance name(s) you want to attach + // to your load balancer. + // + // An instance must be running before you can attach it to your load balancer. + // + // There are no additional limits on the number of instances you can attach + // to your load balancer, aside from the limit of Lightsail instances you can + // create in your account (20). + // + // InstanceNames is a required field + InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` + + // The name of the load balancer. + // + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachInstancesToLoadBalancerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachInstancesToLoadBalancerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachInstancesToLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"} + if s.InstanceNames == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceNames")) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceNames sets the InstanceNames field's value. +func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput { + s.InstanceNames = v + return s +} + +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput { + s.LoadBalancerName = &v + return s +} + +type AttachInstancesToLoadBalancerOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AttachInstancesToLoadBalancerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachInstancesToLoadBalancerOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput { + s.Operations = v + return s +} + +type AttachLoadBalancerTlsCertificateInput struct { + _ struct{} `type:"structure"` + + // The name of your SSL/TLS certificate. + // + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` + + // The name of the load balancer to which you want to associate the SSL/TLS + // certificate. + // + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachLoadBalancerTlsCertificateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachLoadBalancerTlsCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachLoadBalancerTlsCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"} + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateName sets the CertificateName field's value. +func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput { + s.CertificateName = &v + return s +} + +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput { + s.LoadBalancerName = &v + return s +} + +type AttachLoadBalancerTlsCertificateOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + // + // These SSL/TLS certificates are only usable by Lightsail load balancers. You + // can't get the certificate and use it for another purpose. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AttachLoadBalancerTlsCertificateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachLoadBalancerTlsCertificateOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput { + s.Operations = v + return s +} + +type AttachStaticIpInput struct { + _ struct{} `type:"structure"` + + // The instance name to which you want to attach the static IP address. + // + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + + // The name of the static IP. + // + // StaticIpName is a required field + StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachStaticIpInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachStaticIpInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachStaticIpInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) + } + if s.StaticIpName == nil { + invalidParams.Add(request.NewErrParamRequired("StaticIpName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceName sets the InstanceName field's value. +func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput { + s.InstanceName = &v + return s +} + +// SetStaticIpName sets the StaticIpName field's value. +func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput { + s.StaticIpName = &v + return s +} + +type AttachStaticIpOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AttachStaticIpOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachStaticIpOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput { + s.Operations = v + return s +} + +// Describes a block storage disk that is attached to an instance, and is included +// in an automatic snapshot. +type AttachedDisk struct { + _ struct{} `type:"structure"` + + // The path of the disk (e.g., /dev/xvdf). + Path *string `locationName:"path" type:"string"` + + // The size of the disk in GB. + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` +} + +// String returns the string representation +func (s AttachedDisk) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachedDisk) GoString() string { + return s.String() +} + +// SetPath sets the Path field's value. +func (s *AttachedDisk) SetPath(v string) *AttachedDisk { + s.Path = &v + return s +} + +// SetSizeInGb sets the SizeInGb field's value. +func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk { + s.SizeInGb = &v + return s +} + +// Describes a request to enable or modify the automatic snapshot add-on for +// an Amazon Lightsail instance or disk. +// +// When you modify the automatic snapshot time for a resource, it is typically +// effective immediately except under the following conditions: +// +// * If an automatic snapshot has been created for the current day, and you +// change the snapshot time to a later time of day, then the new snapshot +// time will be effective the following day. This ensures that two snapshots +// are not created for the current day. +// +// * If an automatic snapshot has not yet been created for the current day, +// and you change the snapshot time to an earlier time of day, then the new +// snapshot time will be effective the following day and a snapshot is automatically +// created at the previously set time for the current day. This ensures that +// a snapshot is created for the current day. +// +// * If an automatic snapshot has not yet been created for the current day, +// and you change the snapshot time to a time that is within 30 minutes from +// your current time, then the new snapshot time will be effective the following +// day and a snapshot is automatically created at the previously set time +// for the current day. This ensures that a snapshot is created for the current +// day, because 30 minutes is required between your current time and the +// new snapshot time that you specify. +// +// * If an automatic snapshot is scheduled to be created within 30 minutes +// from your current time and you change the snapshot time, then the new +// snapshot time will be effective the following day and a snapshot is automatically +// created at the previously set time for the current day. This ensures that +// a snapshot is created for the current day, because 30 minutes is required +// between your current time and the new snapshot time that you specify. +type AutoSnapshotAddOnRequest struct { + _ struct{} `type:"structure"` + + // The daily time when an automatic snapshot will be created. + // + // Constraints: + // + // * Must be in HH:00 format, and in an hourly increment. + // + // * Specified in Coordinated Universal Time (UTC). + // + // * The snapshot will be automatically created between the time specified + // and up to 45 minutes after. + SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"` +} + +// String returns the string representation +func (s AutoSnapshotAddOnRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutoSnapshotAddOnRequest) GoString() string { + return s.String() +} + +// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value. +func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest { + s.SnapshotTimeOfDay = &v + return s +} + +// Describes an automatic snapshot. +type AutoSnapshotDetails struct { + _ struct{} `type:"structure"` + + // The timestamp when the automatic snapshot was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // The date of the automatic snapshot in YYYY-MM-DD format. + Date *string `locationName:"date" type:"string"` + + // An array of objects that describe the block storage disks attached to the + // instance when the automatic snapshot was created. + FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"` + + // The status of the automatic snapshot. + Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"` +} + +// String returns the string representation +func (s AutoSnapshotDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutoSnapshotDetails) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails { + s.CreatedAt = &v + return s +} + +// SetDate sets the Date field's value. +func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails { + s.Date = &v + return s +} + +// SetFromAttachedDisks sets the FromAttachedDisks field's value. +func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails { + s.FromAttachedDisks = v + return s +} + +// SetStatus sets the Status field's value. +func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails { + s.Status = &v + return s +} + +// Describes an Availability Zone. +type AvailabilityZone struct { + _ struct{} `type:"structure"` + + // The state of the Availability Zone. + State *string `locationName:"state" type:"string"` + + // The name of the Availability Zone. The format is us-east-2a (case-sensitive). + ZoneName *string `locationName:"zoneName" type:"string"` +} + +// String returns the string representation +func (s AvailabilityZone) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailabilityZone) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *AvailabilityZone) SetState(v string) *AvailabilityZone { + s.State = &v + return s +} + +// SetZoneName sets the ZoneName field's value. +func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone { + s.ZoneName = &v + return s +} + +// Describes a blueprint (a virtual private server image). +type Blueprint struct { + _ struct{} `type:"structure"` + + // The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). + BlueprintId *string `locationName:"blueprintId" type:"string"` + + // The description of the blueprint. + Description *string `locationName:"description" type:"string"` + + // The group name of the blueprint (e.g., amazon-linux). + Group *string `locationName:"group" type:"string"` + + // A Boolean value indicating whether the blueprint is active. Inactive blueprints + // are listed to support customers with existing instances but are not necessarily + // available for launch of new instances. Blueprints are marked inactive when + // they become outdated due to operating system updates or new application releases. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // The end-user license agreement URL for the image or blueprint. + LicenseUrl *string `locationName:"licenseUrl" type:"string"` + + // The minimum bundle power required to run this blueprint. For example, you + // need a bundle with a power value of 500 or more to create an instance that + // uses a blueprint with a minimum power value of 500. 0 indicates that the + // blueprint runs on all instance sizes. + MinPower *int64 `locationName:"minPower" type:"integer"` + + // The friendly name of the blueprint (e.g., Amazon Linux). + Name *string `locationName:"name" type:"string"` + + // The operating system platform (either Linux/Unix-based or Windows Server-based) + // of the blueprint. + Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"` + + // The product URL to learn more about the image or blueprint. + ProductUrl *string `locationName:"productUrl" type:"string"` + + // The type of the blueprint (e.g., os or app). + Type *string `locationName:"type" type:"string" enum:"BlueprintType"` + + // The version number of the operating system, application, or stack (e.g., + // 2016.03.0). + Version *string `locationName:"version" type:"string"` + + // The version code. + VersionCode *string `locationName:"versionCode" type:"string"` +} + +// String returns the string representation +func (s Blueprint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Blueprint) GoString() string { + return s.String() +} + +// SetBlueprintId sets the BlueprintId field's value. +func (s *Blueprint) SetBlueprintId(v string) *Blueprint { + s.BlueprintId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Blueprint) SetDescription(v string) *Blueprint { + s.Description = &v + return s +} + +// SetGroup sets the Group field's value. +func (s *Blueprint) SetGroup(v string) *Blueprint { + s.Group = &v + return s +} + +// SetIsActive sets the IsActive field's value. +func (s *Blueprint) SetIsActive(v bool) *Blueprint { + s.IsActive = &v + return s +} + +// SetLicenseUrl sets the LicenseUrl field's value. +func (s *Blueprint) SetLicenseUrl(v string) *Blueprint { + s.LicenseUrl = &v + return s +} + +// SetMinPower sets the MinPower field's value. +func (s *Blueprint) SetMinPower(v int64) *Blueprint { + s.MinPower = &v + return s +} + +// SetName sets the Name field's value. +func (s *Blueprint) SetName(v string) *Blueprint { + s.Name = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *Blueprint) SetPlatform(v string) *Blueprint { + s.Platform = &v + return s +} + +// SetProductUrl sets the ProductUrl field's value. +func (s *Blueprint) SetProductUrl(v string) *Blueprint { + s.ProductUrl = &v + return s +} + +// SetType sets the Type field's value. +func (s *Blueprint) SetType(v string) *Blueprint { + s.Type = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Blueprint) SetVersion(v string) *Blueprint { + s.Version = &v + return s +} + +// SetVersionCode sets the VersionCode field's value. +func (s *Blueprint) SetVersionCode(v string) *Blueprint { + s.VersionCode = &v + return s +} + +// Describes a bundle, which is a set of specs describing your virtual private +// server (or instance). +type Bundle struct { + _ struct{} `type:"structure"` + + // The bundle ID (e.g., micro_1_0). + BundleId *string `locationName:"bundleId" type:"string"` + + // The number of vCPUs included in the bundle (e.g., 2). + CpuCount *int64 `locationName:"cpuCount" type:"integer"` + + // The size of the SSD (e.g., 30). + DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"` + + // The Amazon EC2 instance type (e.g., t2.micro). + InstanceType *string `locationName:"instanceType" type:"string"` + + // A Boolean value indicating whether the bundle is active. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // A friendly name for the bundle (e.g., Micro). + Name *string `locationName:"name" type:"string"` + + // A numeric value that represents the power of the bundle (e.g., 500). You + // can use the bundle's power value in conjunction with a blueprint's minimum + // power value to determine whether the blueprint will run on the bundle. For + // example, you need a bundle with a power value of 500 or more to create an + // instance that uses a blueprint with a minimum power value of 500. + Power *int64 `locationName:"power" type:"integer"` + + // The price in US dollars (e.g., 5.0) of the bundle. + Price *float64 `locationName:"price" type:"float"` + + // The amount of RAM in GB (e.g., 2.0). + RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"` + + // The operating system platform (Linux/Unix-based or Windows Server-based) + // that the bundle supports. You can only launch a WINDOWS bundle on a blueprint + // that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX + // bundle. + SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"` + + // The data transfer rate per month in GB (e.g., 2000). + TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"` +} + +// String returns the string representation +func (s Bundle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Bundle) GoString() string { + return s.String() +} + +// SetBundleId sets the BundleId field's value. +func (s *Bundle) SetBundleId(v string) *Bundle { + s.BundleId = &v + return s +} + +// SetCpuCount sets the CpuCount field's value. +func (s *Bundle) SetCpuCount(v int64) *Bundle { + s.CpuCount = &v + return s +} + +// SetDiskSizeInGb sets the DiskSizeInGb field's value. +func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle { + s.DiskSizeInGb = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *Bundle) SetInstanceType(v string) *Bundle { + s.InstanceType = &v + return s +} + +// SetIsActive sets the IsActive field's value. +func (s *Bundle) SetIsActive(v bool) *Bundle { + s.IsActive = &v + return s +} + +// SetName sets the Name field's value. +func (s *Bundle) SetName(v string) *Bundle { + s.Name = &v + return s +} + +// SetPower sets the Power field's value. +func (s *Bundle) SetPower(v int64) *Bundle { + s.Power = &v + return s +} + +// SetPrice sets the Price field's value. +func (s *Bundle) SetPrice(v float64) *Bundle { + s.Price = &v + return s +} + +// SetRamSizeInGb sets the RamSizeInGb field's value. +func (s *Bundle) SetRamSizeInGb(v float64) *Bundle { + s.RamSizeInGb = &v + return s +} - Tip *string `locationName:"tip" type:"string"` +// SetSupportedPlatforms sets the SupportedPlatforms field's value. +func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle { + s.SupportedPlatforms = v + return s +} + +// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value. +func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle { + s.TransferPerMonthInGb = &v + return s +} + +// Describes the default cache behavior of an Amazon Lightsail content delivery +// network (CDN) distribution. +type CacheBehavior struct { + _ struct{} `type:"structure"` + + // The cache behavior of the distribution. + // + // The following cache behaviors can be specified: + // + // * cache - This option is best for static sites. When specified, your distribution + // caches and serves your entire website as static content. This behavior + // is ideal for websites with static content that doesn't change depending + // on who views it, or for websites that don't use cookies, headers, or query + // strings to personalize content. + // + // * dont-cache - This option is best for sites that serve a mix of static + // and dynamic content. When specified, your distribution caches and serve + // only the content that is specified in the distribution's CacheBehaviorPerPath + // parameter. This behavior is ideal for websites or web applications that + // use cookies, headers, and query strings to personalize content for individual + // users. + Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"` } // String returns the string representation -func (s AccessDeniedException) String() string { +func (s CacheBehavior) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AccessDeniedException) GoString() string { +func (s CacheBehavior) GoString() string { return s.String() } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, - } +// SetBehavior sets the Behavior field's value. +func (s *CacheBehavior) SetBehavior(v string) *CacheBehavior { + s.Behavior = &v + return s } -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" +// Describes the per-path cache behavior of an Amazon Lightsail content delivery +// network (CDN) distribution. +// +// A per-path cache behavior is used to override, or add an exception to, the +// default cache behavior of a distribution. For example, if the cacheBehavior +// is set to cache, then a per-path cache behavior can be used to specify a +// directory, file, or file type that your distribution will cache. Alternately, +// if the distribution's cacheBehavior is dont-cache, then a per-path cache +// behavior can be used to specify a directory, file, or file type that your +// distribution will not cache. +// +// if the cacheBehavior's behavior is set to 'cache', then +type CacheBehaviorPerPath struct { + _ struct{} `type:"structure"` + + // The cache behavior for the specified path. + // + // You can specify one of the following per-path cache behaviors: + // + // * cache - This behavior caches the specified path. + // + // * dont-cache - This behavior doesn't cache the specified path. + Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"` + + // The path to a directory or file to cached, or not cache. Use an asterisk + // symbol to specify wildcard directories (path/to/assets/*), and file types + // (*.html, *jpg, *js). Directories and file paths are case-sensitive. + // + // Examples: + // + // * Specify the following to cache all files in the document root of an + // Apache web server running on a Lightsail instance. var/www/html/ + // + // * Specify the following file to cache only the index page in the document + // root of an Apache web server. var/www/html/index.html + // + // * Specify the following to cache only the .html files in the document + // root of an Apache web server. var/www/html/*.html + // + // * Specify the following to cache only the .jpg, .png, and .gif files in + // the images sub-directory of the document root of an Apache web server. + // var/www/html/images/*.jpg var/www/html/images/*.png var/www/html/images/*.gif + // Specify the following to cache all files in the images sub-directory of + // the document root of an Apache web server. var/www/html/images/ + Path *string `locationName:"path" type:"string"` } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// String returns the string representation +func (s CacheBehaviorPerPath) String() string { + return awsutil.Prettify(s) } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil +// GoString returns the string representation +func (s CacheBehaviorPerPath) GoString() string { + return s.String() } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetBehavior sets the Behavior field's value. +func (s *CacheBehaviorPerPath) SetBehavior(v string) *CacheBehaviorPerPath { + s.Behavior = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetPath sets the Path field's value. +func (s *CacheBehaviorPerPath) SetPath(v string) *CacheBehaviorPerPath { + s.Path = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// Describes the cache settings of an Amazon Lightsail content delivery network +// (CDN) distribution. +// +// These settings apply only to your distribution's cacheBehaviors (including +// the defaultCacheBehavior) that have a behavior of cache. +type CacheSettings struct { + _ struct{} `type:"structure"` + + // The HTTP methods that are processed and forwarded to the distribution's origin. + // + // You can specify the following options: + // + // * GET,HEAD - The distribution forwards the GET and HEAD methods. + // + // * GET,HEAD,OPTIONS - The distribution forwards the GET, HEAD, and OPTIONS + // methods. + // + // * GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE - The distribution forwards the + // GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE methods. + // + // If you specify the third option, you might need to restrict access to your + // distribution's origin so users can't perform operations that you don't want + // them to. For example, you might not want users to have permission to delete + // objects from your origin. + AllowedHTTPMethods *string `locationName:"allowedHTTPMethods" type:"string"` + + // The HTTP method responses that are cached by your distribution. + // + // You can specify the following options: + // + // * GET,HEAD - The distribution caches responses to the GET and HEAD methods. + // + // * GET,HEAD,OPTIONS - The distribution caches responses to the GET, HEAD, + // and OPTIONS methods. + CachedHTTPMethods *string `locationName:"cachedHTTPMethods" type:"string"` + + // The default amount of time that objects stay in the distribution's cache + // before the distribution forwards another request to the origin to determine + // whether the content has been updated. + // + // The value specified applies only when the origin does not add HTTP headers + // such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. + DefaultTTL *int64 `locationName:"defaultTTL" type:"long"` + + // An object that describes the cookies that are forwarded to the origin. Your + // content is cached based on the cookies that are forwarded. + ForwardedCookies *CookieObject `locationName:"forwardedCookies" type:"structure"` + + // An object that describes the headers that are forwarded to the origin. Your + // content is cached based on the headers that are forwarded. + ForwardedHeaders *HeaderObject `locationName:"forwardedHeaders" type:"structure"` + + // An object that describes the query strings that are forwarded to the origin. + // Your content is cached based on the query strings that are forwarded. + ForwardedQueryStrings *QueryStringObject `locationName:"forwardedQueryStrings" type:"structure"` + + // The maximum amount of time that objects stay in the distribution's cache + // before the distribution forwards another request to the origin to determine + // whether the object has been updated. + // + // The value specified applies only when the origin adds HTTP headers such as + // Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. + MaximumTTL *int64 `locationName:"maximumTTL" type:"long"` + + // The minimum amount of time that objects stay in the distribution's cache + // before the distribution forwards another request to the origin to determine + // whether the object has been updated. + // + // A value of 0 must be specified for minimumTTL if the distribution is configured + // to forward all headers to the origin. + MinimumTTL *int64 `locationName:"minimumTTL" type:"long"` } -// Lightsail throws this exception when an account is still in the setup in -// progress state. -type AccountSetupInProgressException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// String returns the string representation +func (s CacheSettings) String() string { + return awsutil.Prettify(s) +} - Code_ *string `locationName:"code" type:"string"` +// GoString returns the string representation +func (s CacheSettings) GoString() string { + return s.String() +} - Docs *string `locationName:"docs" type:"string"` +// SetAllowedHTTPMethods sets the AllowedHTTPMethods field's value. +func (s *CacheSettings) SetAllowedHTTPMethods(v string) *CacheSettings { + s.AllowedHTTPMethods = &v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetCachedHTTPMethods sets the CachedHTTPMethods field's value. +func (s *CacheSettings) SetCachedHTTPMethods(v string) *CacheSettings { + s.CachedHTTPMethods = &v + return s +} - Tip *string `locationName:"tip" type:"string"` +// SetDefaultTTL sets the DefaultTTL field's value. +func (s *CacheSettings) SetDefaultTTL(v int64) *CacheSettings { + s.DefaultTTL = &v + return s +} + +// SetForwardedCookies sets the ForwardedCookies field's value. +func (s *CacheSettings) SetForwardedCookies(v *CookieObject) *CacheSettings { + s.ForwardedCookies = v + return s +} + +// SetForwardedHeaders sets the ForwardedHeaders field's value. +func (s *CacheSettings) SetForwardedHeaders(v *HeaderObject) *CacheSettings { + s.ForwardedHeaders = v + return s +} + +// SetForwardedQueryStrings sets the ForwardedQueryStrings field's value. +func (s *CacheSettings) SetForwardedQueryStrings(v *QueryStringObject) *CacheSettings { + s.ForwardedQueryStrings = v + return s +} + +// SetMaximumTTL sets the MaximumTTL field's value. +func (s *CacheSettings) SetMaximumTTL(v int64) *CacheSettings { + s.MaximumTTL = &v + return s +} + +// SetMinimumTTL sets the MinimumTTL field's value. +func (s *CacheSettings) SetMinimumTTL(v int64) *CacheSettings { + s.MinimumTTL = &v + return s +} + +// Describes the full details of an Amazon Lightsail SSL/TLS certificate. +// +// To get a summary of a certificate, use the GetCertificates action and ommit +// includeCertificateDetails from your request. The response will include only +// the certificate Amazon Resource Name (ARN), certificate name, domain name, +// and tags. +type Certificate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the certificate. + Arn *string `locationName:"arn" type:"string"` + + // The timestamp when the certificate was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // The domain name of the certificate. + DomainName *string `locationName:"domainName" type:"string"` + + // An array of objects that describe the domain validation records of the certificate. + DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"` + + // The renewal eligibility of the certificate. + EligibleToRenew *string `locationName:"eligibleToRenew" type:"string"` + + // The number of Lightsail resources that the certificate is attached to. + InUseResourceCount *int64 `locationName:"inUseResourceCount" type:"integer"` + + // The timestamp when the certificate was issued. + IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"` + + // The certificate authority that issued the certificate. + IssuerCA *string `locationName:"issuerCA" type:"string"` + + // The algorithm used to generate the key pair (the public and private key) + // of the certificate. + KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"` + + // The name of the certificate (e.g., my-certificate). + Name *string `locationName:"name" type:"string"` + + // The timestamp when the certificate expires. + NotAfter *time.Time `locationName:"notAfter" type:"timestamp"` + + // The timestamp when the certificate is first valid. + NotBefore *time.Time `locationName:"notBefore" type:"timestamp"` + + // An object that describes the status of the certificate renewal managed by + // Lightsail. + RenewalSummary *RenewalSummary `locationName:"renewalSummary" type:"structure"` + + // The validation failure reason, if any, of the certificate. + // + // The following failure reasons are possible: + // + // * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which + // is not available for Lightsail certificates. + // + // * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information + // to process this certificate request. This can happen as a fraud-protection + // measure, such as when the domain ranks within the Alexa top 1000 websites. + // To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home) + // to contact AWS Support. You cannot request a certificate for Amazon-owned + // domain names such as those ending in amazonaws.com, cloudfront.net, or + // elasticbeanstalk.com. + // + // * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate + // request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url). + // To correct the problem, search for your domain name on the VirusTotal + // (https://www.virustotal.com/gui/home/url) website. If your domain is reported + // as suspicious, see Google Help for Hacked Websites (https://www.google.com/webmasters/hacked/?hl=en) + // to learn what you can do. If you believe that the result is a false positive, + // notify the organization that is reporting the domain. VirusTotal is an + // aggregate of several antivirus and URL scanners and cannot remove your + // domain from a block list itself. After you correct the problem and the + // VirusTotal registry has been updated, request a new certificate. If you + // see this error and your domain is not included in the VirusTotal list, + // visit the AWS Support Center (https://console.aws.amazon.com/support/home) + // and create a case. + // + // * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate + // request is not valid. Typically, this is because a domain name in the + // request is not a valid top-level domain. Try to request a certificate + // again, correcting any spelling errors or typos that were in the failed + // request, and ensure that all domain names in the request are for valid + // top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain + // because invalidpublicdomain is not a valid top-level domain. + // + // * OTHER - Typically, this failure occurs when there is a typographical + // error in one or more of the domain names in the certificate request. Try + // to request a certificate again, correcting any spelling errors or typos + // that were in the failed request. + RequestFailureReason *string `locationName:"requestFailureReason" type:"string"` + + // The reason the certificate was revoked. This value is present only when the + // certificate status is REVOKED. + RevocationReason *string `locationName:"revocationReason" type:"string"` + + // The timestamp when the certificate was revoked. This value is present only + // when the certificate status is REVOKED. + RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"` + + // The serial number of the certificate. + SerialNumber *string `locationName:"serialNumber" type:"string"` + + // The validation status of the certificate. + Status *string `locationName:"status" type:"string" enum:"CertificateStatus"` + + // An array of strings that specify the alternate domains (e.g., example2.com) + // and subdomains (e.g., blog.example.com) of the certificate. + SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"` + + // The support code. Include this code in your email to support when you have + // questions about your Lightsail certificate. This code enables our support + // team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s AccountSetupInProgressException) String() string { +func (s Certificate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AccountSetupInProgressException) GoString() string { +func (s Certificate) GoString() string { return s.String() } -func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error { - return &AccountSetupInProgressException{ - RespMetadata: v, - } +// SetArn sets the Arn field's value. +func (s *Certificate) SetArn(v string) *Certificate { + s.Arn = &v + return s } -// Code returns the exception type name. -func (s *AccountSetupInProgressException) Code() string { - return "AccountSetupInProgressException" +// SetCreatedAt sets the CreatedAt field's value. +func (s *Certificate) SetCreatedAt(v time.Time) *Certificate { + s.CreatedAt = &v + return s } -// Message returns the exception's message. -func (s *AccountSetupInProgressException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetDomainName sets the DomainName field's value. +func (s *Certificate) SetDomainName(v string) *Certificate { + s.DomainName = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccountSetupInProgressException) OrigErr() error { - return nil +// SetDomainValidationRecords sets the DomainValidationRecords field's value. +func (s *Certificate) SetDomainValidationRecords(v []*DomainValidationRecord) *Certificate { + s.DomainValidationRecords = v + return s +} + +// SetEligibleToRenew sets the EligibleToRenew field's value. +func (s *Certificate) SetEligibleToRenew(v string) *Certificate { + s.EligibleToRenew = &v + return s +} + +// SetInUseResourceCount sets the InUseResourceCount field's value. +func (s *Certificate) SetInUseResourceCount(v int64) *Certificate { + s.InUseResourceCount = &v + return s +} + +// SetIssuedAt sets the IssuedAt field's value. +func (s *Certificate) SetIssuedAt(v time.Time) *Certificate { + s.IssuedAt = &v + return s +} + +// SetIssuerCA sets the IssuerCA field's value. +func (s *Certificate) SetIssuerCA(v string) *Certificate { + s.IssuerCA = &v + return s +} + +// SetKeyAlgorithm sets the KeyAlgorithm field's value. +func (s *Certificate) SetKeyAlgorithm(v string) *Certificate { + s.KeyAlgorithm = &v + return s +} + +// SetName sets the Name field's value. +func (s *Certificate) SetName(v string) *Certificate { + s.Name = &v + return s +} + +// SetNotAfter sets the NotAfter field's value. +func (s *Certificate) SetNotAfter(v time.Time) *Certificate { + s.NotAfter = &v + return s +} + +// SetNotBefore sets the NotBefore field's value. +func (s *Certificate) SetNotBefore(v time.Time) *Certificate { + s.NotBefore = &v + return s +} + +// SetRenewalSummary sets the RenewalSummary field's value. +func (s *Certificate) SetRenewalSummary(v *RenewalSummary) *Certificate { + s.RenewalSummary = v + return s +} + +// SetRequestFailureReason sets the RequestFailureReason field's value. +func (s *Certificate) SetRequestFailureReason(v string) *Certificate { + s.RequestFailureReason = &v + return s +} + +// SetRevocationReason sets the RevocationReason field's value. +func (s *Certificate) SetRevocationReason(v string) *Certificate { + s.RevocationReason = &v + return s +} + +// SetRevokedAt sets the RevokedAt field's value. +func (s *Certificate) SetRevokedAt(v time.Time) *Certificate { + s.RevokedAt = &v + return s +} + +// SetSerialNumber sets the SerialNumber field's value. +func (s *Certificate) SetSerialNumber(v string) *Certificate { + s.SerialNumber = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Certificate) SetStatus(v string) *Certificate { + s.Status = &v + return s } -func (s *AccountSetupInProgressException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. +func (s *Certificate) SetSubjectAlternativeNames(v []*string) *Certificate { + s.SubjectAlternativeNames = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AccountSetupInProgressException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetSupportCode sets the SupportCode field's value. +func (s *Certificate) SetSupportCode(v string) *Certificate { + s.SupportCode = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *AccountSetupInProgressException) RequestID() string { - return s.RespMetadata.RequestID +// SetTags sets the Tags field's value. +func (s *Certificate) SetTags(v []*Tag) *Certificate { + s.Tags = v + return s } -// Describes an add-on that is enabled for an Amazon Lightsail resource. -type AddOn struct { +// Describes an Amazon Lightsail SSL/TLS certificate. +type CertificateSummary struct { _ struct{} `type:"structure"` - // The name of the add-on. - Name *string `locationName:"name" type:"string"` + // The Amazon Resource Name (ARN) of the certificate. + CertificateArn *string `locationName:"certificateArn" type:"string"` - // The next daily time an automatic snapshot will be created. - // - // The time shown is in HH:00 format, and in Coordinated Universal Time (UTC). - // - // The snapshot is automatically created between the time shown and up to 45 - // minutes after. - NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"` + // An object that describes a certificate in detail. + CertificateDetail *Certificate `locationName:"certificateDetail" type:"structure"` - // The daily time when an automatic snapshot is created. - // - // The time shown is in HH:00 format, and in Coordinated Universal Time (UTC). - // - // The snapshot is automatically created between the time shown and up to 45 - // minutes after. - SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"` + // The name of the certificate. + CertificateName *string `locationName:"certificateName" type:"string"` - // The status of the add-on. - Status *string `locationName:"status" type:"string"` + // The domain name of the certificate. + DomainName *string `locationName:"domainName" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s AddOn) String() string { +func (s CertificateSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddOn) GoString() string { +func (s CertificateSummary) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *AddOn) SetName(v string) *AddOn { - s.Name = &v +// SetCertificateArn sets the CertificateArn field's value. +func (s *CertificateSummary) SetCertificateArn(v string) *CertificateSummary { + s.CertificateArn = &v return s } -// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value. -func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn { - s.NextSnapshotTimeOfDay = &v +// SetCertificateDetail sets the CertificateDetail field's value. +func (s *CertificateSummary) SetCertificateDetail(v *Certificate) *CertificateSummary { + s.CertificateDetail = v return s } -// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value. -func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn { - s.SnapshotTimeOfDay = &v +// SetCertificateName sets the CertificateName field's value. +func (s *CertificateSummary) SetCertificateName(v string) *CertificateSummary { + s.CertificateName = &v return s } -// SetStatus sets the Status field's value. -func (s *AddOn) SetStatus(v string) *AddOn { - s.Status = &v +// SetDomainName sets the DomainName field's value. +func (s *CertificateSummary) SetDomainName(v string) *CertificateSummary { + s.DomainName = &v return s } -// Describes a request to enable, modify, or disable an add-on for an Amazon -// Lightsail resource. -// -// An additional cost may be associated with enabling add-ons. For more information, -// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/). -type AddOnRequest struct { +// SetTags sets the Tags field's value. +func (s *CertificateSummary) SetTags(v []*Tag) *CertificateSummary { + s.Tags = v + return s +} + +type CloseInstancePublicPortsInput struct { _ struct{} `type:"structure"` - // The add-on type. + // The name of the instance for which to close ports. // - // AddOnType is a required field - AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"` + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` - // An object that represents additional parameters when enabling or modifying - // the automatic snapshot add-on. - AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"` + // An object to describe the ports to close for the specified instance. + // + // PortInfo is a required field + PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"` } // String returns the string representation -func (s AddOnRequest) String() string { +func (s CloseInstancePublicPortsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddOnRequest) GoString() string { +func (s CloseInstancePublicPortsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AddOnRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"} - if s.AddOnType == nil { - invalidParams.Add(request.NewErrParamRequired("AddOnType")) +func (s *CloseInstancePublicPortsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) + } + if s.PortInfo == nil { + invalidParams.Add(request.NewErrParamRequired("PortInfo")) + } + if s.PortInfo != nil { + if err := s.PortInfo.Validate(); err != nil { + invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -12410,368 +15653,409 @@ func (s *AddOnRequest) Validate() error { return nil } -// SetAddOnType sets the AddOnType field's value. -func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest { - s.AddOnType = &v +// SetInstanceName sets the InstanceName field's value. +func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput { + s.InstanceName = &v return s } -// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value. -func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest { - s.AutoSnapshotAddOnRequest = v +// SetPortInfo sets the PortInfo field's value. +func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput { + s.PortInfo = v return s } -// Describes an alarm. -// -// An alarm is a way to monitor your Amazon Lightsail resource metrics. For -// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). -type Alarm struct { +type CloseInstancePublicPortsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the alarm. - Arn *string `locationName:"arn" type:"string"` - - // The arithmetic operation used when comparing the specified statistic and - // threshold. - ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"` - - // The contact protocols for the alarm, such as Email, SMS (text messaging), - // or both. - ContactProtocols []*string `locationName:"contactProtocols" type:"list"` - - // The timestamp when the alarm was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // The number of data points that must not within the specified threshold to - // trigger the alarm. - DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"` - - // The number of periods over which data is compared to the specified threshold. - EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"` - - // An object that lists information about the location of the alarm. - Location *ResourceLocation `locationName:"location" type:"structure"` - - // The name of the metric associated with the alarm. - MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"` - - // An object that lists information about the resource monitored by the alarm. - MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"` - - // The name of the alarm. - Name *string `locationName:"name" type:"string"` + // An object that describes the result of the action, such as the status of + // the request, the timestamp of the request, and the resources affected by + // the request. + Operation *Operation `locationName:"operation" type:"structure"` +} - // Indicates whether the alarm is enabled. - NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"` +// String returns the string representation +func (s CloseInstancePublicPortsOutput) String() string { + return awsutil.Prettify(s) +} - // The alarm states that trigger a notification. - NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"` +// GoString returns the string representation +func (s CloseInstancePublicPortsOutput) GoString() string { + return s.String() +} - // The period, in seconds, over which the statistic is applied. - Period *int64 `locationName:"period" min:"60" type:"integer"` +// SetOperation sets the Operation field's value. +func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput { + s.Operation = v + return s +} - // The Lightsail resource type (e.g., Alarm). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +// Describes a CloudFormation stack record created as a result of the create +// cloud formation stack operation. +// +// A CloudFormation stack record provides information about the AWS CloudFormation +// stack used to create a new Amazon Elastic Compute Cloud instance from an +// exported Lightsail instance snapshot. +type CloudFormationStackRecord struct { + _ struct{} `type:"structure"` - // The current state of the alarm. - // - // An alarm has the following possible states: - // - // * ALARM - The metric is outside of the defined threshold. - // - // * INSUFFICIENT_DATA - The alarm has just started, the metric is not available, - // or not enough data is available for the metric to determine the alarm - // state. - // - // * OK - The metric is within the defined threshold. - State *string `locationName:"state" type:"string" enum:"AlarmState"` + // The Amazon Resource Name (ARN) of the CloudFormation stack record. + Arn *string `locationName:"arn" type:"string"` - // The statistic for the metric associated with the alarm. - // - // The following statistics are available: - // - // * Minimum - The lowest value observed during the specified period. Use - // this value to determine low volumes of activity for your application. - // - // * Maximum - The highest value observed during the specified period. Use - // this value to determine high volumes of activity for your application. - // - // * Sum - All values submitted for the matching metric added together. You - // can use this statistic to determine the total volume of a metric. - // - // * Average - The value of Sum / SampleCount during the specified period. - // By comparing this statistic with the Minimum and Maximum values, you can - // determine the full scope of a metric and how close the average use is - // to the Minimum and Maximum values. This comparison helps you to know when - // to increase or decrease your resources. - // - // * SampleCount - The count, or number, of data points used for the statistical - // calculation. - Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"` + // The date when the CloudFormation stack record was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // The support code. Include this code in your email to support when you have - // questions about your Lightsail alarm. This code enables our support team - // to look up your Lightsail information more easily. - SupportCode *string `locationName:"supportCode" type:"string"` + // A list of objects describing the destination service, which is AWS CloudFormation, + // and the Amazon Resource Name (ARN) of the AWS CloudFormation stack. + DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"` - // The value against which the specified statistic is compared. - Threshold *float64 `locationName:"threshold" type:"double"` + // A list of objects describing the Availability Zone and AWS Region of the + // CloudFormation stack record. + Location *ResourceLocation `locationName:"location" type:"structure"` - // Specifies how the alarm handles missing data points. - // - // An alarm can treat missing data in the following ways: - // - // * breaching - Assume the missing data is not within the threshold. Missing - // data counts towards the number of times the metric is not within the threshold. - // - // * notBreaching - Assume the missing data is within the threshold. Missing - // data does not count towards the number of times the metric is not within - // the threshold. - // - // * ignore - Ignore the missing data. Maintains the current alarm state. - // - // * missing - Missing data is treated as missing. - TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"` + // The name of the CloudFormation stack record. It starts with CloudFormationStackRecord + // followed by a GUID. + Name *string `locationName:"name" type:"string"` - // The unit of the metric associated with the alarm. - Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"` + // The Lightsail resource type (e.g., CloudFormationStackRecord). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // A list of objects describing the source of the CloudFormation stack record. + SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"` + + // The current state of the CloudFormation stack record. + State *string `locationName:"state" type:"string" enum:"RecordState"` } // String returns the string representation -func (s Alarm) String() string { +func (s CloudFormationStackRecord) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Alarm) GoString() string { +func (s CloudFormationStackRecord) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *Alarm) SetArn(v string) *Alarm { +func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord { s.Arn = &v return s } -// SetComparisonOperator sets the ComparisonOperator field's value. -func (s *Alarm) SetComparisonOperator(v string) *Alarm { - s.ComparisonOperator = &v +// SetCreatedAt sets the CreatedAt field's value. +func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord { + s.CreatedAt = &v return s } -// SetContactProtocols sets the ContactProtocols field's value. -func (s *Alarm) SetContactProtocols(v []*string) *Alarm { - s.ContactProtocols = v +// SetDestinationInfo sets the DestinationInfo field's value. +func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord { + s.DestinationInfo = v return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *Alarm) SetCreatedAt(v time.Time) *Alarm { - s.CreatedAt = &v +// SetLocation sets the Location field's value. +func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord { + s.Location = v return s } -// SetDatapointsToAlarm sets the DatapointsToAlarm field's value. -func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm { - s.DatapointsToAlarm = &v +// SetName sets the Name field's value. +func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord { + s.Name = &v return s } -// SetEvaluationPeriods sets the EvaluationPeriods field's value. -func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm { - s.EvaluationPeriods = &v +// SetResourceType sets the ResourceType field's value. +func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord { + s.ResourceType = &v return s } -// SetLocation sets the Location field's value. -func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm { - s.Location = v +// SetSourceInfo sets the SourceInfo field's value. +func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord { + s.SourceInfo = v return s } -// SetMetricName sets the MetricName field's value. -func (s *Alarm) SetMetricName(v string) *Alarm { - s.MetricName = &v +// SetState sets the State field's value. +func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord { + s.State = &v return s } -// SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value. -func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm { - s.MonitoredResourceInfo = v +// Describes the source of a CloudFormation stack record (i.e., the export snapshot +// record). +type CloudFormationStackRecordSourceInfo struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the export snapshot record. + Arn *string `locationName:"arn" type:"string"` + + // The name of the record. + Name *string `locationName:"name" type:"string"` + + // The Lightsail resource type (e.g., ExportSnapshotRecord). + ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"` +} + +// String returns the string representation +func (s CloudFormationStackRecordSourceInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudFormationStackRecordSourceInfo) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo { + s.Arn = &v return s } // SetName sets the Name field's value. -func (s *Alarm) SetName(v string) *Alarm { +func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo { s.Name = &v return s } -// SetNotificationEnabled sets the NotificationEnabled field's value. -func (s *Alarm) SetNotificationEnabled(v bool) *Alarm { - s.NotificationEnabled = &v +// SetResourceType sets the ResourceType field's value. +func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo { + s.ResourceType = &v return s } -// SetNotificationTriggers sets the NotificationTriggers field's value. -func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm { - s.NotificationTriggers = v +// Describes a contact method. +// +// A contact method is a way to send you notifications. For more information, +// see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). +type ContactMethod struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact method. + Arn *string `locationName:"arn" type:"string"` + + // The destination of the contact method, such as an email address or a mobile + // phone number. + ContactEndpoint *string `locationName:"contactEndpoint" type:"string"` + + // The timestamp when the contact method was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Describes the resource location. + Location *ResourceLocation `locationName:"location" type:"structure"` + + // The name of the contact method. + Name *string `locationName:"name" type:"string"` + + // The protocol of the contact method, such as email or SMS (text messaging). + Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"` + + // The Lightsail resource type (e.g., ContactMethod). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // The current status of the contact method. + // + // A contact method has the following possible status: + // + // * PendingVerification - The contact method has not yet been verified, + // and the verification has not yet expired. + // + // * Valid - The contact method has been verified. + // + // * InValid - An attempt was made to verify the contact method, but the + // verification has expired. + Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"` + + // The support code. Include this code in your email to support when you have + // questions about your Lightsail contact method. This code enables our support + // team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` +} + +// String returns the string representation +func (s ContactMethod) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContactMethod) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ContactMethod) SetArn(v string) *ContactMethod { + s.Arn = &v return s } -// SetPeriod sets the Period field's value. -func (s *Alarm) SetPeriod(v int64) *Alarm { - s.Period = &v +// SetContactEndpoint sets the ContactEndpoint field's value. +func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod { + s.ContactEndpoint = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *Alarm) SetResourceType(v string) *Alarm { - s.ResourceType = &v +// SetCreatedAt sets the CreatedAt field's value. +func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod { + s.CreatedAt = &v return s } -// SetState sets the State field's value. -func (s *Alarm) SetState(v string) *Alarm { - s.State = &v +// SetLocation sets the Location field's value. +func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod { + s.Location = v return s } -// SetStatistic sets the Statistic field's value. -func (s *Alarm) SetStatistic(v string) *Alarm { - s.Statistic = &v +// SetName sets the Name field's value. +func (s *ContactMethod) SetName(v string) *ContactMethod { + s.Name = &v return s } -// SetSupportCode sets the SupportCode field's value. -func (s *Alarm) SetSupportCode(v string) *Alarm { - s.SupportCode = &v +// SetProtocol sets the Protocol field's value. +func (s *ContactMethod) SetProtocol(v string) *ContactMethod { + s.Protocol = &v return s } -// SetThreshold sets the Threshold field's value. -func (s *Alarm) SetThreshold(v float64) *Alarm { - s.Threshold = &v +// SetResourceType sets the ResourceType field's value. +func (s *ContactMethod) SetResourceType(v string) *ContactMethod { + s.ResourceType = &v return s } -// SetTreatMissingData sets the TreatMissingData field's value. -func (s *Alarm) SetTreatMissingData(v string) *Alarm { - s.TreatMissingData = &v +// SetStatus sets the Status field's value. +func (s *ContactMethod) SetStatus(v string) *ContactMethod { + s.Status = &v return s } -// SetUnit sets the Unit field's value. -func (s *Alarm) SetUnit(v string) *Alarm { - s.Unit = &v +// SetSupportCode sets the SupportCode field's value. +func (s *ContactMethod) SetSupportCode(v string) *ContactMethod { + s.SupportCode = &v return s } -type AllocateStaticIpInput struct { +// Describes whether an Amazon Lightsail content delivery network (CDN) distribution +// forwards cookies to the origin and, if so, which ones. +// +// For the cookies that you specify, your distribution caches separate versions +// of the specified content based on the cookie values in viewer requests. +type CookieObject struct { _ struct{} `type:"structure"` - // The name of the static IP address. - // - // StaticIpName is a required field - StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` + // The specific cookies to forward to your distribution's origin. + CookiesAllowList []*string `locationName:"cookiesAllowList" type:"list"` + + // Specifies which cookies to forward to the distribution's origin for a cache + // behavior: all, none, or allow-list to forward only the cookies specified + // in the cookiesAllowList parameter. + Option *string `locationName:"option" type:"string" enum:"ForwardValues"` } // String returns the string representation -func (s AllocateStaticIpInput) String() string { +func (s CookieObject) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AllocateStaticIpInput) GoString() string { +func (s CookieObject) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AllocateStaticIpInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"} - if s.StaticIpName == nil { - invalidParams.Add(request.NewErrParamRequired("StaticIpName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCookiesAllowList sets the CookiesAllowList field's value. +func (s *CookieObject) SetCookiesAllowList(v []*string) *CookieObject { + s.CookiesAllowList = v + return s } -// SetStaticIpName sets the StaticIpName field's value. -func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput { - s.StaticIpName = &v +// SetOption sets the Option field's value. +func (s *CookieObject) SetOption(v string) *CookieObject { + s.Option = &v return s } -type AllocateStaticIpOutput struct { +type CopySnapshotInput struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` -} - -// String returns the string representation -func (s AllocateStaticIpOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AllocateStaticIpOutput) GoString() string { - return s.String() -} + // The date of the source automatic snapshot to copy. Use the get auto snapshots + // operation to identify the dates of the available automatic snapshots. + // + // Constraints: + // + // * Must be specified in YYYY-MM-DD format. + // + // * This parameter cannot be defined together with the use latest restorable + // auto snapshot parameter. The restore date and use latest restorable auto + // snapshot parameters are mutually exclusive. + // + // * Define this parameter only when copying an automatic snapshot as a manual + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). + RestoreDate *string `locationName:"restoreDate" type:"string"` -// SetOperations sets the Operations field's value. -func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput { - s.Operations = v - return s -} + // The AWS Region where the source manual or automatic snapshot is located. + // + // SourceRegion is a required field + SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"` -type AttachDiskInput struct { - _ struct{} `type:"structure"` + // The name of the source instance or disk from which the source automatic snapshot + // was created. + // + // Constraint: + // + // * Define this parameter only when copying an automatic snapshot as a manual + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). + SourceResourceName *string `locationName:"sourceResourceName" type:"string"` - // The unique Lightsail disk name (e.g., my-disk). + // The name of the source manual snapshot to copy. // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` + // Constraint: + // + // * Define this parameter only when copying a manual snapshot as another + // manual snapshot. + SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"` - // The disk path to expose to the instance (e.g., /dev/xvdf). + // The name of the new manual snapshot to be created as a copy. // - // DiskPath is a required field - DiskPath *string `locationName:"diskPath" type:"string" required:"true"` + // TargetSnapshotName is a required field + TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"` - // The name of the Lightsail instance where you want to utilize the storage - // disk. + // A Boolean value to indicate whether to use the latest available automatic + // snapshot of the specified source instance or disk. // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + // Constraints: + // + // * This parameter cannot be defined together with the restore date parameter. + // The use latest restorable auto snapshot and restore date parameters are + // mutually exclusive. + // + // * Define this parameter only when copying an automatic snapshot as a manual + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). + UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` } // String returns the string representation -func (s AttachDiskInput) String() string { +func (s CopySnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachDiskInput) GoString() string { +func (s CopySnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AttachDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"} - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) - } - if s.DiskPath == nil { - invalidParams.Add(request.NewErrParamRequired("DiskPath")) +func (s *CopySnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} + if s.SourceRegion == nil { + invalidParams.Add(request.NewErrParamRequired("SourceRegion")) } - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) + if s.TargetSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) } if invalidParams.Len() > 0 { @@ -12780,25 +16064,43 @@ func (s *AttachDiskInput) Validate() error { return nil } -// SetDiskName sets the DiskName field's value. -func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput { - s.DiskName = &v +// SetRestoreDate sets the RestoreDate field's value. +func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput { + s.RestoreDate = &v return s } -// SetDiskPath sets the DiskPath field's value. -func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput { - s.DiskPath = &v +// SetSourceRegion sets the SourceRegion field's value. +func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput { + s.SourceRegion = &v return s } -// SetInstanceName sets the InstanceName field's value. -func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput { - s.InstanceName = &v +// SetSourceResourceName sets the SourceResourceName field's value. +func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput { + s.SourceResourceName = &v return s } -type AttachDiskOutput struct { +// SetSourceSnapshotName sets the SourceSnapshotName field's value. +func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { + s.SourceSnapshotName = &v + return s +} + +// SetTargetSnapshotName sets the TargetSnapshotName field's value. +func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { + s.TargetSnapshotName = &v + return s +} + +// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. +func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput { + s.UseLatestRestorableAutoSnapshot = &v + return s +} + +type CopySnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -12808,60 +16110,67 @@ type AttachDiskOutput struct { } // String returns the string representation -func (s AttachDiskOutput) String() string { +func (s CopySnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachDiskOutput) GoString() string { +func (s CopySnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput { +func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput { s.Operations = v return s } -type AttachInstancesToLoadBalancerInput struct { +type CreateCertificateInput struct { _ struct{} `type:"structure"` - // An array of strings representing the instance name(s) you want to attach - // to your load balancer. + // The name for the certificate. // - // An instance must be running before you can attach it to your load balancer. + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` + + // The domain name (e.g., example.com) for the certificate. // - // There are no additional limits on the number of instances you can attach - // to your load balancer, aside from the limit of Lightsail instances you can - // create in your account (20). + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` + + // An array of strings that specify the alternate domains (e.g., example2.com) + // and subdomains (e.g., blog.example.com) for the certificate. // - // InstanceNames is a required field - InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` + // You can specify a maximum of nine alternate domains (in addition to the primary + // domain name). + // + // Wildcard domain entries (e.g., *.example.com) are not supported. + SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"` - // The name of the load balancer. + // The tag keys and optional values to add to the certificate during create. // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s AttachInstancesToLoadBalancerInput) String() string { +func (s CreateCertificateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachInstancesToLoadBalancerInput) GoString() string { +func (s CreateCertificateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AttachInstancesToLoadBalancerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"} - if s.InstanceNames == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceNames")) +func (s *CreateCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCertificateInput"} + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) } if invalidParams.Len() > 0 { @@ -12870,21 +16179,36 @@ func (s *AttachInstancesToLoadBalancerInput) Validate() error { return nil } -// SetInstanceNames sets the InstanceNames field's value. -func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput { - s.InstanceNames = v +// SetCertificateName sets the CertificateName field's value. +func (s *CreateCertificateInput) SetCertificateName(v string) *CreateCertificateInput { + s.CertificateName = &v return s } -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput { - s.LoadBalancerName = &v +// SetDomainName sets the DomainName field's value. +func (s *CreateCertificateInput) SetDomainName(v string) *CreateCertificateInput { + s.DomainName = &v return s } -type AttachInstancesToLoadBalancerOutput struct { +// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. +func (s *CreateCertificateInput) SetSubjectAlternativeNames(v []*string) *CreateCertificateInput { + s.SubjectAlternativeNames = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateCertificateInput) SetTags(v []*Tag) *CreateCertificateInput { + s.Tags = v + return s +} + +type CreateCertificateOutput struct { _ struct{} `type:"structure"` + // An object that describes the certificate created. + Certificate *CertificateSummary `locationName:"certificate" type:"structure"` + // An array of objects that describe the result of the action, such as the status // of the request, the timestamp of the request, and the resources affected // by the request. @@ -12892,54 +16216,64 @@ type AttachInstancesToLoadBalancerOutput struct { } // String returns the string representation -func (s AttachInstancesToLoadBalancerOutput) String() string { +func (s CreateCertificateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachInstancesToLoadBalancerOutput) GoString() string { +func (s CreateCertificateOutput) GoString() string { return s.String() } +// SetCertificate sets the Certificate field's value. +func (s *CreateCertificateOutput) SetCertificate(v *CertificateSummary) *CreateCertificateOutput { + s.Certificate = v + return s +} + // SetOperations sets the Operations field's value. -func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput { +func (s *CreateCertificateOutput) SetOperations(v []*Operation) *CreateCertificateOutput { s.Operations = v return s } -type AttachLoadBalancerTlsCertificateInput struct { +type CreateCloudFormationStackInput struct { _ struct{} `type:"structure"` - // The name of your SSL/TLS certificate. - // - // CertificateName is a required field - CertificateName *string `locationName:"certificateName" type:"string" required:"true"` - - // The name of the load balancer to which you want to associate the SSL/TLS - // certificate. + // An array of parameters that will be used to create the new Amazon EC2 instance. + // You can only pass one instance entry at a time in this array. You will get + // an invalid parameter error if you pass more than one instance entry in this + // array. // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` + // Instances is a required field + Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"` } // String returns the string representation -func (s AttachLoadBalancerTlsCertificateInput) String() string { +func (s CreateCloudFormationStackInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachLoadBalancerTlsCertificateInput) GoString() string { +func (s CreateCloudFormationStackInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AttachLoadBalancerTlsCertificateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"} - if s.CertificateName == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateName")) +func (s *CreateCloudFormationStackInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"} + if s.Instances == nil { + invalidParams.Add(request.NewErrParamRequired("Instances")) } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) + if s.Instances != nil { + for i, v := range s.Instances { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -12948,78 +16282,102 @@ func (s *AttachLoadBalancerTlsCertificateInput) Validate() error { return nil } -// SetCertificateName sets the CertificateName field's value. -func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput { - s.CertificateName = &v - return s -} - -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput { - s.LoadBalancerName = &v +// SetInstances sets the Instances field's value. +func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput { + s.Instances = v return s } -type AttachLoadBalancerTlsCertificateOutput struct { +type CreateCloudFormationStackOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status // of the request, the timestamp of the request, and the resources affected // by the request. - // - // These SSL/TLS certificates are only usable by Lightsail load balancers. You - // can't get the certificate and use it for another purpose. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s AttachLoadBalancerTlsCertificateOutput) String() string { +func (s CreateCloudFormationStackOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachLoadBalancerTlsCertificateOutput) GoString() string { +func (s CreateCloudFormationStackOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput { +func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput { s.Operations = v return s } -type AttachStaticIpInput struct { +type CreateContactMethodInput struct { _ struct{} `type:"structure"` - // The instance name to which you want to attach the static IP address. + // The destination of the contact method, such as an email address or a mobile + // phone number. + // + // Use the E.164 format when specifying a mobile phone number. E.164 is a standard + // for the phone number structure used for international telecommunication. + // Phone numbers that follow this format can have a maximum of 15 digits, and + // they are prefixed with the plus character (+) and the country code. For example, + // a U.S. phone number in E.164 format would be specified as +1XXX5550100. For + // more information, see E.164 (https://en.wikipedia.org/wiki/E.164) on Wikipedia. // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + // ContactEndpoint is a required field + ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"` - // The name of the static IP. + // The protocol of the contact method, such as Email or SMS (text messaging). // - // StaticIpName is a required field - StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` + // The SMS protocol is supported only in the following AWS Regions. + // + // * US East (N. Virginia) (us-east-1) + // + // * US West (Oregon) (us-west-2) + // + // * Europe (Ireland) (eu-west-1) + // + // * Asia Pacific (Tokyo) (ap-northeast-1) + // + // * Asia Pacific (Singapore) (ap-southeast-1) + // + // * Asia Pacific (Sydney) (ap-southeast-2) + // + // For a list of countries/regions where SMS text messages can be sent, and + // the latest AWS Regions where SMS text messaging is supported, see Supported + // Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html) + // in the Amazon SNS Developer Guide. + // + // For more information about notifications in Amazon Lightsail, see Notifications + // in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). + // + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"` } // String returns the string representation -func (s AttachStaticIpInput) String() string { +func (s CreateContactMethodInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachStaticIpInput) GoString() string { +func (s CreateContactMethodInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AttachStaticIpInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) +func (s *CreateContactMethodInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"} + if s.ContactEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("ContactEndpoint")) } - if s.StaticIpName == nil { - invalidParams.Add(request.NewErrParamRequired("StaticIpName")) + if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) } if invalidParams.Len() > 0 { @@ -13028,19 +16386,19 @@ func (s *AttachStaticIpInput) Validate() error { return nil } -// SetInstanceName sets the InstanceName field's value. -func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput { - s.InstanceName = &v +// SetContactEndpoint sets the ContactEndpoint field's value. +func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput { + s.ContactEndpoint = &v return s } -// SetStaticIpName sets the StaticIpName field's value. -func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput { - s.StaticIpName = &v +// SetProtocol sets the Protocol field's value. +func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput { + s.Protocol = &v return s } -type AttachStaticIpOutput struct { +type CreateContactMethodOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -13050,493 +16408,516 @@ type AttachStaticIpOutput struct { } // String returns the string representation -func (s AttachStaticIpOutput) String() string { +func (s CreateContactMethodOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachStaticIpOutput) GoString() string { +func (s CreateContactMethodOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput { +func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput { s.Operations = v return s } -// Describes a block storage disk that is attached to an instance, and is included -// in an automatic snapshot. -type AttachedDisk struct { +type CreateDiskFromSnapshotInput struct { _ struct{} `type:"structure"` - // The path of the disk (e.g., /dev/xvdf). - Path *string `locationName:"path" type:"string"` - - // The size of the disk in GB. - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` -} + // An array of objects that represent the add-ons to enable for the new disk. + AddOns []*AddOnRequest `locationName:"addOns" type:"list"` -// String returns the string representation -func (s AttachedDisk) String() string { - return awsutil.Prettify(s) -} + // The Availability Zone where you want to create the disk (e.g., us-east-2a). + // Choose the same Availability Zone as the Lightsail instance where you want + // to create the disk. + // + // Use the GetRegions operation to list the Availability Zones where Lightsail + // is currently available. + // + // AvailabilityZone is a required field + AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` -// GoString returns the string representation -func (s AttachedDisk) GoString() string { - return s.String() -} + // The unique Lightsail disk name (e.g., my-disk). + // + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` -// SetPath sets the Path field's value. -func (s *AttachedDisk) SetPath(v string) *AttachedDisk { - s.Path = &v - return s -} + // The name of the disk snapshot (e.g., my-snapshot) from which to create the + // new storage disk. + // + // Constraint: + // + // * This parameter cannot be defined together with the source disk name + // parameter. The disk snapshot name and source disk name parameters are + // mutually exclusive. + DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"` -// SetSizeInGb sets the SizeInGb field's value. -func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk { - s.SizeInGb = &v - return s -} + // The date of the automatic snapshot to use for the new disk. Use the get auto + // snapshots operation to identify the dates of the available automatic snapshots. + // + // Constraints: + // + // * Must be specified in YYYY-MM-DD format. + // + // * This parameter cannot be defined together with the use latest restorable + // auto snapshot parameter. The restore date and use latest restorable auto + // snapshot parameters are mutually exclusive. + // + // * Define this parameter only when creating a new disk from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + RestoreDate *string `locationName:"restoreDate" type:"string"` -// Describes a request to enable or modify the automatic snapshot add-on for -// an Amazon Lightsail instance or disk. -// -// When you modify the automatic snapshot time for a resource, it is typically -// effective immediately except under the following conditions: -// -// * If an automatic snapshot has been created for the current day, and you -// change the snapshot time to a later time of day, then the new snapshot -// time will be effective the following day. This ensures that two snapshots -// are not created for the current day. -// -// * If an automatic snapshot has not yet been created for the current day, -// and you change the snapshot time to an earlier time of day, then the new -// snapshot time will be effective the following day and a snapshot is automatically -// created at the previously set time for the current day. This ensures that -// a snapshot is created for the current day. -// -// * If an automatic snapshot has not yet been created for the current day, -// and you change the snapshot time to a time that is within 30 minutes from -// your current time, then the new snapshot time will be effective the following -// day and a snapshot is automatically created at the previously set time -// for the current day. This ensures that a snapshot is created for the current -// day, because 30 minutes is required between your current time and the -// new snapshot time that you specify. -// -// * If an automatic snapshot is scheduled to be created within 30 minutes -// from your current time and you change the snapshot time, then the new -// snapshot time will be effective the following day and a snapshot is automatically -// created at the previously set time for the current day. This ensures that -// a snapshot is created for the current day, because 30 minutes is required -// between your current time and the new snapshot time that you specify. -type AutoSnapshotAddOnRequest struct { - _ struct{} `type:"structure"` + // The size of the disk in GB (e.g., 32). + // + // SizeInGb is a required field + SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"` - // The daily time when an automatic snapshot will be created. + // The name of the source disk from which the source automatic snapshot was + // created. // // Constraints: // - // * Must be in HH:00 format, and in an hourly increment. + // * This parameter cannot be defined together with the disk snapshot name + // parameter. The source disk name and disk snapshot name parameters are + // mutually exclusive. // - // * Specified in Coordinated Universal Time (UTC). + // * Define this parameter only when creating a new disk from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + SourceDiskName *string `locationName:"sourceDiskName" type:"string"` + + // The tag keys and optional values to add to the resource during create. // - // * The snapshot will be automatically created between the time specified - // and up to 45 minutes after. - SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"` + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` + + // A Boolean value to indicate whether to use the latest available automatic + // snapshot. + // + // Constraints: + // + // * This parameter cannot be defined together with the restore date parameter. + // The use latest restorable auto snapshot and restore date parameters are + // mutually exclusive. + // + // * Define this parameter only when creating a new disk from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` } // String returns the string representation -func (s AutoSnapshotAddOnRequest) String() string { +func (s CreateDiskFromSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AutoSnapshotAddOnRequest) GoString() string { +func (s CreateDiskFromSnapshotInput) GoString() string { return s.String() } -// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value. -func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest { - s.SnapshotTimeOfDay = &v - return s -} - -// Describes an automatic snapshot. -type AutoSnapshotDetails struct { - _ struct{} `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDiskFromSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"} + if s.AvailabilityZone == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) + } + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) + } + if s.SizeInGb == nil { + invalidParams.Add(request.NewErrParamRequired("SizeInGb")) + } + if s.AddOns != nil { + for i, v := range s.AddOns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) + } + } + } - // The timestamp when the automatic snapshot was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The date of the automatic snapshot in YYYY-MM-DD format. - Date *string `locationName:"date" type:"string"` +// SetAddOns sets the AddOns field's value. +func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput { + s.AddOns = v + return s +} - // An array of objects that describe the block storage disks attached to the - // instance when the automatic snapshot was created. - FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"` +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput { + s.AvailabilityZone = &v + return s +} - // The status of the automatic snapshot. - Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"` +// SetDiskName sets the DiskName field's value. +func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput { + s.DiskName = &v + return s } -// String returns the string representation -func (s AutoSnapshotDetails) String() string { - return awsutil.Prettify(s) +// SetDiskSnapshotName sets the DiskSnapshotName field's value. +func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput { + s.DiskSnapshotName = &v + return s } -// GoString returns the string representation -func (s AutoSnapshotDetails) GoString() string { - return s.String() +// SetRestoreDate sets the RestoreDate field's value. +func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput { + s.RestoreDate = &v + return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails { - s.CreatedAt = &v +// SetSizeInGb sets the SizeInGb field's value. +func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput { + s.SizeInGb = &v return s } -// SetDate sets the Date field's value. -func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails { - s.Date = &v +// SetSourceDiskName sets the SourceDiskName field's value. +func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput { + s.SourceDiskName = &v return s } -// SetFromAttachedDisks sets the FromAttachedDisks field's value. -func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails { - s.FromAttachedDisks = v +// SetTags sets the Tags field's value. +func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput { + s.Tags = v return s } -// SetStatus sets the Status field's value. -func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails { - s.Status = &v +// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. +func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput { + s.UseLatestRestorableAutoSnapshot = &v return s } -// Describes an Availability Zone. -type AvailabilityZone struct { +type CreateDiskFromSnapshotOutput struct { _ struct{} `type:"structure"` - // The state of the Availability Zone. - State *string `locationName:"state" type:"string"` - - // The name of the Availability Zone. The format is us-east-2a (case-sensitive). - ZoneName *string `locationName:"zoneName" type:"string"` + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s AvailabilityZone) String() string { +func (s CreateDiskFromSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AvailabilityZone) GoString() string { +func (s CreateDiskFromSnapshotOutput) GoString() string { return s.String() } -// SetState sets the State field's value. -func (s *AvailabilityZone) SetState(v string) *AvailabilityZone { - s.State = &v - return s -} - -// SetZoneName sets the ZoneName field's value. -func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone { - s.ZoneName = &v +// SetOperations sets the Operations field's value. +func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput { + s.Operations = v return s } -// Describes a blueprint (a virtual private server image). -type Blueprint struct { +type CreateDiskInput struct { _ struct{} `type:"structure"` - // The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). - BlueprintId *string `locationName:"blueprintId" type:"string"` - - // The description of the blueprint. - Description *string `locationName:"description" type:"string"` - - // The group name of the blueprint (e.g., amazon-linux). - Group *string `locationName:"group" type:"string"` - - // A Boolean value indicating whether the blueprint is active. Inactive blueprints - // are listed to support customers with existing instances but are not necessarily - // available for launch of new instances. Blueprints are marked inactive when - // they become outdated due to operating system updates or new application releases. - IsActive *bool `locationName:"isActive" type:"boolean"` - - // The end-user license agreement URL for the image or blueprint. - LicenseUrl *string `locationName:"licenseUrl" type:"string"` - - // The minimum bundle power required to run this blueprint. For example, you - // need a bundle with a power value of 500 or more to create an instance that - // uses a blueprint with a minimum power value of 500. 0 indicates that the - // blueprint runs on all instance sizes. - MinPower *int64 `locationName:"minPower" type:"integer"` - - // The friendly name of the blueprint (e.g., Amazon Linux). - Name *string `locationName:"name" type:"string"` - - // The operating system platform (either Linux/Unix-based or Windows Server-based) - // of the blueprint. - Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"` + // An array of objects that represent the add-ons to enable for the new disk. + AddOns []*AddOnRequest `locationName:"addOns" type:"list"` - // The product URL to learn more about the image or blueprint. - ProductUrl *string `locationName:"productUrl" type:"string"` + // The Availability Zone where you want to create the disk (e.g., us-east-2a). + // Use the same Availability Zone as the Lightsail instance to which you want + // to attach the disk. + // + // Use the get regions operation to list the Availability Zones where Lightsail + // is currently available. + // + // AvailabilityZone is a required field + AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` - // The type of the blueprint (e.g., os or app). - Type *string `locationName:"type" type:"string" enum:"BlueprintType"` + // The unique Lightsail disk name (e.g., my-disk). + // + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` - // The version number of the operating system, application, or stack (e.g., - // 2016.03.0). - Version *string `locationName:"version" type:"string"` + // The size of the disk in GB (e.g., 32). + // + // SizeInGb is a required field + SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"` - // The version code. - VersionCode *string `locationName:"versionCode" type:"string"` + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s Blueprint) String() string { +func (s CreateDiskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Blueprint) GoString() string { +func (s CreateDiskInput) GoString() string { return s.String() } -// SetBlueprintId sets the BlueprintId field's value. -func (s *Blueprint) SetBlueprintId(v string) *Blueprint { - s.BlueprintId = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *Blueprint) SetDescription(v string) *Blueprint { - s.Description = &v - return s -} - -// SetGroup sets the Group field's value. -func (s *Blueprint) SetGroup(v string) *Blueprint { - s.Group = &v - return s -} - -// SetIsActive sets the IsActive field's value. -func (s *Blueprint) SetIsActive(v bool) *Blueprint { - s.IsActive = &v - return s -} - -// SetLicenseUrl sets the LicenseUrl field's value. -func (s *Blueprint) SetLicenseUrl(v string) *Blueprint { - s.LicenseUrl = &v - return s -} - -// SetMinPower sets the MinPower field's value. -func (s *Blueprint) SetMinPower(v int64) *Blueprint { - s.MinPower = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"} + if s.AvailabilityZone == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) + } + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) + } + if s.SizeInGb == nil { + invalidParams.Add(request.NewErrParamRequired("SizeInGb")) + } + if s.AddOns != nil { + for i, v := range s.AddOns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) + } + } + } -// SetName sets the Name field's value. -func (s *Blueprint) SetName(v string) *Blueprint { - s.Name = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPlatform sets the Platform field's value. -func (s *Blueprint) SetPlatform(v string) *Blueprint { - s.Platform = &v +// SetAddOns sets the AddOns field's value. +func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput { + s.AddOns = v return s } -// SetProductUrl sets the ProductUrl field's value. -func (s *Blueprint) SetProductUrl(v string) *Blueprint { - s.ProductUrl = &v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput { + s.AvailabilityZone = &v return s } -// SetType sets the Type field's value. -func (s *Blueprint) SetType(v string) *Blueprint { - s.Type = &v +// SetDiskName sets the DiskName field's value. +func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput { + s.DiskName = &v return s } -// SetVersion sets the Version field's value. -func (s *Blueprint) SetVersion(v string) *Blueprint { - s.Version = &v +// SetSizeInGb sets the SizeInGb field's value. +func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput { + s.SizeInGb = &v return s } -// SetVersionCode sets the VersionCode field's value. -func (s *Blueprint) SetVersionCode(v string) *Blueprint { - s.VersionCode = &v +// SetTags sets the Tags field's value. +func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput { + s.Tags = v return s } -// Describes a bundle, which is a set of specs describing your virtual private -// server (or instance). -type Bundle struct { +type CreateDiskOutput struct { _ struct{} `type:"structure"` - // The bundle ID (e.g., micro_1_0). - BundleId *string `locationName:"bundleId" type:"string"` - - // The number of vCPUs included in the bundle (e.g., 2). - CpuCount *int64 `locationName:"cpuCount" type:"integer"` - - // The size of the SSD (e.g., 30). - DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"` + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} - // The Amazon EC2 instance type (e.g., t2.micro). - InstanceType *string `locationName:"instanceType" type:"string"` +// String returns the string representation +func (s CreateDiskOutput) String() string { + return awsutil.Prettify(s) +} - // A Boolean value indicating whether the bundle is active. - IsActive *bool `locationName:"isActive" type:"boolean"` +// GoString returns the string representation +func (s CreateDiskOutput) GoString() string { + return s.String() +} - // A friendly name for the bundle (e.g., Micro). - Name *string `locationName:"name" type:"string"` +// SetOperations sets the Operations field's value. +func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput { + s.Operations = v + return s +} - // A numeric value that represents the power of the bundle (e.g., 500). You - // can use the bundle's power value in conjunction with a blueprint's minimum - // power value to determine whether the blueprint will run on the bundle. For - // example, you need a bundle with a power value of 500 or more to create an - // instance that uses a blueprint with a minimum power value of 500. - Power *int64 `locationName:"power" type:"integer"` +type CreateDiskSnapshotInput struct { + _ struct{} `type:"structure"` - // The price in US dollars (e.g., 5.0) of the bundle. - Price *float64 `locationName:"price" type:"float"` + // The unique name of the source disk (e.g., Disk-Virginia-1). + // + // This parameter cannot be defined together with the instance name parameter. + // The disk name and instance name parameters are mutually exclusive. + DiskName *string `locationName:"diskName" type:"string"` - // The amount of RAM in GB (e.g., 2.0). - RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"` + // The name of the destination disk snapshot (e.g., my-disk-snapshot) based + // on the source disk. + // + // DiskSnapshotName is a required field + DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` - // The operating system platform (Linux/Unix-based or Windows Server-based) - // that the bundle supports. You can only launch a WINDOWS bundle on a blueprint - // that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX - // bundle. - SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"` + // The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). + // When this is defined, a snapshot of the instance's system volume is created. + // + // This parameter cannot be defined together with the disk name parameter. The + // instance name and disk name parameters are mutually exclusive. + InstanceName *string `locationName:"instanceName" type:"string"` - // The data transfer rate per month in GB (e.g., 2000). - TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"` + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s Bundle) String() string { +func (s CreateDiskSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Bundle) GoString() string { +func (s CreateDiskSnapshotInput) GoString() string { return s.String() } -// SetBundleId sets the BundleId field's value. -func (s *Bundle) SetBundleId(v string) *Bundle { - s.BundleId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDiskSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"} + if s.DiskSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) + } -// SetCpuCount sets the CpuCount field's value. -func (s *Bundle) SetCpuCount(v int64) *Bundle { - s.CpuCount = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDiskSizeInGb sets the DiskSizeInGb field's value. -func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle { - s.DiskSizeInGb = &v +// SetDiskName sets the DiskName field's value. +func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput { + s.DiskName = &v return s } -// SetInstanceType sets the InstanceType field's value. -func (s *Bundle) SetInstanceType(v string) *Bundle { - s.InstanceType = &v +// SetDiskSnapshotName sets the DiskSnapshotName field's value. +func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput { + s.DiskSnapshotName = &v return s } -// SetIsActive sets the IsActive field's value. -func (s *Bundle) SetIsActive(v bool) *Bundle { - s.IsActive = &v +// SetInstanceName sets the InstanceName field's value. +func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput { + s.InstanceName = &v return s } -// SetName sets the Name field's value. -func (s *Bundle) SetName(v string) *Bundle { - s.Name = &v +// SetTags sets the Tags field's value. +func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput { + s.Tags = v return s } -// SetPower sets the Power field's value. -func (s *Bundle) SetPower(v int64) *Bundle { - s.Power = &v - return s -} +type CreateDiskSnapshotOutput struct { + _ struct{} `type:"structure"` -// SetPrice sets the Price field's value. -func (s *Bundle) SetPrice(v float64) *Bundle { - s.Price = &v - return s + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } -// SetRamSizeInGb sets the RamSizeInGb field's value. -func (s *Bundle) SetRamSizeInGb(v float64) *Bundle { - s.RamSizeInGb = &v - return s +// String returns the string representation +func (s CreateDiskSnapshotOutput) String() string { + return awsutil.Prettify(s) } -// SetSupportedPlatforms sets the SupportedPlatforms field's value. -func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle { - s.SupportedPlatforms = v - return s +// GoString returns the string representation +func (s CreateDiskSnapshotOutput) GoString() string { + return s.String() } -// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value. -func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle { - s.TransferPerMonthInGb = &v +// SetOperations sets the Operations field's value. +func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput { + s.Operations = v return s } -type CloseInstancePublicPortsInput struct { +type CreateDistributionInput struct { _ struct{} `type:"structure"` - // The name of the instance for which to close ports. + // The bundle ID to use for the distribution. // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + // A distribution bundle describes the specifications of your distribution, + // such as the monthly cost and monthly network transfer quota. + // + // Use the GetDistributionBundles action to get a list of distribution bundle + // IDs that you can specify. + // + // BundleId is a required field + BundleId *string `locationName:"bundleId" type:"string" required:"true"` - // An object to describe the ports to close for the specified instance. + // An object that describes the cache behavior settings for the distribution. + CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"` + + // An array of objects that describe the per-path cache behavior for the distribution. + CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"` + + // An object that describes the default cache behavior for the distribution. // - // PortInfo is a required field - PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"` + // DefaultCacheBehavior is a required field + DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure" required:"true"` + + // The name for the distribution. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` + + // An object that describes the origin resource for the distribution, such as + // a Lightsail instance or load balancer. + // + // The distribution pulls, caches, and serves content from the origin. + // + // Origin is a required field + Origin *InputOrigin `locationName:"origin" type:"structure" required:"true"` + + // The tag keys and optional values to add to the distribution during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CloseInstancePublicPortsInput) String() string { +func (s CreateDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloseInstancePublicPortsInput) GoString() string { +func (s CreateDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CloseInstancePublicPortsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) +func (s *CreateDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"} + if s.BundleId == nil { + invalidParams.Add(request.NewErrParamRequired("BundleId")) } - if s.PortInfo == nil { - invalidParams.Add(request.NewErrParamRequired("PortInfo")) + if s.DefaultCacheBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior")) } - if s.PortInfo != nil { - if err := s.PortInfo.Validate(); err != nil { - invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams)) - } + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) + } + if s.Origin == nil { + invalidParams.Add(request.NewErrParamRequired("Origin")) } if invalidParams.Len() > 0 { @@ -13545,298 +16926,374 @@ func (s *CloseInstancePublicPortsInput) Validate() error { return nil } -// SetInstanceName sets the InstanceName field's value. -func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput { - s.InstanceName = &v +// SetBundleId sets the BundleId field's value. +func (s *CreateDistributionInput) SetBundleId(v string) *CreateDistributionInput { + s.BundleId = &v return s } -// SetPortInfo sets the PortInfo field's value. -func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput { - s.PortInfo = v +// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value. +func (s *CreateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *CreateDistributionInput { + s.CacheBehaviorSettings = v return s } -type CloseInstancePublicPortsOutput struct { +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *CreateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *CreateDistributionInput { + s.CacheBehaviors = v + return s +} + +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *CreateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *CreateDistributionInput { + s.DefaultCacheBehavior = v + return s +} + +// SetDistributionName sets the DistributionName field's value. +func (s *CreateDistributionInput) SetDistributionName(v string) *CreateDistributionInput { + s.DistributionName = &v + return s +} + +// SetOrigin sets the Origin field's value. +func (s *CreateDistributionInput) SetOrigin(v *InputOrigin) *CreateDistributionInput { + s.Origin = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDistributionInput) SetTags(v []*Tag) *CreateDistributionInput { + s.Tags = v + return s +} + +type CreateDistributionOutput struct { _ struct{} `type:"structure"` - // An object that describes the result of the action, such as the status of - // the request, the timestamp of the request, and the resources affected by - // the request. + // An object that describes the distribution created. + Distribution *LightsailDistribution `locationName:"distribution" type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. Operation *Operation `locationName:"operation" type:"structure"` } // String returns the string representation -func (s CloseInstancePublicPortsOutput) String() string { +func (s CreateDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloseInstancePublicPortsOutput) GoString() string { +func (s CreateDistributionOutput) GoString() string { return s.String() } +// SetDistribution sets the Distribution field's value. +func (s *CreateDistributionOutput) SetDistribution(v *LightsailDistribution) *CreateDistributionOutput { + s.Distribution = v + return s +} + // SetOperation sets the Operation field's value. -func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput { +func (s *CreateDistributionOutput) SetOperation(v *Operation) *CreateDistributionOutput { s.Operation = v return s } -// Describes a CloudFormation stack record created as a result of the create -// cloud formation stack operation. -// -// A CloudFormation stack record provides information about the AWS CloudFormation -// stack used to create a new Amazon Elastic Compute Cloud instance from an -// exported Lightsail instance snapshot. -type CloudFormationStackRecord struct { +type CreateDomainEntryInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the CloudFormation stack record. - Arn *string `locationName:"arn" type:"string"` - - // The date when the CloudFormation stack record was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // A list of objects describing the destination service, which is AWS CloudFormation, - // and the Amazon Resource Name (ARN) of the AWS CloudFormation stack. - DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"` - - // A list of objects describing the Availability Zone and AWS Region of the - // CloudFormation stack record. - Location *ResourceLocation `locationName:"location" type:"structure"` - - // The name of the CloudFormation stack record. It starts with CloudFormationStackRecord - // followed by a GUID. - Name *string `locationName:"name" type:"string"` - - // The Lightsail resource type (e.g., CloudFormationStackRecord). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` - - // A list of objects describing the source of the CloudFormation stack record. - SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"` + // An array of key-value pairs containing information about the domain entry + // request. + // + // DomainEntry is a required field + DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"` - // The current state of the CloudFormation stack record. - State *string `locationName:"state" type:"string" enum:"RecordState"` + // The domain name (e.g., example.com) for which you want to create the domain + // entry. + // + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` } // String returns the string representation -func (s CloudFormationStackRecord) String() string { +func (s CreateDomainEntryInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloudFormationStackRecord) GoString() string { +func (s CreateDomainEntryInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainEntryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"} + if s.DomainEntry == nil { + invalidParams.Add(request.NewErrParamRequired("DomainEntry")) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } -// SetCreatedAt sets the CreatedAt field's value. -func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord { - s.CreatedAt = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDestinationInfo sets the DestinationInfo field's value. -func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord { - s.DestinationInfo = v +// SetDomainEntry sets the DomainEntry field's value. +func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput { + s.DomainEntry = v return s } -// SetLocation sets the Location field's value. -func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord { - s.Location = v +// SetDomainName sets the DomainName field's value. +func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput { + s.DomainName = &v return s } -// SetName sets the Name field's value. -func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord { - s.Name = &v - return s +type CreateDomainEntryOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operation *Operation `locationName:"operation" type:"structure"` } -// SetResourceType sets the ResourceType field's value. -func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord { - s.ResourceType = &v - return s +// String returns the string representation +func (s CreateDomainEntryOutput) String() string { + return awsutil.Prettify(s) } -// SetSourceInfo sets the SourceInfo field's value. -func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord { - s.SourceInfo = v - return s +// GoString returns the string representation +func (s CreateDomainEntryOutput) GoString() string { + return s.String() } -// SetState sets the State field's value. -func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord { - s.State = &v +// SetOperation sets the Operation field's value. +func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput { + s.Operation = v return s } -// Describes the source of a CloudFormation stack record (i.e., the export snapshot -// record). -type CloudFormationStackRecordSourceInfo struct { +type CreateDomainInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the export snapshot record. - Arn *string `locationName:"arn" type:"string"` - - // The name of the record. - Name *string `locationName:"name" type:"string"` + // The domain name to manage (e.g., example.com). + // + // You cannot register a new domain name using Lightsail. You must register + // a domain name using Amazon Route 53 or another domain name registrar. If + // you have already registered your domain, you can enter its name in this parameter + // to manage the DNS records for that domain. + // + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` - // The Lightsail resource type (e.g., ExportSnapshotRecord). - ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"` + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CloudFormationStackRecordSourceInfo) String() string { +func (s CreateDomainInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloudFormationStackRecordSourceInfo) GoString() string { +func (s CreateDomainInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetName sets the Name field's value. -func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo { - s.Name = &v +// SetDomainName sets the DomainName field's value. +func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput { + s.DomainName = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo { - s.ResourceType = &v +// SetTags sets the Tags field's value. +func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput { + s.Tags = v return s } -// Describes a contact method. -// -// A contact method is a way to send you notifications. For more information, -// see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). -type ContactMethod struct { +type CreateDomainOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact method. - Arn *string `locationName:"arn" type:"string"` - - // The destination of the contact method, such as an email address or a mobile - // phone number. - ContactEndpoint *string `locationName:"contactEndpoint" type:"string"` - - // The timestamp when the contact method was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operation *Operation `locationName:"operation" type:"structure"` +} - // Describes the resource location. - Location *ResourceLocation `locationName:"location" type:"structure"` +// String returns the string representation +func (s CreateDomainOutput) String() string { + return awsutil.Prettify(s) +} - // The name of the contact method. - Name *string `locationName:"name" type:"string"` +// GoString returns the string representation +func (s CreateDomainOutput) GoString() string { + return s.String() +} - // The protocol of the contact method, such as email or SMS (text messaging). - Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"` +// SetOperation sets the Operation field's value. +func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput { + s.Operation = v + return s +} - // The Lightsail resource type (e.g., ContactMethod). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +type CreateInstanceSnapshotInput struct { + _ struct{} `type:"structure"` - // The current status of the contact method. - // - // A contact method has the following possible status: - // - // * PendingVerification - The contact method has not yet been verified, - // and the verification has not yet expired. + // The Lightsail instance on which to base your snapshot. // - // * Valid - The contact method has been verified. + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + + // The name for your new snapshot. // - // * InValid - An attempt was made to verify the contact method, but the - // verification has expired. - Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"` + // InstanceSnapshotName is a required field + InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"` - // The support code. Include this code in your email to support when you have - // questions about your Lightsail contact method. This code enables our support - // team to look up your Lightsail information more easily. - SupportCode *string `locationName:"supportCode" type:"string"` + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s ContactMethod) String() string { +func (s CreateInstanceSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ContactMethod) GoString() string { +func (s CreateInstanceSnapshotInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ContactMethod) SetArn(v string) *ContactMethod { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateInstanceSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) + } + if s.InstanceSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName")) + } -// SetContactEndpoint sets the ContactEndpoint field's value. -func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod { - s.ContactEndpoint = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreatedAt sets the CreatedAt field's value. -func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod { - s.CreatedAt = &v +// SetInstanceName sets the InstanceName field's value. +func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput { + s.InstanceName = &v return s } -// SetLocation sets the Location field's value. -func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod { - s.Location = v +// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. +func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput { + s.InstanceSnapshotName = &v return s } -// SetName sets the Name field's value. -func (s *ContactMethod) SetName(v string) *ContactMethod { - s.Name = &v +// SetTags sets the Tags field's value. +func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput { + s.Tags = v return s } -// SetProtocol sets the Protocol field's value. -func (s *ContactMethod) SetProtocol(v string) *ContactMethod { - s.Protocol = &v - return s +type CreateInstanceSnapshotOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } -// SetResourceType sets the ResourceType field's value. -func (s *ContactMethod) SetResourceType(v string) *ContactMethod { - s.ResourceType = &v - return s +// String returns the string representation +func (s CreateInstanceSnapshotOutput) String() string { + return awsutil.Prettify(s) } -// SetStatus sets the Status field's value. -func (s *ContactMethod) SetStatus(v string) *ContactMethod { - s.Status = &v - return s +// GoString returns the string representation +func (s CreateInstanceSnapshotOutput) GoString() string { + return s.String() } -// SetSupportCode sets the SupportCode field's value. -func (s *ContactMethod) SetSupportCode(v string) *ContactMethod { - s.SupportCode = &v +// SetOperations sets the Operations field's value. +func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput { + s.Operations = v return s } -type CopySnapshotInput struct { +type CreateInstancesFromSnapshotInput struct { _ struct{} `type:"structure"` - // The date of the source automatic snapshot to copy. Use the get auto snapshots - // operation to identify the dates of the available automatic snapshots. + // An array of objects representing the add-ons to enable for the new instance. + AddOns []*AddOnRequest `locationName:"addOns" type:"list"` + + // An object containing information about one or more disk mappings. + AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"` + + // The Availability Zone where you want to create your instances. Use the following + // formatting: us-east-2a (case sensitive). You can get a list of Availability + // Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html) + // operation. Be sure to add the include Availability Zones parameter to your + // request. + // + // AvailabilityZone is a required field + AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` + + // The bundle of specification information for your virtual private server (or + // instance), including the pricing plan (e.g., micro_1_0). + // + // BundleId is a required field + BundleId *string `locationName:"bundleId" type:"string" required:"true"` + + // The names for your new instances. + // + // InstanceNames is a required field + InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` + + // The name of the instance snapshot on which you are basing your new instances. + // Use the get instance snapshots operation to return information about your + // existing snapshots. + // + // Constraint: + // + // * This parameter cannot be defined together with the source instance name + // parameter. The instance snapshot name and source instance name parameters + // are mutually exclusive. + InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"` + + // The name for your key pair. + KeyPairName *string `locationName:"keyPairName" type:"string"` + + // The date of the automatic snapshot to use for the new instance. Use the get + // auto snapshots operation to identify the dates of the available automatic + // snapshots. // // Constraints: // @@ -13846,39 +17303,30 @@ type CopySnapshotInput struct { // auto snapshot parameter. The restore date and use latest restorable auto // snapshot parameters are mutually exclusive. // - // * Define this parameter only when copying an automatic snapshot as a manual - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). + // * Define this parameter only when creating a new instance from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). RestoreDate *string `locationName:"restoreDate" type:"string"` - // The AWS Region where the source manual or automatic snapshot is located. - // - // SourceRegion is a required field - SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"` - - // The name of the source instance or disk from which the source automatic snapshot + // The name of the source instance from which the source automatic snapshot // was created. // - // Constraint: - // - // * Define this parameter only when copying an automatic snapshot as a manual - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). - SourceResourceName *string `locationName:"sourceResourceName" type:"string"` - - // The name of the source manual snapshot to copy. + // Constraints: // - // Constraint: + // * This parameter cannot be defined together with the instance snapshot + // name parameter. The source instance name and instance snapshot name parameters + // are mutually exclusive. // - // * Define this parameter only when copying a manual snapshot as another - // manual snapshot. - SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"` + // * Define this parameter only when creating a new instance from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"` - // The name of the new manual snapshot to be created as a copy. + // The tag keys and optional values to add to the resource during create. // - // TargetSnapshotName is a required field - TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"` + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` // A Boolean value to indicate whether to use the latest available automatic - // snapshot of the specified source instance or disk. + // snapshot. // // Constraints: // @@ -13886,29 +17334,51 @@ type CopySnapshotInput struct { // The use latest restorable auto snapshot and restore date parameters are // mutually exclusive. // - // * Define this parameter only when copying an automatic snapshot as a manual - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). + // * Define this parameter only when creating a new instance from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` + + // You can create a launch script that configures a server with additional user + // data. For example, apt-get -y update. + // + // Depending on the machine image you choose, the command to get software on + // your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu + // use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide + // (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image). + UserData *string `locationName:"userData" type:"string"` } // String returns the string representation -func (s CopySnapshotInput) String() string { +func (s CreateInstancesFromSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CopySnapshotInput) GoString() string { +func (s CreateInstancesFromSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CopySnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} - if s.SourceRegion == nil { - invalidParams.Add(request.NewErrParamRequired("SourceRegion")) +func (s *CreateInstancesFromSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"} + if s.AvailabilityZone == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) } - if s.TargetSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) + if s.BundleId == nil { + invalidParams.Add(request.NewErrParamRequired("BundleId")) + } + if s.InstanceNames == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceNames")) + } + if s.AddOns != nil { + for i, v := range s.AddOns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -13917,43 +17387,79 @@ func (s *CopySnapshotInput) Validate() error { return nil } -// SetRestoreDate sets the RestoreDate field's value. -func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput { - s.RestoreDate = &v +// SetAddOns sets the AddOns field's value. +func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput { + s.AddOns = v return s } -// SetSourceRegion sets the SourceRegion field's value. -func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput { - s.SourceRegion = &v +// SetAttachedDiskMapping sets the AttachedDiskMapping field's value. +func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput { + s.AttachedDiskMapping = v return s } -// SetSourceResourceName sets the SourceResourceName field's value. -func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput { - s.SourceResourceName = &v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput { + s.AvailabilityZone = &v return s } -// SetSourceSnapshotName sets the SourceSnapshotName field's value. -func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { - s.SourceSnapshotName = &v +// SetBundleId sets the BundleId field's value. +func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput { + s.BundleId = &v return s } -// SetTargetSnapshotName sets the TargetSnapshotName field's value. -func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { - s.TargetSnapshotName = &v +// SetInstanceNames sets the InstanceNames field's value. +func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput { + s.InstanceNames = v + return s +} + +// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. +func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput { + s.InstanceSnapshotName = &v + return s +} + +// SetKeyPairName sets the KeyPairName field's value. +func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput { + s.KeyPairName = &v + return s +} + +// SetRestoreDate sets the RestoreDate field's value. +func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput { + s.RestoreDate = &v + return s +} + +// SetSourceInstanceName sets the SourceInstanceName field's value. +func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput { + s.SourceInstanceName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput { + s.Tags = v return s } // SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. -func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput { +func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput { s.UseLatestRestorableAutoSnapshot = &v return s } -type CopySnapshotOutput struct { +// SetUserData sets the UserData field's value. +func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput { + s.UserData = &v + return s +} + +type CreateInstancesFromSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -13963,56 +17469,118 @@ type CopySnapshotOutput struct { } // String returns the string representation -func (s CopySnapshotOutput) String() string { +func (s CreateInstancesFromSnapshotOutput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s CopySnapshotOutput) GoString() string { - return s.String() -} +// GoString returns the string representation +func (s CreateInstancesFromSnapshotOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput { + s.Operations = v + return s +} + +type CreateInstancesInput struct { + _ struct{} `type:"structure"` + + // An array of objects representing the add-ons to enable for the new instance. + AddOns []*AddOnRequest `locationName:"addOns" type:"list"` + + // The Availability Zone in which to create your instance. Use the following + // format: us-east-2a (case sensitive). You can get a list of Availability Zones + // by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html) + // operation. Be sure to add the include Availability Zones parameter to your + // request. + // + // AvailabilityZone is a required field + AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` + + // The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). + // Use the get blueprints operation to return a list of available images (or + // blueprints). + // + // Use active blueprints when creating new instances. Inactive blueprints are + // listed to support customers with existing instances and are not necessarily + // available to create new instances. Blueprints are marked inactive when they + // become outdated due to operating system updates or new application releases. + // + // BlueprintId is a required field + BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"` + + // The bundle of specification information for your virtual private server (or + // instance), including the pricing plan (e.g., micro_1_0). + // + // BundleId is a required field + BundleId *string `locationName:"bundleId" type:"string" required:"true"` + + // (Deprecated) The name for your custom image. + // + // In releases prior to June 12, 2017, this parameter was ignored by the API. + // It is now deprecated. + // + // Deprecated: CustomImageName has been deprecated + CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"` + + // The names to use for your new Lightsail instances. Separate multiple values + // using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"] + // + // InstanceNames is a required field + InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` -// SetOperations sets the Operations field's value. -func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput { - s.Operations = v - return s -} + // The name of your key pair. + KeyPairName *string `locationName:"keyPairName" type:"string"` -type CreateCloudFormationStackInput struct { - _ struct{} `type:"structure"` + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` - // An array of parameters that will be used to create the new Amazon EC2 instance. - // You can only pass one instance entry at a time in this array. You will get - // an invalid parameter error if you pass more than one instance entry in this - // array. + // A launch script you can create that configures a server with additional user + // data. For example, you might want to run apt-get -y update. // - // Instances is a required field - Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"` + // Depending on the machine image you choose, the command to get software on + // your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu + // use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide + // (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image). + UserData *string `locationName:"userData" type:"string"` } // String returns the string representation -func (s CreateCloudFormationStackInput) String() string { +func (s CreateInstancesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCloudFormationStackInput) GoString() string { +func (s CreateInstancesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateCloudFormationStackInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"} - if s.Instances == nil { - invalidParams.Add(request.NewErrParamRequired("Instances")) +func (s *CreateInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"} + if s.AvailabilityZone == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) } - if s.Instances != nil { - for i, v := range s.Instances { + if s.BlueprintId == nil { + invalidParams.Add(request.NewErrParamRequired("BlueprintId")) + } + if s.BundleId == nil { + invalidParams.Add(request.NewErrParamRequired("BundleId")) + } + if s.InstanceNames == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceNames")) + } + if s.AddOns != nil { + for i, v := range s.AddOns { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) } } } @@ -14023,13 +17591,61 @@ func (s *CreateCloudFormationStackInput) Validate() error { return nil } -// SetInstances sets the Instances field's value. -func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput { - s.Instances = v +// SetAddOns sets the AddOns field's value. +func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput { + s.AddOns = v return s } -type CreateCloudFormationStackOutput struct { +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput { + s.AvailabilityZone = &v + return s +} + +// SetBlueprintId sets the BlueprintId field's value. +func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput { + s.BlueprintId = &v + return s +} + +// SetBundleId sets the BundleId field's value. +func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput { + s.BundleId = &v + return s +} + +// SetCustomImageName sets the CustomImageName field's value. +func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput { + s.CustomImageName = &v + return s +} + +// SetInstanceNames sets the InstanceNames field's value. +func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput { + s.InstanceNames = v + return s +} + +// SetKeyPairName sets the KeyPairName field's value. +func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput { + s.KeyPairName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput { + s.Tags = v + return s +} + +// SetUserData sets the UserData field's value. +func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput { + s.UserData = &v + return s +} + +type CreateInstancesOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -14039,86 +17655,50 @@ type CreateCloudFormationStackOutput struct { } // String returns the string representation -func (s CreateCloudFormationStackOutput) String() string { +func (s CreateInstancesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCloudFormationStackOutput) GoString() string { +func (s CreateInstancesOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput { +func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput { s.Operations = v return s } -type CreateContactMethodInput struct { +type CreateKeyPairInput struct { _ struct{} `type:"structure"` - // The destination of the contact method, such as an email address or a mobile - // phone number. - // - // Use the E.164 format when specifying a mobile phone number. E.164 is a standard - // for the phone number structure used for international telecommunication. - // Phone numbers that follow this format can have a maximum of 15 digits, and - // they are prefixed with the plus character (+) and the country code. For example, - // a U.S. phone number in E.164 format would be specified as +1XXX5550100. For - // more information, see E.164 (https://en.wikipedia.org/wiki/E.164) on Wikipedia. + // The name for your new key pair. // - // ContactEndpoint is a required field - ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"` + // KeyPairName is a required field + KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"` - // The protocol of the contact method, such as Email or SMS (text messaging). - // - // The SMS protocol is supported only in the following AWS Regions. - // - // * US East (N. Virginia) (us-east-1) - // - // * US West (Oregon) (us-west-2) - // - // * Europe (Ireland) (eu-west-1) - // - // * Asia Pacific (Tokyo) (ap-northeast-1) - // - // * Asia Pacific (Singapore) (ap-southeast-1) - // - // * Asia Pacific (Sydney) (ap-southeast-2) - // - // For a list of countries/regions where SMS text messages can be sent, and - // the latest AWS Regions where SMS text messaging is supported, see Supported - // Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html) - // in the Amazon SNS Developer Guide. - // - // For more information about notifications in Amazon Lightsail, see Notifications - // in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). + // The tag keys and optional values to add to the resource during create. // - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"` + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CreateContactMethodInput) String() string { +func (s CreateKeyPairInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateContactMethodInput) GoString() string { +func (s CreateKeyPairInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateContactMethodInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"} - if s.ContactEndpoint == nil { - invalidParams.Add(request.NewErrParamRequired("ContactEndpoint")) - } - if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1)) - } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) +func (s *CreateKeyPairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"} + if s.KeyPairName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyPairName")) } if invalidParams.Len() > 0 { @@ -14127,157 +17707,136 @@ func (s *CreateContactMethodInput) Validate() error { return nil } -// SetContactEndpoint sets the ContactEndpoint field's value. -func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput { - s.ContactEndpoint = &v +// SetKeyPairName sets the KeyPairName field's value. +func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput { + s.KeyPairName = &v return s } -// SetProtocol sets the Protocol field's value. -func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput { - s.Protocol = &v +// SetTags sets the Tags field's value. +func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput { + s.Tags = v return s } -type CreateContactMethodOutput struct { +type CreateKeyPairOutput struct { _ struct{} `type:"structure"` + // An array of key-value pairs containing information about the new key pair + // you just created. + KeyPair *KeyPair `locationName:"keyPair" type:"structure"` + // An array of objects that describe the result of the action, such as the status // of the request, the timestamp of the request, and the resources affected // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + Operation *Operation `locationName:"operation" type:"structure"` + + // A base64-encoded RSA private key. + PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"` + + // A base64-encoded public key of the ssh-rsa type. + PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"` } // String returns the string representation -func (s CreateContactMethodOutput) String() string { +func (s CreateKeyPairOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateContactMethodOutput) GoString() string { +func (s CreateKeyPairOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput { - s.Operations = v +// SetKeyPair sets the KeyPair field's value. +func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput { + s.KeyPair = v return s } -type CreateDiskFromSnapshotInput struct { - _ struct{} `type:"structure"` +// SetOperation sets the Operation field's value. +func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput { + s.Operation = v + return s +} - // An array of objects that represent the add-ons to enable for the new disk. - AddOns []*AddOnRequest `locationName:"addOns" type:"list"` +// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value. +func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput { + s.PrivateKeyBase64 = &v + return s +} - // The Availability Zone where you want to create the disk (e.g., us-east-2a). - // Choose the same Availability Zone as the Lightsail instance where you want - // to create the disk. - // - // Use the GetRegions operation to list the Availability Zones where Lightsail - // is currently available. - // - // AvailabilityZone is a required field - AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` +// SetPublicKeyBase64 sets the PublicKeyBase64 field's value. +func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput { + s.PublicKeyBase64 = &v + return s +} + +type CreateLoadBalancerInput struct { + _ struct{} `type:"structure"` - // The unique Lightsail disk name (e.g., my-disk). - // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` + // The optional alternative domains and subdomains to use with your SSL/TLS + // certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com). + CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"` - // The name of the disk snapshot (e.g., my-snapshot) from which to create the - // new storage disk. - // - // Constraint: + // The domain name with which your certificate is associated (e.g., example.com). // - // * This parameter cannot be defined together with the source disk name - // parameter. The disk snapshot name and source disk name parameters are - // mutually exclusive. - DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"` + // If you specify certificateDomainName, then certificateName is required (and + // vice-versa). + CertificateDomainName *string `locationName:"certificateDomainName" type:"string"` - // The date of the automatic snapshot to use for the new disk. Use the get auto - // snapshots operation to identify the dates of the available automatic snapshots. - // - // Constraints: - // - // * Must be specified in YYYY-MM-DD format. - // - // * This parameter cannot be defined together with the use latest restorable - // auto snapshot parameter. The restore date and use latest restorable auto - // snapshot parameters are mutually exclusive. + // The name of the SSL/TLS certificate. // - // * Define this parameter only when creating a new disk from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - RestoreDate *string `locationName:"restoreDate" type:"string"` + // If you specify certificateName, then certificateDomainName is required (and + // vice-versa). + CertificateName *string `locationName:"certificateName" type:"string"` - // The size of the disk in GB (e.g., 32). + // The path you provided to perform the load balancer health check. If you didn't + // specify a health check path, Lightsail uses the root path of your website + // (e.g., "/"). // - // SizeInGb is a required field - SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"` + // You may want to specify a custom health check path other than the root of + // your application if your home page loads slowly or has a lot of media or + // scripting on it. + HealthCheckPath *string `locationName:"healthCheckPath" type:"string"` - // The name of the source disk from which the source automatic snapshot was - // created. - // - // Constraints: + // The instance port where you're creating your load balancer. // - // * This parameter cannot be defined together with the disk snapshot name - // parameter. The source disk name and disk snapshot name parameters are - // mutually exclusive. + // InstancePort is a required field + InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"` + + // The name of your load balancer. // - // * Define this parameter only when creating a new disk from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - SourceDiskName *string `locationName:"sourceDiskName" type:"string"` + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` - - // A Boolean value to indicate whether to use the latest available automatic - // snapshot. - // - // Constraints: - // - // * This parameter cannot be defined together with the restore date parameter. - // The use latest restorable auto snapshot and restore date parameters are - // mutually exclusive. - // - // * Define this parameter only when creating a new disk from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` } // String returns the string representation -func (s CreateDiskFromSnapshotInput) String() string { +func (s CreateLoadBalancerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskFromSnapshotInput) GoString() string { +func (s CreateLoadBalancerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDiskFromSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"} - if s.AvailabilityZone == nil { - invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) - } - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) +func (s *CreateLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"} + if s.InstancePort == nil { + invalidParams.Add(request.NewErrParamRequired("InstancePort")) } - if s.SizeInGb == nil { - invalidParams.Add(request.NewErrParamRequired("SizeInGb")) + if s.InstancePort != nil && *s.InstancePort < -1 { + invalidParams.Add(request.NewErrParamMinValue("InstancePort", -1)) } - if s.AddOns != nil { - for i, v := range s.AddOns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) - } - } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -14286,61 +17845,49 @@ func (s *CreateDiskFromSnapshotInput) Validate() error { return nil } -// SetAddOns sets the AddOns field's value. -func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput { - s.AddOns = v - return s -} - -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput { - s.AvailabilityZone = &v +// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value. +func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput { + s.CertificateAlternativeNames = v return s } -// SetDiskName sets the DiskName field's value. -func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput { - s.DiskName = &v +// SetCertificateDomainName sets the CertificateDomainName field's value. +func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput { + s.CertificateDomainName = &v return s } -// SetDiskSnapshotName sets the DiskSnapshotName field's value. -func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput { - s.DiskSnapshotName = &v +// SetCertificateName sets the CertificateName field's value. +func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput { + s.CertificateName = &v return s } -// SetRestoreDate sets the RestoreDate field's value. -func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput { - s.RestoreDate = &v +// SetHealthCheckPath sets the HealthCheckPath field's value. +func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput { + s.HealthCheckPath = &v return s } -// SetSizeInGb sets the SizeInGb field's value. -func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput { - s.SizeInGb = &v +// SetInstancePort sets the InstancePort field's value. +func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput { + s.InstancePort = &v return s } -// SetSourceDiskName sets the SourceDiskName field's value. -func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput { - s.SourceDiskName = &v +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput { + s.LoadBalancerName = &v return s } // SetTags sets the Tags field's value. -func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput { +func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput { s.Tags = v return s } -// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. -func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput { - s.UseLatestRestorableAutoSnapshot = &v - return s -} - -type CreateDiskFromSnapshotOutput struct { +type CreateLoadBalancerOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -14350,84 +17897,77 @@ type CreateDiskFromSnapshotOutput struct { } // String returns the string representation -func (s CreateDiskFromSnapshotOutput) String() string { +func (s CreateLoadBalancerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskFromSnapshotOutput) GoString() string { +func (s CreateLoadBalancerOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput { +func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput { s.Operations = v return s } -type CreateDiskInput struct { +type CreateLoadBalancerTlsCertificateInput struct { _ struct{} `type:"structure"` - // An array of objects that represent the add-ons to enable for the new disk. - AddOns []*AddOnRequest `locationName:"addOns" type:"list"` + // An array of strings listing alternative domains and subdomains for your SSL/TLS + // certificate. Lightsail will de-dupe the names for you. You can have a maximum + // of 9 alternative names (in addition to the 1 primary domain). We do not support + // wildcards (e.g., *.example.com). + CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"` - // The Availability Zone where you want to create the disk (e.g., us-east-2a). - // Use the same Availability Zone as the Lightsail instance to which you want - // to attach the disk. - // - // Use the get regions operation to list the Availability Zones where Lightsail - // is currently available. + // The domain name (e.g., example.com) for your SSL/TLS certificate. // - // AvailabilityZone is a required field - AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` + // CertificateDomainName is a required field + CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"` - // The unique Lightsail disk name (e.g., my-disk). + // The SSL/TLS certificate name. // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` + // You can have up to 10 certificates in your account at one time. Each Lightsail + // load balancer can have up to 2 certificates associated with it at one time. + // There is also an overall limit to the number of certificates that can be + // issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html). + // + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` - // The size of the disk in GB (e.g., 32). + // The load balancer name where you want to create the SSL/TLS certificate. // - // SizeInGb is a required field - SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"` + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CreateDiskInput) String() string { +func (s CreateLoadBalancerTlsCertificateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskInput) GoString() string { +func (s CreateLoadBalancerTlsCertificateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"} - if s.AvailabilityZone == nil { - invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) - } - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) +func (s *CreateLoadBalancerTlsCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"} + if s.CertificateDomainName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateDomainName")) } - if s.SizeInGb == nil { - invalidParams.Add(request.NewErrParamRequired("SizeInGb")) + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) } - if s.AddOns != nil { - for i, v := range s.AddOns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) - } - } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -14436,37 +17976,37 @@ func (s *CreateDiskInput) Validate() error { return nil } -// SetAddOns sets the AddOns field's value. -func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput { - s.AddOns = v +// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value. +func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput { + s.CertificateAlternativeNames = v return s } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput { - s.AvailabilityZone = &v +// SetCertificateDomainName sets the CertificateDomainName field's value. +func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput { + s.CertificateDomainName = &v return s } -// SetDiskName sets the DiskName field's value. -func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput { - s.DiskName = &v +// SetCertificateName sets the CertificateName field's value. +func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput { + s.CertificateName = &v return s -} - -// SetSizeInGb sets the SizeInGb field's value. -func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput { - s.SizeInGb = &v +} + +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput { + s.LoadBalancerName = &v return s } // SetTags sets the Tags field's value. -func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput { +func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput { s.Tags = v return s } -type CreateDiskOutput struct { +type CreateLoadBalancerTlsCertificateOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -14476,64 +18016,109 @@ type CreateDiskOutput struct { } // String returns the string representation -func (s CreateDiskOutput) String() string { +func (s CreateLoadBalancerTlsCertificateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskOutput) GoString() string { +func (s CreateLoadBalancerTlsCertificateOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput { +func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput { s.Operations = v return s } -type CreateDiskSnapshotInput struct { +type CreateRelationalDatabaseFromSnapshotInput struct { _ struct{} `type:"structure"` - // The unique name of the source disk (e.g., Disk-Virginia-1). + // The Availability Zone in which to create your new database. Use the us-east-2a + // case-sensitive format. // - // This parameter cannot be defined together with the instance name parameter. - // The disk name and instance name parameters are mutually exclusive. - DiskName *string `locationName:"diskName" type:"string"` + // You can get a list of Availability Zones by using the get regions operation. + // Be sure to add the include relational database Availability Zones parameter + // to your request. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - // The name of the destination disk snapshot (e.g., my-disk-snapshot) based - // on the source disk. + // Specifies the accessibility options for your new database. A value of true + // specifies a database that is available to resources outside of your Lightsail + // account. A value of false specifies a database that is available only to + // your Lightsail resources in the same region as your database. + PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` + + // The bundle ID for your new database. A bundle describes the performance specifications + // for your database. // - // DiskSnapshotName is a required field - DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` + // You can get a list of database bundle IDs by using the get relational database + // bundles operation. + // + // When creating a new database from a snapshot, you cannot choose a bundle + // that is smaller than the bundle of the source database. + RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"` - // The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). - // When this is defined, a snapshot of the instance's system volume is created. + // The name to use for your new database. // - // This parameter cannot be defined together with the disk name parameter. The - // instance name and disk name parameters are mutually exclusive. - InstanceName *string `locationName:"instanceName" type:"string"` + // Constraints: + // + // * Must contain from 2 to 255 alphanumeric characters, or hyphens. + // + // * The first and last character must be a letter or number. + // + // RelationalDatabaseName is a required field + RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` + + // The name of the database snapshot from which to create your new database. + RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"` + + // The date and time to restore your database from. + // + // Constraints: + // + // * Must be before the latest restorable time for the database. + // + // * Cannot be specified if the use latest restorable time parameter is true. + // + // * Specified in Coordinated Universal Time (UTC). + // + // * Specified in the Unix time format. For example, if you wish to use a + // restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000 + // as the restore time. + RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"` + + // The name of the source database. + SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` + + // Specifies whether your database is restored from the latest backup time. + // A value of true restores from the latest backup time. + // + // Default: false + // + // Constraints: Cannot be specified if the restore time parameter is provided. + UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"` } // String returns the string representation -func (s CreateDiskSnapshotInput) String() string { +func (s CreateRelationalDatabaseFromSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskSnapshotInput) GoString() string { +func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDiskSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"} - if s.DiskSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) +func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"} + if s.RelationalDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) } if invalidParams.Len() > 0 { @@ -14542,31 +18127,61 @@ func (s *CreateDiskSnapshotInput) Validate() error { return nil } -// SetDiskName sets the DiskName field's value. -func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput { - s.DiskName = &v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.AvailabilityZone = &v return s } -// SetDiskSnapshotName sets the DiskSnapshotName field's value. -func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput { - s.DiskSnapshotName = &v +// SetPubliclyAccessible sets the PubliclyAccessible field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput { + s.PubliclyAccessible = &v return s } -// SetInstanceName sets the InstanceName field's value. -func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput { - s.InstanceName = &v +// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.RelationalDatabaseBundleId = &v + return s +} + +// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.RelationalDatabaseName = &v + return s +} + +// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.RelationalDatabaseSnapshotName = &v + return s +} + +// SetRestoreTime sets the RestoreTime field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput { + s.RestoreTime = &v + return s +} + +// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.SourceRelationalDatabaseName = &v return s } // SetTags sets the Tags field's value. -func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput { +func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput { s.Tags = v return s } -type CreateDiskSnapshotOutput struct { +// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput { + s.UseLatestRestorableTime = &v + return s +} + +type CreateRelationalDatabaseFromSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -14576,134 +18191,174 @@ type CreateDiskSnapshotOutput struct { } // String returns the string representation -func (s CreateDiskSnapshotOutput) String() string { +func (s CreateRelationalDatabaseFromSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskSnapshotOutput) GoString() string { +func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput { +func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput { s.Operations = v return s } -type CreateDomainEntryInput struct { +type CreateRelationalDatabaseInput struct { _ struct{} `type:"structure"` - // An array of key-value pairs containing information about the domain entry - // request. + // The Availability Zone in which to create your new database. Use the us-east-2a + // case-sensitive format. // - // DomainEntry is a required field - DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"` + // You can get a list of Availability Zones by using the get regions operation. + // Be sure to add the include relational database Availability Zones parameter + // to your request. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - // The domain name (e.g., example.com) for which you want to create the domain - // entry. + // The name of the master database created when the Lightsail database resource + // is created. // - // DomainName is a required field - DomainName *string `locationName:"domainName" type:"string" required:"true"` -} - -// String returns the string representation -func (s CreateDomainEntryInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateDomainEntryInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDomainEntryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"} - if s.DomainEntry == nil { - invalidParams.Add(request.NewErrParamRequired("DomainEntry")) - } - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDomainEntry sets the DomainEntry field's value. -func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput { - s.DomainEntry = v - return s -} + // Constraints: + // + // * Must contain from 1 to 64 alphanumeric characters. + // + // * Cannot be a word reserved by the specified database engine + // + // MasterDatabaseName is a required field + MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"` -// SetDomainName sets the DomainName field's value. -func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput { - s.DomainName = &v - return s -} + // The password for the master user of your new database. The password can include + // any printable ASCII character except "/", """, or "@". + // + // Constraints: Must contain 8 to 41 characters. + MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"` -type CreateDomainEntryOutput struct { - _ struct{} `type:"structure"` + // The master user name for your new database. + // + // Constraints: + // + // * Master user name is required. + // + // * Must contain from 1 to 16 alphanumeric characters. + // + // * The first character must be a letter. + // + // * Cannot be a reserved word for the database engine you choose. For more + // information about reserved words in MySQL 5.6 or 5.7, see the Keywords + // and Reserved Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html) + // or MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) respectively. + // + // MasterUsername is a required field + MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operation *Operation `locationName:"operation" type:"structure"` -} + // The daily time range during which automated backups are created for your + // new database if automated backups are enabled. + // + // The default is a 30-minute window selected at random from an 8-hour block + // of time for each AWS Region. For more information about the preferred backup + // window time blocks for each region, see the Working With Backups (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) + // guide in the Amazon Relational Database Service (Amazon RDS) documentation. + // + // Constraints: + // + // * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30 + // + // * Specified in Coordinated Universal Time (UTC). + // + // * Must not conflict with the preferred maintenance window. + // + // * Must be at least 30 minutes. + PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"` -// String returns the string representation -func (s CreateDomainEntryOutput) String() string { - return awsutil.Prettify(s) -} + // The weekly time range during which system maintenance can occur on your new + // database. + // + // The default is a 30-minute window selected at random from an 8-hour block + // of time for each AWS Region, occurring on a random day of the week. + // + // Constraints: + // + // * Must be in the ddd:hh24:mi-ddd:hh24:mi format. + // + // * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. + // + // * Must be at least 30 minutes. + // + // * Specified in Coordinated Universal Time (UTC). + // + // * Example: Tue:17:00-Tue:17:30 + PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"` -// GoString returns the string representation -func (s CreateDomainEntryOutput) GoString() string { - return s.String() -} + // Specifies the accessibility options for your new database. A value of true + // specifies a database that is available to resources outside of your Lightsail + // account. A value of false specifies a database that is available only to + // your Lightsail resources in the same region as your database. + PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` -// SetOperation sets the Operation field's value. -func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput { - s.Operation = v - return s -} + // The blueprint ID for your new database. A blueprint describes the major engine + // version of a database. + // + // You can get a list of database blueprints IDs by using the get relational + // database blueprints operation. + // + // RelationalDatabaseBlueprintId is a required field + RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"` -type CreateDomainInput struct { - _ struct{} `type:"structure"` + // The bundle ID for your new database. A bundle describes the performance specifications + // for your database. + // + // You can get a list of database bundle IDs by using the get relational database + // bundles operation. + // + // RelationalDatabaseBundleId is a required field + RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"` - // The domain name to manage (e.g., example.com). + // The name to use for your new database. // - // You cannot register a new domain name using Lightsail. You must register - // a domain name using Amazon Route 53 or another domain name registrar. If - // you have already registered your domain, you can enter its name in this parameter - // to manage the DNS records for that domain. + // Constraints: // - // DomainName is a required field - DomainName *string `locationName:"domainName" type:"string" required:"true"` + // * Must contain from 2 to 255 alphanumeric characters, or hyphens. + // + // * The first and last character must be a letter or number. + // + // RelationalDatabaseName is a required field + RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CreateDomainInput) String() string { +func (s CreateRelationalDatabaseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDomainInput) GoString() string { +func (s CreateRelationalDatabaseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDomainInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"} - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) +func (s *CreateRelationalDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"} + if s.MasterDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName")) + } + if s.MasterUsername == nil { + invalidParams.Add(request.NewErrParamRequired("MasterUsername")) + } + if s.RelationalDatabaseBlueprintId == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId")) + } + if s.RelationalDatabaseBundleId == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId")) + } + if s.RelationalDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) } if invalidParams.Len() > 0 { @@ -14712,107 +18367,73 @@ func (s *CreateDomainInput) Validate() error { return nil } -// SetDomainName sets the DomainName field's value. -func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput { - s.DomainName = &v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput { + s.AvailabilityZone = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput { - s.Tags = v +// SetMasterDatabaseName sets the MasterDatabaseName field's value. +func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput { + s.MasterDatabaseName = &v return s } -type CreateDomainOutput struct { - _ struct{} `type:"structure"` - - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operation *Operation `locationName:"operation" type:"structure"` -} - -// String returns the string representation -func (s CreateDomainOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateDomainOutput) GoString() string { - return s.String() +// SetMasterUserPassword sets the MasterUserPassword field's value. +func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput { + s.MasterUserPassword = &v + return s } -// SetOperation sets the Operation field's value. -func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput { - s.Operation = v +// SetMasterUsername sets the MasterUsername field's value. +func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput { + s.MasterUsername = &v return s } -type CreateInstanceSnapshotInput struct { - _ struct{} `type:"structure"` - - // The Lightsail instance on which to base your snapshot. - // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` - - // The name for your new snapshot. - // - // InstanceSnapshotName is a required field - InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"` - - // The tag keys and optional values to add to the resource during create. - // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` +// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. +func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput { + s.PreferredBackupWindow = &v + return s } -// String returns the string representation -func (s CreateInstanceSnapshotInput) String() string { - return awsutil.Prettify(s) +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput { + s.PreferredMaintenanceWindow = &v + return s } -// GoString returns the string representation -func (s CreateInstanceSnapshotInput) GoString() string { - return s.String() +// SetPubliclyAccessible sets the PubliclyAccessible field's value. +func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput { + s.PubliclyAccessible = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInstanceSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) - } - if s.InstanceSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value. +func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput { + s.RelationalDatabaseBlueprintId = &v + return s } -// SetInstanceName sets the InstanceName field's value. -func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput { - s.InstanceName = &v +// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value. +func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput { + s.RelationalDatabaseBundleId = &v return s } -// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. -func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput { - s.InstanceSnapshotName = &v +// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. +func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput { + s.RelationalDatabaseName = &v return s } // SetTags sets the Tags field's value. -func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput { +func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput { s.Tags = v return s } -type CreateInstanceSnapshotOutput struct { +type CreateRelationalDatabaseOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -14822,152 +18443,64 @@ type CreateInstanceSnapshotOutput struct { } // String returns the string representation -func (s CreateInstanceSnapshotOutput) String() string { +func (s CreateRelationalDatabaseOutput) String() string { return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateInstanceSnapshotOutput) GoString() string { - return s.String() -} - -// SetOperations sets the Operations field's value. -func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput { - s.Operations = v - return s -} - -type CreateInstancesFromSnapshotInput struct { - _ struct{} `type:"structure"` - - // An array of objects representing the add-ons to enable for the new instance. - AddOns []*AddOnRequest `locationName:"addOns" type:"list"` - - // An object containing information about one or more disk mappings. - AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"` - - // The Availability Zone where you want to create your instances. Use the following - // formatting: us-east-2a (case sensitive). You can get a list of Availability - // Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html) - // operation. Be sure to add the include Availability Zones parameter to your - // request. - // - // AvailabilityZone is a required field - AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` - - // The bundle of specification information for your virtual private server (or - // instance), including the pricing plan (e.g., micro_1_0). - // - // BundleId is a required field - BundleId *string `locationName:"bundleId" type:"string" required:"true"` - - // The names for your new instances. - // - // InstanceNames is a required field - InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` +} - // The name of the instance snapshot on which you are basing your new instances. - // Use the get instance snapshots operation to return information about your - // existing snapshots. - // - // Constraint: - // - // * This parameter cannot be defined together with the source instance name - // parameter. The instance snapshot name and source instance name parameters - // are mutually exclusive. - InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"` +// GoString returns the string representation +func (s CreateRelationalDatabaseOutput) GoString() string { + return s.String() +} - // The name for your key pair. - KeyPairName *string `locationName:"keyPairName" type:"string"` +// SetOperations sets the Operations field's value. +func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput { + s.Operations = v + return s +} - // The date of the automatic snapshot to use for the new instance. Use the get - // auto snapshots operation to identify the dates of the available automatic - // snapshots. - // - // Constraints: - // - // * Must be specified in YYYY-MM-DD format. - // - // * This parameter cannot be defined together with the use latest restorable - // auto snapshot parameter. The restore date and use latest restorable auto - // snapshot parameters are mutually exclusive. +type CreateRelationalDatabaseSnapshotInput struct { + _ struct{} `type:"structure"` + + // The name of the database on which to base your new snapshot. // - // * Define this parameter only when creating a new instance from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - RestoreDate *string `locationName:"restoreDate" type:"string"` + // RelationalDatabaseName is a required field + RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` - // The name of the source instance from which the source automatic snapshot - // was created. + // The name for your new database snapshot. // // Constraints: // - // * This parameter cannot be defined together with the instance snapshot - // name parameter. The source instance name and instance snapshot name parameters - // are mutually exclusive. + // * Must contain from 2 to 255 alphanumeric characters, or hyphens. // - // * Define this parameter only when creating a new instance from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"` + // * The first and last character must be a letter or number. + // + // RelationalDatabaseSnapshotName is a required field + RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` - - // A Boolean value to indicate whether to use the latest available automatic - // snapshot. - // - // Constraints: - // - // * This parameter cannot be defined together with the restore date parameter. - // The use latest restorable auto snapshot and restore date parameters are - // mutually exclusive. - // - // * Define this parameter only when creating a new instance from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` - - // You can create a launch script that configures a server with additional user - // data. For example, apt-get -y update. - // - // Depending on the machine image you choose, the command to get software on - // your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu - // use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide - // (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image). - UserData *string `locationName:"userData" type:"string"` } // String returns the string representation -func (s CreateInstancesFromSnapshotInput) String() string { +func (s CreateRelationalDatabaseSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstancesFromSnapshotInput) GoString() string { +func (s CreateRelationalDatabaseSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInstancesFromSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"} - if s.AvailabilityZone == nil { - invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) - } - if s.BundleId == nil { - invalidParams.Add(request.NewErrParamRequired("BundleId")) - } - if s.InstanceNames == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceNames")) +func (s *CreateRelationalDatabaseSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"} + if s.RelationalDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) } - if s.AddOns != nil { - for i, v := range s.AddOns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) - } - } + if s.RelationalDatabaseSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName")) } if invalidParams.Len() > 0 { @@ -14976,79 +18509,88 @@ func (s *CreateInstancesFromSnapshotInput) Validate() error { return nil } -// SetAddOns sets the AddOns field's value. -func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput { - s.AddOns = v +// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. +func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput { + s.RelationalDatabaseName = &v return s } -// SetAttachedDiskMapping sets the AttachedDiskMapping field's value. -func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput { - s.AttachedDiskMapping = v +// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. +func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput { + s.RelationalDatabaseSnapshotName = &v return s } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput { - s.AvailabilityZone = &v +// SetTags sets the Tags field's value. +func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput { + s.Tags = v return s } -// SetBundleId sets the BundleId field's value. -func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput { - s.BundleId = &v - return s +type CreateRelationalDatabaseSnapshotOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } -// SetInstanceNames sets the InstanceNames field's value. -func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput { - s.InstanceNames = v - return s +// String returns the string representation +func (s CreateRelationalDatabaseSnapshotOutput) String() string { + return awsutil.Prettify(s) } -// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. -func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput { - s.InstanceSnapshotName = &v - return s +// GoString returns the string representation +func (s CreateRelationalDatabaseSnapshotOutput) GoString() string { + return s.String() } -// SetKeyPairName sets the KeyPairName field's value. -func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput { - s.KeyPairName = &v +// SetOperations sets the Operations field's value. +func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput { + s.Operations = v return s } -// SetRestoreDate sets the RestoreDate field's value. -func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput { - s.RestoreDate = &v - return s +type DeleteAlarmInput struct { + _ struct{} `type:"structure"` + + // The name of the alarm to delete. + // + // AlarmName is a required field + AlarmName *string `locationName:"alarmName" type:"string" required:"true"` } -// SetSourceInstanceName sets the SourceInstanceName field's value. -func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput { - s.SourceInstanceName = &v - return s +// String returns the string representation +func (s DeleteAlarmInput) String() string { + return awsutil.Prettify(s) } -// SetTags sets the Tags field's value. -func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput { - s.Tags = v - return s +// GoString returns the string representation +func (s DeleteAlarmInput) GoString() string { + return s.String() } -// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. -func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput { - s.UseLatestRestorableAutoSnapshot = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAlarmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"} + if s.AlarmName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetUserData sets the UserData field's value. -func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput { - s.UserData = &v +// SetAlarmName sets the AlarmName field's value. +func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput { + s.AlarmName = &v return s } -type CreateInstancesFromSnapshotOutput struct { +type DeleteAlarmOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -15058,120 +18600,56 @@ type CreateInstancesFromSnapshotOutput struct { } // String returns the string representation -func (s CreateInstancesFromSnapshotOutput) String() string { +func (s DeleteAlarmOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstancesFromSnapshotOutput) GoString() string { +func (s DeleteAlarmOutput) GoString() string { return s.String() -} - -// SetOperations sets the Operations field's value. -func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput { - s.Operations = v - return s -} - -type CreateInstancesInput struct { - _ struct{} `type:"structure"` - - // An array of objects representing the add-ons to enable for the new instance. - AddOns []*AddOnRequest `locationName:"addOns" type:"list"` - - // The Availability Zone in which to create your instance. Use the following - // format: us-east-2a (case sensitive). You can get a list of Availability Zones - // by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html) - // operation. Be sure to add the include Availability Zones parameter to your - // request. - // - // AvailabilityZone is a required field - AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` - - // The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). - // Use the get blueprints operation to return a list of available images (or - // blueprints). - // - // Use active blueprints when creating new instances. Inactive blueprints are - // listed to support customers with existing instances and are not necessarily - // available to create new instances. Blueprints are marked inactive when they - // become outdated due to operating system updates or new application releases. - // - // BlueprintId is a required field - BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"` - - // The bundle of specification information for your virtual private server (or - // instance), including the pricing plan (e.g., micro_1_0). - // - // BundleId is a required field - BundleId *string `locationName:"bundleId" type:"string" required:"true"` - - // (Deprecated) The name for your custom image. - // - // In releases prior to June 12, 2017, this parameter was ignored by the API. - // It is now deprecated. - // - // Deprecated: CustomImageName has been deprecated - CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"` +} - // The names to use for your new Lightsail instances. Separate multiple values - // using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"] - // - // InstanceNames is a required field - InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` +// SetOperations sets the Operations field's value. +func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput { + s.Operations = v + return s +} - // The name of your key pair. - KeyPairName *string `locationName:"keyPairName" type:"string"` +type DeleteAutoSnapshotInput struct { + _ struct{} `type:"structure"` - // The tag keys and optional values to add to the resource during create. + // The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the + // get auto snapshots operation to get the available automatic snapshots for + // a resource. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // Date is a required field + Date *string `locationName:"date" type:"string" required:"true"` - // A launch script you can create that configures a server with additional user - // data. For example, you might want to run apt-get -y update. + // The name of the source instance or disk from which to delete the automatic + // snapshot. // - // Depending on the machine image you choose, the command to get software on - // your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu - // use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide - // (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image). - UserData *string `locationName:"userData" type:"string"` + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` } // String returns the string representation -func (s CreateInstancesInput) String() string { +func (s DeleteAutoSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstancesInput) GoString() string { +func (s DeleteAutoSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInstancesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"} - if s.AvailabilityZone == nil { - invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) - } - if s.BlueprintId == nil { - invalidParams.Add(request.NewErrParamRequired("BlueprintId")) - } - if s.BundleId == nil { - invalidParams.Add(request.NewErrParamRequired("BundleId")) - } - if s.InstanceNames == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceNames")) +func (s *DeleteAutoSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"} + if s.Date == nil { + invalidParams.Add(request.NewErrParamRequired("Date")) } - if s.AddOns != nil { - for i, v := range s.AddOns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) - } - } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) } if invalidParams.Len() > 0 { @@ -15180,61 +18658,19 @@ func (s *CreateInstancesInput) Validate() error { return nil } -// SetAddOns sets the AddOns field's value. -func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput { - s.AddOns = v - return s -} - -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput { - s.AvailabilityZone = &v - return s -} - -// SetBlueprintId sets the BlueprintId field's value. -func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput { - s.BlueprintId = &v - return s -} - -// SetBundleId sets the BundleId field's value. -func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput { - s.BundleId = &v - return s -} - -// SetCustomImageName sets the CustomImageName field's value. -func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput { - s.CustomImageName = &v - return s -} - -// SetInstanceNames sets the InstanceNames field's value. -func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput { - s.InstanceNames = v - return s -} - -// SetKeyPairName sets the KeyPairName field's value. -func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput { - s.KeyPairName = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput { - s.Tags = v +// SetDate sets the Date field's value. +func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput { + s.Date = &v return s } -// SetUserData sets the UserData field's value. -func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput { - s.UserData = &v +// SetResourceName sets the ResourceName field's value. +func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput { + s.ResourceName = &v return s } -type CreateInstancesOutput struct { +type DeleteAutoSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -15244,50 +18680,48 @@ type CreateInstancesOutput struct { } // String returns the string representation -func (s CreateInstancesOutput) String() string { +func (s DeleteAutoSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstancesOutput) GoString() string { +func (s DeleteAutoSnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput { +func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput { s.Operations = v return s } -type CreateKeyPairInput struct { +type DeleteCertificateInput struct { _ struct{} `type:"structure"` - // The name for your new key pair. + // The name of the certificate to delete. // - // KeyPairName is a required field - KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"` - - // The tag keys and optional values to add to the resource during create. + // Use the GetCertificates action to get a list of certificate names that you + // can specify. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` } // String returns the string representation -func (s CreateKeyPairInput) String() string { +func (s DeleteCertificateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateKeyPairInput) GoString() string { +func (s DeleteCertificateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateKeyPairInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"} - if s.KeyPairName == nil { - invalidParams.Add(request.NewErrParamRequired("KeyPairName")) +func (s *DeleteCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"} + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) } if invalidParams.Len() > 0 { @@ -15296,136 +18730,131 @@ func (s *CreateKeyPairInput) Validate() error { return nil } -// SetKeyPairName sets the KeyPairName field's value. -func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput { - s.KeyPairName = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput { - s.Tags = v +// SetCertificateName sets the CertificateName field's value. +func (s *DeleteCertificateInput) SetCertificateName(v string) *DeleteCertificateInput { + s.CertificateName = &v return s } -type CreateKeyPairOutput struct { +type DeleteCertificateOutput struct { _ struct{} `type:"structure"` - // An array of key-value pairs containing information about the new key pair - // you just created. - KeyPair *KeyPair `locationName:"keyPair" type:"structure"` - // An array of objects that describe the result of the action, such as the status // of the request, the timestamp of the request, and the resources affected // by the request. - Operation *Operation `locationName:"operation" type:"structure"` - - // A base64-encoded RSA private key. - PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"` - - // A base64-encoded public key of the ssh-rsa type. - PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"` + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateKeyPairOutput) String() string { +func (s DeleteCertificateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateKeyPairOutput) GoString() string { +func (s DeleteCertificateOutput) GoString() string { return s.String() } -// SetKeyPair sets the KeyPair field's value. -func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput { - s.KeyPair = v +// SetOperations sets the Operations field's value. +func (s *DeleteCertificateOutput) SetOperations(v []*Operation) *DeleteCertificateOutput { + s.Operations = v return s } -// SetOperation sets the Operation field's value. -func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput { - s.Operation = v - return s +type DeleteContactMethodInput struct { + _ struct{} `type:"structure"` + + // The protocol that will be deleted, such as Email or SMS (text messaging). + // + // To delete an Email and an SMS contact method if you added both, you must + // run separate DeleteContactMethod actions to delete each protocol. + // + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"` } -// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value. -func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput { - s.PrivateKeyBase64 = &v - return s +// String returns the string representation +func (s DeleteContactMethodInput) String() string { + return awsutil.Prettify(s) } -// SetPublicKeyBase64 sets the PublicKeyBase64 field's value. -func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput { - s.PublicKeyBase64 = &v +// GoString returns the string representation +func (s DeleteContactMethodInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteContactMethodInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"} + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProtocol sets the Protocol field's value. +func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput { + s.Protocol = &v return s } -type CreateLoadBalancerInput struct { +type DeleteContactMethodOutput struct { _ struct{} `type:"structure"` - // The optional alternative domains and subdomains to use with your SSL/TLS - // certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com). - CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"` - - // The domain name with which your certificate is associated (e.g., example.com). - // - // If you specify certificateDomainName, then certificateName is required (and - // vice-versa). - CertificateDomainName *string `locationName:"certificateDomainName" type:"string"` + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} - // The name of the SSL/TLS certificate. - // - // If you specify certificateName, then certificateDomainName is required (and - // vice-versa). - CertificateName *string `locationName:"certificateName" type:"string"` +// String returns the string representation +func (s DeleteContactMethodOutput) String() string { + return awsutil.Prettify(s) +} - // The path you provided to perform the load balancer health check. If you didn't - // specify a health check path, Lightsail uses the root path of your website - // (e.g., "/"). - // - // You may want to specify a custom health check path other than the root of - // your application if your home page loads slowly or has a lot of media or - // scripting on it. - HealthCheckPath *string `locationName:"healthCheckPath" type:"string"` +// GoString returns the string representation +func (s DeleteContactMethodOutput) GoString() string { + return s.String() +} - // The instance port where you're creating your load balancer. - // - // InstancePort is a required field - InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"` +// SetOperations sets the Operations field's value. +func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput { + s.Operations = v + return s +} - // The name of your load balancer. - // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` +type DeleteDiskInput struct { + _ struct{} `type:"structure"` - // The tag keys and optional values to add to the resource during create. + // The unique name of the disk you want to delete (e.g., my-disk). // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` + + // A Boolean value to indicate whether to delete the enabled add-ons for the + // disk. + ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"` } // String returns the string representation -func (s CreateLoadBalancerInput) String() string { +func (s DeleteDiskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateLoadBalancerInput) GoString() string { +func (s DeleteDiskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLoadBalancerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"} - if s.InstancePort == nil { - invalidParams.Add(request.NewErrParamRequired("InstancePort")) - } - if s.InstancePort != nil && *s.InstancePort < -1 { - invalidParams.Add(request.NewErrParamMinValue("InstancePort", -1)) - } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) +func (s *DeleteDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"} + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) } if invalidParams.Len() > 0 { @@ -15434,49 +18863,19 @@ func (s *CreateLoadBalancerInput) Validate() error { return nil } -// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value. -func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput { - s.CertificateAlternativeNames = v - return s -} - -// SetCertificateDomainName sets the CertificateDomainName field's value. -func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput { - s.CertificateDomainName = &v - return s -} - -// SetCertificateName sets the CertificateName field's value. -func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput { - s.CertificateName = &v - return s -} - -// SetHealthCheckPath sets the HealthCheckPath field's value. -func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput { - s.HealthCheckPath = &v - return s -} - -// SetInstancePort sets the InstancePort field's value. -func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput { - s.InstancePort = &v - return s -} - -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput { - s.LoadBalancerName = &v +// SetDiskName sets the DiskName field's value. +func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput { + s.DiskName = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput { - s.Tags = v +// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value. +func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput { + s.ForceDeleteAddOns = &v return s } -type CreateLoadBalancerOutput struct { +type DeleteDiskOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -15486,77 +18885,45 @@ type CreateLoadBalancerOutput struct { } // String returns the string representation -func (s CreateLoadBalancerOutput) String() string { +func (s DeleteDiskOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateLoadBalancerOutput) GoString() string { +func (s DeleteDiskOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput { +func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput { s.Operations = v return s } -type CreateLoadBalancerTlsCertificateInput struct { +type DeleteDiskSnapshotInput struct { _ struct{} `type:"structure"` - // An array of strings listing alternative domains and subdomains for your SSL/TLS - // certificate. Lightsail will de-dupe the names for you. You can have a maximum - // of 9 alternative names (in addition to the 1 primary domain). We do not support - // wildcards (e.g., *.example.com). - CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"` - - // The domain name (e.g., example.com) for your SSL/TLS certificate. - // - // CertificateDomainName is a required field - CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"` - - // The SSL/TLS certificate name. - // - // You can have up to 10 certificates in your account at one time. Each Lightsail - // load balancer can have up to 2 certificates associated with it at one time. - // There is also an overall limit to the number of certificates that can be - // issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html). - // - // CertificateName is a required field - CertificateName *string `locationName:"certificateName" type:"string" required:"true"` - - // The load balancer name where you want to create the SSL/TLS certificate. - // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` - - // The tag keys and optional values to add to the resource during create. + // The name of the disk snapshot you want to delete (e.g., my-disk-snapshot). // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // DiskSnapshotName is a required field + DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` } // String returns the string representation -func (s CreateLoadBalancerTlsCertificateInput) String() string { +func (s DeleteDiskSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateLoadBalancerTlsCertificateInput) GoString() string { +func (s DeleteDiskSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLoadBalancerTlsCertificateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"} - if s.CertificateDomainName == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateDomainName")) - } - if s.CertificateName == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateName")) - } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) +func (s *DeleteDiskSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"} + if s.DiskSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) } if invalidParams.Len() > 0 { @@ -15565,37 +18932,13 @@ func (s *CreateLoadBalancerTlsCertificateInput) Validate() error { return nil } -// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput { - s.CertificateAlternativeNames = v - return s -} - -// SetCertificateDomainName sets the CertificateDomainName field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput { - s.CertificateDomainName = &v - return s -} - -// SetCertificateName sets the CertificateName field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput { - s.CertificateName = &v - return s -} - -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput { - s.LoadBalancerName = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput { - s.Tags = v +// SetDiskSnapshotName sets the DiskSnapshotName field's value. +func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput { + s.DiskSnapshotName = &v return s } -type CreateLoadBalancerTlsCertificateOutput struct { +type DeleteDiskSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -15605,109 +18948,104 @@ type CreateLoadBalancerTlsCertificateOutput struct { } // String returns the string representation -func (s CreateLoadBalancerTlsCertificateOutput) String() string { +func (s DeleteDiskSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateLoadBalancerTlsCertificateOutput) GoString() string { +func (s DeleteDiskSnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput { +func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput { s.Operations = v return s } -type CreateRelationalDatabaseFromSnapshotInput struct { +type DeleteDistributionInput struct { _ struct{} `type:"structure"` - // The Availability Zone in which to create your new database. Use the us-east-2a - // case-sensitive format. + // The name of the distribution to delete. // - // You can get a list of Availability Zones by using the get regions operation. - // Be sure to add the include relational database Availability Zones parameter - // to your request. - AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + DistributionName *string `locationName:"distributionName" type:"string"` +} - // Specifies the accessibility options for your new database. A value of true - // specifies a database that is available to resources outside of your Lightsail - // account. A value of false specifies a database that is available only to - // your Lightsail resources in the same region as your database. - PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` +// String returns the string representation +func (s DeleteDistributionInput) String() string { + return awsutil.Prettify(s) +} - // The bundle ID for your new database. A bundle describes the performance specifications - // for your database. - // - // You can get a list of database bundle IDs by using the get relational database - // bundles operation. - // - // When creating a new database from a snapshot, you cannot choose a bundle - // that is smaller than the bundle of the source database. - RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"` +// GoString returns the string representation +func (s DeleteDistributionInput) GoString() string { + return s.String() +} - // The name to use for your new database. - // - // Constraints: - // - // * Must contain from 2 to 255 alphanumeric characters, or hyphens. - // - // * The first and last character must be a letter or number. - // - // RelationalDatabaseName is a required field - RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` +// SetDistributionName sets the DistributionName field's value. +func (s *DeleteDistributionInput) SetDistributionName(v string) *DeleteDistributionInput { + s.DistributionName = &v + return s +} - // The name of the database snapshot from which to create your new database. - RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"` +type DeleteDistributionOutput struct { + _ struct{} `type:"structure"` - // The date and time to restore your database from. - // - // Constraints: - // - // * Must be before the latest restorable time for the database. - // - // * Cannot be specified if the use latest restorable time parameter is true. - // - // * Specified in Coordinated Universal Time (UTC). - // - // * Specified in the Unix time format. For example, if you wish to use a - // restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000 - // as the restore time. - RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"` + // An object that describes the result of the action, such as the status of + // the request, the timestamp of the request, and the resources affected by + // the request. + Operation *Operation `locationName:"operation" type:"structure"` +} + +// String returns the string representation +func (s DeleteDistributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDistributionOutput) GoString() string { + return s.String() +} + +// SetOperation sets the Operation field's value. +func (s *DeleteDistributionOutput) SetOperation(v *Operation) *DeleteDistributionOutput { + s.Operation = v + return s +} - // The name of the source database. - SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"` +type DeleteDomainEntryInput struct { + _ struct{} `type:"structure"` - // The tag keys and optional values to add to the resource during create. + // An array of key-value pairs containing information about your domain entries. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // DomainEntry is a required field + DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"` - // Specifies whether your database is restored from the latest backup time. - // A value of true restores from the latest backup time. - // - // Default: false + // The name of the domain entry to delete. // - // Constraints: Cannot be specified if the restore time parameter is provided. - UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"` + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` } // String returns the string representation -func (s CreateRelationalDatabaseFromSnapshotInput) String() string { +func (s DeleteDomainEntryInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string { +func (s DeleteDomainEntryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"} - if s.RelationalDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) +func (s *DeleteDomainEntryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"} + if s.DomainEntry == nil { + invalidParams.Add(request.NewErrParamRequired("DomainEntry")) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) } if invalidParams.Len() > 0 { @@ -15716,238 +19054,134 @@ func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error { return nil } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.AvailabilityZone = &v +// SetDomainEntry sets the DomainEntry field's value. +func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput { + s.DomainEntry = v return s } -// SetPubliclyAccessible sets the PubliclyAccessible field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput { - s.PubliclyAccessible = &v +// SetDomainName sets the DomainName field's value. +func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput { + s.DomainName = &v return s } -// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.RelationalDatabaseBundleId = &v - return s +type DeleteDomainEntryOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operation *Operation `locationName:"operation" type:"structure"` } -// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.RelationalDatabaseName = &v - return s +// String returns the string representation +func (s DeleteDomainEntryOutput) String() string { + return awsutil.Prettify(s) } -// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.RelationalDatabaseSnapshotName = &v - return s +// GoString returns the string representation +func (s DeleteDomainEntryOutput) GoString() string { + return s.String() } -// SetRestoreTime sets the RestoreTime field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput { - s.RestoreTime = &v +// SetOperation sets the Operation field's value. +func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput { + s.Operation = v return s } -// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.SourceRelationalDatabaseName = &v - return s +type DeleteDomainInput struct { + _ struct{} `type:"structure"` + + // The specific domain name to delete. + // + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` } -// SetTags sets the Tags field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput { - s.Tags = v - return s +// String returns the string representation +func (s DeleteDomainInput) String() string { + return awsutil.Prettify(s) } -// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput { - s.UseLatestRestorableTime = &v +// GoString returns the string representation +func (s DeleteDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput { + s.DomainName = &v return s } -type CreateRelationalDatabaseFromSnapshotOutput struct { +type DeleteDomainOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status // of the request, the timestamp of the request, and the resources affected // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + Operation *Operation `locationName:"operation" type:"structure"` } // String returns the string representation -func (s CreateRelationalDatabaseFromSnapshotOutput) String() string { +func (s DeleteDomainOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string { +func (s DeleteDomainOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput { - s.Operations = v +// SetOperation sets the Operation field's value. +func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput { + s.Operation = v return s } -type CreateRelationalDatabaseInput struct { +type DeleteInstanceInput struct { _ struct{} `type:"structure"` - // The Availability Zone in which to create your new database. Use the us-east-2a - // case-sensitive format. - // - // You can get a list of Availability Zones by using the get regions operation. - // Be sure to add the include relational database Availability Zones parameter - // to your request. - AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - - // The name of the master database created when the Lightsail database resource - // is created. - // - // Constraints: - // - // * Must contain from 1 to 64 alphanumeric characters. - // - // * Cannot be a word reserved by the specified database engine - // - // MasterDatabaseName is a required field - MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"` - - // The password for the master user of your new database. The password can include - // any printable ASCII character except "/", """, or "@". - // - // Constraints: Must contain 8 to 41 characters. - MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"` - - // The master user name for your new database. - // - // Constraints: - // - // * Master user name is required. - // - // * Must contain from 1 to 16 alphanumeric characters. - // - // * The first character must be a letter. - // - // * Cannot be a reserved word for the database engine you choose. For more - // information about reserved words in MySQL 5.6 or 5.7, see the Keywords - // and Reserved Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html) - // or MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) respectively. - // - // MasterUsername is a required field - MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"` - - // The daily time range during which automated backups are created for your - // new database if automated backups are enabled. - // - // The default is a 30-minute window selected at random from an 8-hour block - // of time for each AWS Region. For more information about the preferred backup - // window time blocks for each region, see the Working With Backups (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) - // guide in the Amazon Relational Database Service (Amazon RDS) documentation. - // - // Constraints: - // - // * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30 - // - // * Specified in Coordinated Universal Time (UTC). - // - // * Must not conflict with the preferred maintenance window. - // - // * Must be at least 30 minutes. - PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"` - - // The weekly time range during which system maintenance can occur on your new - // database. - // - // The default is a 30-minute window selected at random from an 8-hour block - // of time for each AWS Region, occurring on a random day of the week. - // - // Constraints: - // - // * Must be in the ddd:hh24:mi-ddd:hh24:mi format. - // - // * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. - // - // * Must be at least 30 minutes. - // - // * Specified in Coordinated Universal Time (UTC). - // - // * Example: Tue:17:00-Tue:17:30 - PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"` - - // Specifies the accessibility options for your new database. A value of true - // specifies a database that is available to resources outside of your Lightsail - // account. A value of false specifies a database that is available only to - // your Lightsail resources in the same region as your database. - PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` - - // The blueprint ID for your new database. A blueprint describes the major engine - // version of a database. - // - // You can get a list of database blueprints IDs by using the get relational - // database blueprints operation. - // - // RelationalDatabaseBlueprintId is a required field - RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"` - - // The bundle ID for your new database. A bundle describes the performance specifications - // for your database. - // - // You can get a list of database bundle IDs by using the get relational database - // bundles operation. - // - // RelationalDatabaseBundleId is a required field - RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"` - - // The name to use for your new database. - // - // Constraints: - // - // * Must contain from 2 to 255 alphanumeric characters, or hyphens. - // - // * The first and last character must be a letter or number. - // - // RelationalDatabaseName is a required field - RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` + // A Boolean value to indicate whether to delete the enabled add-ons for the + // disk. + ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"` - // The tag keys and optional values to add to the resource during create. + // The name of the instance to delete. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` } // String returns the string representation -func (s CreateRelationalDatabaseInput) String() string { +func (s DeleteInstanceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseInput) GoString() string { +func (s DeleteInstanceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateRelationalDatabaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"} - if s.MasterDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName")) - } - if s.MasterUsername == nil { - invalidParams.Add(request.NewErrParamRequired("MasterUsername")) - } - if s.RelationalDatabaseBlueprintId == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId")) - } - if s.RelationalDatabaseBundleId == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId")) - } - if s.RelationalDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) +func (s *DeleteInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) } if invalidParams.Len() > 0 { @@ -15956,73 +19190,82 @@ func (s *CreateRelationalDatabaseInput) Validate() error { return nil } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput { - s.AvailabilityZone = &v +// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value. +func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput { + s.ForceDeleteAddOns = &v return s } -// SetMasterDatabaseName sets the MasterDatabaseName field's value. -func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput { - s.MasterDatabaseName = &v +// SetInstanceName sets the InstanceName field's value. +func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput { + s.InstanceName = &v return s } -// SetMasterUserPassword sets the MasterUserPassword field's value. -func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput { - s.MasterUserPassword = &v - return s +type DeleteInstanceOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } -// SetMasterUsername sets the MasterUsername field's value. -func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput { - s.MasterUsername = &v - return s +// String returns the string representation +func (s DeleteInstanceOutput) String() string { + return awsutil.Prettify(s) } -// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. -func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput { - s.PreferredBackupWindow = &v - return s +// GoString returns the string representation +func (s DeleteInstanceOutput) GoString() string { + return s.String() } -// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. -func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput { - s.PreferredMaintenanceWindow = &v +// SetOperations sets the Operations field's value. +func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput { + s.Operations = v return s } -// SetPubliclyAccessible sets the PubliclyAccessible field's value. -func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput { - s.PubliclyAccessible = &v - return s +type DeleteInstanceSnapshotInput struct { + _ struct{} `type:"structure"` + + // The name of the snapshot to delete. + // + // InstanceSnapshotName is a required field + InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"` } -// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value. -func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput { - s.RelationalDatabaseBlueprintId = &v - return s +// String returns the string representation +func (s DeleteInstanceSnapshotInput) String() string { + return awsutil.Prettify(s) } -// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value. -func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput { - s.RelationalDatabaseBundleId = &v - return s +// GoString returns the string representation +func (s DeleteInstanceSnapshotInput) GoString() string { + return s.String() } -// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. -func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput { - s.RelationalDatabaseName = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInstanceSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"} + if s.InstanceSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTags sets the Tags field's value. -func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput { - s.Tags = v +// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. +func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput { + s.InstanceSnapshotName = &v return s } -type CreateRelationalDatabaseOutput struct { +type DeleteInstanceSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -16032,64 +19275,45 @@ type CreateRelationalDatabaseOutput struct { } // String returns the string representation -func (s CreateRelationalDatabaseOutput) String() string { +func (s DeleteInstanceSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseOutput) GoString() string { +func (s DeleteInstanceSnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput { +func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput { s.Operations = v return s } -type CreateRelationalDatabaseSnapshotInput struct { +type DeleteKeyPairInput struct { _ struct{} `type:"structure"` - // The name of the database on which to base your new snapshot. - // - // RelationalDatabaseName is a required field - RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` - - // The name for your new database snapshot. - // - // Constraints: - // - // * Must contain from 2 to 255 alphanumeric characters, or hyphens. - // - // * The first and last character must be a letter or number. - // - // RelationalDatabaseSnapshotName is a required field - RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"` - - // The tag keys and optional values to add to the resource during create. + // The name of the key pair to delete. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // KeyPairName is a required field + KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"` } // String returns the string representation -func (s CreateRelationalDatabaseSnapshotInput) String() string { +func (s DeleteKeyPairInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseSnapshotInput) GoString() string { +func (s DeleteKeyPairInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateRelationalDatabaseSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"} - if s.RelationalDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) - } - if s.RelationalDatabaseSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName")) +func (s *DeleteKeyPairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"} + if s.KeyPairName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyPairName")) } if invalidParams.Len() > 0 { @@ -16098,73 +19322,61 @@ func (s *CreateRelationalDatabaseSnapshotInput) Validate() error { return nil } -// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. -func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput { - s.RelationalDatabaseName = &v - return s -} - -// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. -func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput { - s.RelationalDatabaseSnapshotName = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput { - s.Tags = v +// SetKeyPairName sets the KeyPairName field's value. +func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput { + s.KeyPairName = &v return s } -type CreateRelationalDatabaseSnapshotOutput struct { +type DeleteKeyPairOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status // of the request, the timestamp of the request, and the resources affected // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + Operation *Operation `locationName:"operation" type:"structure"` } // String returns the string representation -func (s CreateRelationalDatabaseSnapshotOutput) String() string { +func (s DeleteKeyPairOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseSnapshotOutput) GoString() string { +func (s DeleteKeyPairOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput { - s.Operations = v +// SetOperation sets the Operation field's value. +func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput { + s.Operation = v return s } -type DeleteAlarmInput struct { +type DeleteKnownHostKeysInput struct { _ struct{} `type:"structure"` - // The name of the alarm to delete. + // The name of the instance for which you want to reset the host key or certificate. // - // AlarmName is a required field - AlarmName *string `locationName:"alarmName" type:"string" required:"true"` + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteAlarmInput) String() string { +func (s DeleteKnownHostKeysInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAlarmInput) GoString() string { +func (s DeleteKnownHostKeysInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAlarmInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"} - if s.AlarmName == nil { - invalidParams.Add(request.NewErrParamRequired("AlarmName")) +func (s *DeleteKnownHostKeysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) } if invalidParams.Len() > 0 { @@ -16173,13 +19385,13 @@ func (s *DeleteAlarmInput) Validate() error { return nil } -// SetAlarmName sets the AlarmName field's value. -func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput { - s.AlarmName = &v +// SetInstanceName sets the InstanceName field's value. +func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput { + s.InstanceName = &v return s } -type DeleteAlarmOutput struct { +type DeleteKnownHostKeysOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -16189,56 +19401,45 @@ type DeleteAlarmOutput struct { } // String returns the string representation -func (s DeleteAlarmOutput) String() string { +func (s DeleteKnownHostKeysOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAlarmOutput) GoString() string { +func (s DeleteKnownHostKeysOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput { +func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput { s.Operations = v return s } -type DeleteAutoSnapshotInput struct { +type DeleteLoadBalancerInput struct { _ struct{} `type:"structure"` - // The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the - // get auto snapshots operation to get the available automatic snapshots for - // a resource. - // - // Date is a required field - Date *string `locationName:"date" type:"string" required:"true"` - - // The name of the source instance or disk from which to delete the automatic - // snapshot. + // The name of the load balancer you want to delete. // - // ResourceName is a required field - ResourceName *string `locationName:"resourceName" type:"string" required:"true"` + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteAutoSnapshotInput) String() string { +func (s DeleteLoadBalancerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAutoSnapshotInput) GoString() string { +func (s DeleteLoadBalancerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAutoSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"} - if s.Date == nil { - invalidParams.Add(request.NewErrParamRequired("Date")) - } - if s.ResourceName == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceName")) +func (s *DeleteLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"} + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -16247,19 +19448,13 @@ func (s *DeleteAutoSnapshotInput) Validate() error { return nil } -// SetDate sets the Date field's value. -func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput { - s.Date = &v - return s -} - -// SetResourceName sets the ResourceName field's value. -func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput { - s.ResourceName = &v +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput { + s.LoadBalancerName = &v return s } -type DeleteAutoSnapshotOutput struct { +type DeleteLoadBalancerOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -16269,48 +19464,60 @@ type DeleteAutoSnapshotOutput struct { } // String returns the string representation -func (s DeleteAutoSnapshotOutput) String() string { +func (s DeleteLoadBalancerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAutoSnapshotOutput) GoString() string { +func (s DeleteLoadBalancerOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput { +func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput { s.Operations = v return s } -type DeleteContactMethodInput struct { +type DeleteLoadBalancerTlsCertificateInput struct { _ struct{} `type:"structure"` - // The protocol that will be deleted, such as Email or SMS (text messaging). + // The SSL/TLS certificate name. // - // To delete an Email and an SMS contact method if you added both, you must - // run separate DeleteContactMethod actions to delete each protocol. + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` + + // When true, forces the deletion of an SSL/TLS certificate. // - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"` + // There can be two certificates associated with a Lightsail load balancer: + // the primary and the backup. The force parameter is required when the primary + // SSL/TLS certificate is in use by an instance attached to the load balancer. + Force *bool `locationName:"force" type:"boolean"` + + // The load balancer name. + // + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteContactMethodInput) String() string { +func (s DeleteLoadBalancerTlsCertificateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteContactMethodInput) GoString() string { +func (s DeleteLoadBalancerTlsCertificateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteContactMethodInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"} - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) +func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"} + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -16319,13 +19526,25 @@ func (s *DeleteContactMethodInput) Validate() error { return nil } -// SetProtocol sets the Protocol field's value. -func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput { - s.Protocol = &v +// SetCertificateName sets the CertificateName field's value. +func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput { + s.CertificateName = &v return s } -type DeleteContactMethodOutput struct { +// SetForce sets the Force field's value. +func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput { + s.Force = &v + return s +} + +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput { + s.LoadBalancerName = &v + return s +} + +type DeleteLoadBalancerTlsCertificateOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -16335,49 +19554,68 @@ type DeleteContactMethodOutput struct { } // String returns the string representation -func (s DeleteContactMethodOutput) String() string { +func (s DeleteLoadBalancerTlsCertificateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteContactMethodOutput) GoString() string { +func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput { +func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput { s.Operations = v return s } -type DeleteDiskInput struct { +type DeleteRelationalDatabaseInput struct { _ struct{} `type:"structure"` - // The unique name of the disk you want to delete (e.g., my-disk). + // The name of the database snapshot created if skip final snapshot is false, + // which is the default value for that parameter. // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` + // Specifying this parameter and also specifying the skip final snapshot parameter + // to true results in an error. + // + // Constraints: + // + // * Must contain from 2 to 255 alphanumeric characters, or hyphens. + // + // * The first and last character must be a letter or number. + FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"` - // A Boolean value to indicate whether to delete the enabled add-ons for the - // disk. - ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"` + // The name of the database that you are deleting. + // + // RelationalDatabaseName is a required field + RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` + + // Determines whether a final database snapshot is created before your database + // is deleted. If true is specified, no database snapshot is created. If false + // is specified, a database snapshot is created before your database is deleted. + // + // You must specify the final relational database snapshot name parameter if + // the skip final snapshot parameter is false. + // + // Default: false + SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"` } // String returns the string representation -func (s DeleteDiskInput) String() string { +func (s DeleteRelationalDatabaseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDiskInput) GoString() string { +func (s DeleteRelationalDatabaseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"} - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) +func (s *DeleteRelationalDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"} + if s.RelationalDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) } if invalidParams.Len() > 0 { @@ -16386,19 +19624,25 @@ func (s *DeleteDiskInput) Validate() error { return nil } -// SetDiskName sets the DiskName field's value. -func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput { - s.DiskName = &v +// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value. +func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput { + s.FinalRelationalDatabaseSnapshotName = &v return s } -// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value. -func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput { - s.ForceDeleteAddOns = &v +// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. +func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput { + s.RelationalDatabaseName = &v return s } -type DeleteDiskOutput struct { +// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value. +func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput { + s.SkipFinalSnapshot = &v + return s +} + +type DeleteRelationalDatabaseOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -16408,45 +19652,45 @@ type DeleteDiskOutput struct { } // String returns the string representation -func (s DeleteDiskOutput) String() string { +func (s DeleteRelationalDatabaseOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDiskOutput) GoString() string { +func (s DeleteRelationalDatabaseOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput { +func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput { s.Operations = v return s } -type DeleteDiskSnapshotInput struct { +type DeleteRelationalDatabaseSnapshotInput struct { _ struct{} `type:"structure"` - // The name of the disk snapshot you want to delete (e.g., my-disk-snapshot). + // The name of the database snapshot that you are deleting. // - // DiskSnapshotName is a required field - DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` + // RelationalDatabaseSnapshotName is a required field + RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDiskSnapshotInput) String() string { +func (s DeleteRelationalDatabaseSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDiskSnapshotInput) GoString() string { +func (s DeleteRelationalDatabaseSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDiskSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"} - if s.DiskSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) +func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"} + if s.RelationalDatabaseSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName")) } if invalidParams.Len() > 0 { @@ -16455,13 +19699,13 @@ func (s *DeleteDiskSnapshotInput) Validate() error { return nil } -// SetDiskSnapshotName sets the DiskSnapshotName field's value. -func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput { - s.DiskSnapshotName = &v +// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. +func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput { + s.RelationalDatabaseSnapshotName = &v return s } -type DeleteDiskSnapshotOutput struct { +type DeleteRelationalDatabaseSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -16471,53 +19715,81 @@ type DeleteDiskSnapshotOutput struct { } // String returns the string representation -func (s DeleteDiskSnapshotOutput) String() string { +func (s DeleteRelationalDatabaseSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDiskSnapshotOutput) GoString() string { +func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput { +func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput { s.Operations = v return s } -type DeleteDomainEntryInput struct { +// Describes the destination of a record. +type DestinationInfo struct { _ struct{} `type:"structure"` - // An array of key-value pairs containing information about your domain entries. - // - // DomainEntry is a required field - DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"` + // The ID of the resource created at the destination. + Id *string `locationName:"id" type:"string"` - // The name of the domain entry to delete. + // The destination service of the record. + Service *string `locationName:"service" type:"string"` +} + +// String returns the string representation +func (s DestinationInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DestinationInfo) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *DestinationInfo) SetId(v string) *DestinationInfo { + s.Id = &v + return s +} + +// SetService sets the Service field's value. +func (s *DestinationInfo) SetService(v string) *DestinationInfo { + s.Service = &v + return s +} + +type DetachCertificateFromDistributionInput struct { + _ struct{} `type:"structure"` + + // The name of the distribution from which to detach the certificate. // - // DomainName is a required field - DomainName *string `locationName:"domainName" type:"string" required:"true"` + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDomainEntryInput) String() string { +func (s DetachCertificateFromDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDomainEntryInput) GoString() string { +func (s DetachCertificateFromDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDomainEntryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"} - if s.DomainEntry == nil { - invalidParams.Add(request.NewErrParamRequired("DomainEntry")) - } - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) +func (s *DetachCertificateFromDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachCertificateFromDistributionInput"} + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) } if invalidParams.Len() > 0 { @@ -16526,67 +19798,62 @@ func (s *DeleteDomainEntryInput) Validate() error { return nil } -// SetDomainEntry sets the DomainEntry field's value. -func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput { - s.DomainEntry = v - return s -} - -// SetDomainName sets the DomainName field's value. -func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput { - s.DomainName = &v +// SetDistributionName sets the DistributionName field's value. +func (s *DetachCertificateFromDistributionInput) SetDistributionName(v string) *DetachCertificateFromDistributionInput { + s.DistributionName = &v return s } -type DeleteDomainEntryOutput struct { +type DetachCertificateFromDistributionOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. + // An object that describes the result of the action, such as the status of + // the request, the timestamp of the request, and the resources affected by + // the request. Operation *Operation `locationName:"operation" type:"structure"` } // String returns the string representation -func (s DeleteDomainEntryOutput) String() string { +func (s DetachCertificateFromDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDomainEntryOutput) GoString() string { +func (s DetachCertificateFromDistributionOutput) GoString() string { return s.String() } // SetOperation sets the Operation field's value. -func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput { +func (s *DetachCertificateFromDistributionOutput) SetOperation(v *Operation) *DetachCertificateFromDistributionOutput { s.Operation = v return s } -type DeleteDomainInput struct { +type DetachDiskInput struct { _ struct{} `type:"structure"` - // The specific domain name to delete. + // The unique name of the disk you want to detach from your instance (e.g., + // my-disk). // - // DomainName is a required field - DomainName *string `locationName:"domainName" type:"string" required:"true"` + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDomainInput) String() string { +func (s DetachDiskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDomainInput) GoString() string { +func (s DetachDiskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDomainInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"} - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) +func (s *DetachDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"} + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) } if invalidParams.Len() > 0 { @@ -16595,65 +19862,70 @@ func (s *DeleteDomainInput) Validate() error { return nil } -// SetDomainName sets the DomainName field's value. -func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput { - s.DomainName = &v +// SetDiskName sets the DiskName field's value. +func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput { + s.DiskName = &v return s } -type DeleteDomainOutput struct { +type DetachDiskOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status // of the request, the timestamp of the request, and the resources affected // by the request. - Operation *Operation `locationName:"operation" type:"structure"` + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteDomainOutput) String() string { +func (s DetachDiskOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDomainOutput) GoString() string { +func (s DetachDiskOutput) GoString() string { return s.String() } -// SetOperation sets the Operation field's value. -func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput { - s.Operation = v +// SetOperations sets the Operations field's value. +func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput { + s.Operations = v return s } -type DeleteInstanceInput struct { +type DetachInstancesFromLoadBalancerInput struct { _ struct{} `type:"structure"` - // A Boolean value to indicate whether to delete the enabled add-ons for the - // disk. - ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"` + // An array of strings containing the names of the instances you want to detach + // from the load balancer. + // + // InstanceNames is a required field + InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` - // The name of the instance to delete. + // The name of the Lightsail load balancer. // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteInstanceInput) String() string { +func (s DetachInstancesFromLoadBalancerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInstanceInput) GoString() string { +func (s DetachInstancesFromLoadBalancerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInstanceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) +func (s *DetachInstancesFromLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"} + if s.InstanceNames == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceNames")) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -16662,19 +19934,19 @@ func (s *DeleteInstanceInput) Validate() error { return nil } -// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value. -func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput { - s.ForceDeleteAddOns = &v +// SetInstanceNames sets the InstanceNames field's value. +func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput { + s.InstanceNames = v return s } -// SetInstanceName sets the InstanceName field's value. -func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput { - s.InstanceName = &v +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput { + s.LoadBalancerName = &v return s } -type DeleteInstanceOutput struct { +type DetachInstancesFromLoadBalancerOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -16684,45 +19956,45 @@ type DeleteInstanceOutput struct { } // String returns the string representation -func (s DeleteInstanceOutput) String() string { +func (s DetachInstancesFromLoadBalancerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInstanceOutput) GoString() string { +func (s DetachInstancesFromLoadBalancerOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput { +func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput { s.Operations = v return s } -type DeleteInstanceSnapshotInput struct { +type DetachStaticIpInput struct { _ struct{} `type:"structure"` - // The name of the snapshot to delete. + // The name of the static IP to detach from the instance. // - // InstanceSnapshotName is a required field - InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"` + // StaticIpName is a required field + StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteInstanceSnapshotInput) String() string { +func (s DetachStaticIpInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInstanceSnapshotInput) GoString() string { +func (s DetachStaticIpInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInstanceSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"} - if s.InstanceSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName")) +func (s *DetachStaticIpInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"} + if s.StaticIpName == nil { + invalidParams.Add(request.NewErrParamRequired("StaticIpName")) } if invalidParams.Len() > 0 { @@ -16731,13 +20003,13 @@ func (s *DeleteInstanceSnapshotInput) Validate() error { return nil } -// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. -func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput { - s.InstanceSnapshotName = &v +// SetStaticIpName sets the StaticIpName field's value. +func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput { + s.StaticIpName = &v return s } -type DeleteInstanceSnapshotOutput struct { +type DetachStaticIpOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status @@ -16747,45 +20019,53 @@ type DeleteInstanceSnapshotOutput struct { } // String returns the string representation -func (s DeleteInstanceSnapshotOutput) String() string { +func (s DetachStaticIpOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInstanceSnapshotOutput) GoString() string { +func (s DetachStaticIpOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput { +func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput { s.Operations = v return s } -type DeleteKeyPairInput struct { +type DisableAddOnInput struct { _ struct{} `type:"structure"` - // The name of the key pair to delete. + // The add-on type to disable. // - // KeyPairName is a required field - KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"` + // AddOnType is a required field + AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"` + + // The name of the source resource for which to disable the add-on. + // + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteKeyPairInput) String() string { +func (s DisableAddOnInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteKeyPairInput) GoString() string { +func (s DisableAddOnInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteKeyPairInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"} - if s.KeyPairName == nil { - invalidParams.Add(request.NewErrParamRequired("KeyPairName")) +func (s *DisableAddOnInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"} + if s.AddOnType == nil { + invalidParams.Add(request.NewErrParamRequired("AddOnType")) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) } if invalidParams.Len() > 0 { @@ -16794,1450 +20074,1318 @@ func (s *DeleteKeyPairInput) Validate() error { return nil } -// SetKeyPairName sets the KeyPairName field's value. -func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput { - s.KeyPairName = &v +// SetAddOnType sets the AddOnType field's value. +func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput { + s.AddOnType = &v return s } -type DeleteKeyPairOutput struct { +// SetResourceName sets the ResourceName field's value. +func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput { + s.ResourceName = &v + return s +} + +type DisableAddOnOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status // of the request, the timestamp of the request, and the resources affected // by the request. - Operation *Operation `locationName:"operation" type:"structure"` + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteKeyPairOutput) String() string { +func (s DisableAddOnOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteKeyPairOutput) GoString() string { +func (s DisableAddOnOutput) GoString() string { return s.String() } -// SetOperation sets the Operation field's value. -func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput { - s.Operation = v +// SetOperations sets the Operations field's value. +func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput { + s.Operations = v return s } -type DeleteKnownHostKeysInput struct { +// Describes a system disk or a block storage disk. +type Disk struct { _ struct{} `type:"structure"` - // The name of the instance for which you want to reset the host key or certificate. + // An array of objects representing the add-ons enabled on the disk. + AddOns []*AddOn `locationName:"addOns" type:"list"` + + // The Amazon Resource Name (ARN) of the disk. + Arn *string `locationName:"arn" type:"string"` + + // The resources to which the disk is attached. + AttachedTo *string `locationName:"attachedTo" type:"string"` + + // (Deprecated) The attachment state of the disk. // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` -} + // In releases prior to November 14, 2017, this parameter returned attached + // for system disks in the API response. It is now deprecated, but still included + // in the response. Use isAttached instead. + // + // Deprecated: AttachmentState has been deprecated + AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"` -// String returns the string representation -func (s DeleteKnownHostKeysInput) String() string { - return awsutil.Prettify(s) -} + // The date when the disk was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` -// GoString returns the string representation -func (s DeleteKnownHostKeysInput) GoString() string { - return s.String() -} + // (Deprecated) The number of GB in use by the disk. + // + // In releases prior to November 14, 2017, this parameter was not included in + // the API response. It is now deprecated. + // + // Deprecated: GbInUse has been deprecated + GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteKnownHostKeysInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) - } + // The input/output operations per second (IOPS) of the disk. + Iops *int64 `locationName:"iops" type:"integer"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // A Boolean value indicating whether the disk is attached. + IsAttached *bool `locationName:"isAttached" type:"boolean"` -// SetInstanceName sets the InstanceName field's value. -func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput { - s.InstanceName = &v - return s -} + // A Boolean value indicating whether this disk is a system disk (has an operating + // system loaded on it). + IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"` -type DeleteKnownHostKeysOutput struct { - _ struct{} `type:"structure"` + // The AWS Region and Availability Zone where the disk is located. + Location *ResourceLocation `locationName:"location" type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` -} + // The unique name of the disk. + Name *string `locationName:"name" type:"string"` -// String returns the string representation -func (s DeleteKnownHostKeysOutput) String() string { - return awsutil.Prettify(s) -} + // The disk path. + Path *string `locationName:"path" type:"string"` -// GoString returns the string representation -func (s DeleteKnownHostKeysOutput) GoString() string { - return s.String() -} + // The Lightsail resource type (e.g., Disk). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` -// SetOperations sets the Operations field's value. -func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput { - s.Operations = v - return s -} + // The size of the disk in GB. + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` -type DeleteLoadBalancerInput struct { - _ struct{} `type:"structure"` + // Describes the status of the disk. + State *string `locationName:"state" type:"string" enum:"DiskState"` - // The name of the load balancer you want to delete. - // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` + // The support code. Include this code in your email to support when you have + // questions about an instance or another resource in Lightsail. This code enables + // our support team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s DeleteLoadBalancerInput) String() string { +func (s Disk) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteLoadBalancerInput) GoString() string { +func (s Disk) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteLoadBalancerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"} - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAddOns sets the AddOns field's value. +func (s *Disk) SetAddOns(v []*AddOn) *Disk { + s.AddOns = v + return s } -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput { - s.LoadBalancerName = &v +// SetArn sets the Arn field's value. +func (s *Disk) SetArn(v string) *Disk { + s.Arn = &v return s } -type DeleteLoadBalancerOutput struct { - _ struct{} `type:"structure"` - - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` +// SetAttachedTo sets the AttachedTo field's value. +func (s *Disk) SetAttachedTo(v string) *Disk { + s.AttachedTo = &v + return s } -// String returns the string representation -func (s DeleteLoadBalancerOutput) String() string { - return awsutil.Prettify(s) +// SetAttachmentState sets the AttachmentState field's value. +func (s *Disk) SetAttachmentState(v string) *Disk { + s.AttachmentState = &v + return s } -// GoString returns the string representation -func (s DeleteLoadBalancerOutput) GoString() string { - return s.String() +// SetCreatedAt sets the CreatedAt field's value. +func (s *Disk) SetCreatedAt(v time.Time) *Disk { + s.CreatedAt = &v + return s } -// SetOperations sets the Operations field's value. -func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput { - s.Operations = v +// SetGbInUse sets the GbInUse field's value. +func (s *Disk) SetGbInUse(v int64) *Disk { + s.GbInUse = &v return s } -type DeleteLoadBalancerTlsCertificateInput struct { - _ struct{} `type:"structure"` - - // The SSL/TLS certificate name. - // - // CertificateName is a required field - CertificateName *string `locationName:"certificateName" type:"string" required:"true"` - - // When true, forces the deletion of an SSL/TLS certificate. - // - // There can be two certificates associated with a Lightsail load balancer: - // the primary and the backup. The force parameter is required when the primary - // SSL/TLS certificate is in use by an instance attached to the load balancer. - Force *bool `locationName:"force" type:"boolean"` - - // The load balancer name. - // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` +// SetIops sets the Iops field's value. +func (s *Disk) SetIops(v int64) *Disk { + s.Iops = &v + return s } -// String returns the string representation -func (s DeleteLoadBalancerTlsCertificateInput) String() string { - return awsutil.Prettify(s) +// SetIsAttached sets the IsAttached field's value. +func (s *Disk) SetIsAttached(v bool) *Disk { + s.IsAttached = &v + return s } -// GoString returns the string representation -func (s DeleteLoadBalancerTlsCertificateInput) GoString() string { - return s.String() +// SetIsSystemDisk sets the IsSystemDisk field's value. +func (s *Disk) SetIsSystemDisk(v bool) *Disk { + s.IsSystemDisk = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"} - if s.CertificateName == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateName")) - } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLocation sets the Location field's value. +func (s *Disk) SetLocation(v *ResourceLocation) *Disk { + s.Location = v + return s } -// SetCertificateName sets the CertificateName field's value. -func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput { - s.CertificateName = &v +// SetName sets the Name field's value. +func (s *Disk) SetName(v string) *Disk { + s.Name = &v return s } -// SetForce sets the Force field's value. -func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput { - s.Force = &v +// SetPath sets the Path field's value. +func (s *Disk) SetPath(v string) *Disk { + s.Path = &v return s } -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput { - s.LoadBalancerName = &v +// SetResourceType sets the ResourceType field's value. +func (s *Disk) SetResourceType(v string) *Disk { + s.ResourceType = &v return s } -type DeleteLoadBalancerTlsCertificateOutput struct { - _ struct{} `type:"structure"` - - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` +// SetSizeInGb sets the SizeInGb field's value. +func (s *Disk) SetSizeInGb(v int64) *Disk { + s.SizeInGb = &v + return s } -// String returns the string representation -func (s DeleteLoadBalancerTlsCertificateOutput) String() string { - return awsutil.Prettify(s) +// SetState sets the State field's value. +func (s *Disk) SetState(v string) *Disk { + s.State = &v + return s } -// GoString returns the string representation -func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string { - return s.String() +// SetSupportCode sets the SupportCode field's value. +func (s *Disk) SetSupportCode(v string) *Disk { + s.SupportCode = &v + return s } -// SetOperations sets the Operations field's value. -func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput { - s.Operations = v +// SetTags sets the Tags field's value. +func (s *Disk) SetTags(v []*Tag) *Disk { + s.Tags = v return s } -type DeleteRelationalDatabaseInput struct { +// Describes a disk. +type DiskInfo struct { _ struct{} `type:"structure"` - // The name of the database snapshot created if skip final snapshot is false, - // which is the default value for that parameter. - // - // Specifying this parameter and also specifying the skip final snapshot parameter - // to true results in an error. - // - // Constraints: - // - // * Must contain from 2 to 255 alphanumeric characters, or hyphens. - // - // * The first and last character must be a letter or number. - FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"` + // A Boolean value indicating whether this disk is a system disk (has an operating + // system loaded on it). + IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"` - // The name of the database that you are deleting. - // - // RelationalDatabaseName is a required field - RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` + // The disk name. + Name *string `locationName:"name" type:"string"` - // Determines whether a final database snapshot is created before your database - // is deleted. If true is specified, no database snapshot is created. If false - // is specified, a database snapshot is created before your database is deleted. - // - // You must specify the final relational database snapshot name parameter if - // the skip final snapshot parameter is false. - // - // Default: false - SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"` + // The disk path. + Path *string `locationName:"path" type:"string"` + + // The size of the disk in GB (e.g., 32). + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` } // String returns the string representation -func (s DeleteRelationalDatabaseInput) String() string { +func (s DiskInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteRelationalDatabaseInput) GoString() string { +func (s DiskInfo) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteRelationalDatabaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"} - if s.RelationalDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIsSystemDisk sets the IsSystemDisk field's value. +func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo { + s.IsSystemDisk = &v + return s } -// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value. -func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput { - s.FinalRelationalDatabaseSnapshotName = &v +// SetName sets the Name field's value. +func (s *DiskInfo) SetName(v string) *DiskInfo { + s.Name = &v return s } -// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. -func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput { - s.RelationalDatabaseName = &v +// SetPath sets the Path field's value. +func (s *DiskInfo) SetPath(v string) *DiskInfo { + s.Path = &v return s } -// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value. -func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput { - s.SkipFinalSnapshot = &v +// SetSizeInGb sets the SizeInGb field's value. +func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo { + s.SizeInGb = &v return s } -type DeleteRelationalDatabaseOutput struct { +// Describes a block storage disk mapping. +type DiskMap struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // The new disk name (e.g., my-new-disk). + NewDiskName *string `locationName:"newDiskName" type:"string"` + + // The original disk path exposed to the instance (for example, /dev/sdh). + OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"` } // String returns the string representation -func (s DeleteRelationalDatabaseOutput) String() string { +func (s DiskMap) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteRelationalDatabaseOutput) GoString() string { +func (s DiskMap) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput { - s.Operations = v +// SetNewDiskName sets the NewDiskName field's value. +func (s *DiskMap) SetNewDiskName(v string) *DiskMap { + s.NewDiskName = &v return s } -type DeleteRelationalDatabaseSnapshotInput struct { +// SetOriginalDiskPath sets the OriginalDiskPath field's value. +func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap { + s.OriginalDiskPath = &v + return s +} + +// Describes a block storage disk snapshot. +type DiskSnapshot struct { _ struct{} `type:"structure"` - // The name of the database snapshot that you are deleting. - // - // RelationalDatabaseSnapshotName is a required field - RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"` -} + // The Amazon Resource Name (ARN) of the disk snapshot. + Arn *string `locationName:"arn" type:"string"` -// String returns the string representation -func (s DeleteRelationalDatabaseSnapshotInput) String() string { - return awsutil.Prettify(s) -} + // The date when the disk snapshot was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` -// GoString returns the string representation -func (s DeleteRelationalDatabaseSnapshotInput) GoString() string { - return s.String() -} + // The Amazon Resource Name (ARN) of the source disk from which the disk snapshot + // was created. + FromDiskArn *string `locationName:"fromDiskArn" type:"string"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"} - if s.RelationalDatabaseSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName")) - } + // The unique name of the source disk from which the disk snapshot was created. + FromDiskName *string `locationName:"fromDiskName" type:"string"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The Amazon Resource Name (ARN) of the source instance from which the disk + // (system volume) snapshot was created. + FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"` -// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. -func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput { - s.RelationalDatabaseSnapshotName = &v - return s -} + // The unique name of the source instance from which the disk (system volume) + // snapshot was created. + FromInstanceName *string `locationName:"fromInstanceName" type:"string"` -type DeleteRelationalDatabaseSnapshotOutput struct { - _ struct{} `type:"structure"` + // A Boolean value indicating whether the snapshot was created from an automatic + // snapshot. + IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // The AWS Region and Availability Zone where the disk snapshot was created. + Location *ResourceLocation `locationName:"location" type:"structure"` + + // The name of the disk snapshot (e.g., my-disk-snapshot). + Name *string `locationName:"name" type:"string"` + + // The progress of the disk snapshot operation. + Progress *string `locationName:"progress" type:"string"` + + // The Lightsail resource type (e.g., DiskSnapshot). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // The size of the disk in GB. + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` + + // The status of the disk snapshot operation. + State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"` + + // The support code. Include this code in your email to support when you have + // questions about an instance or another resource in Lightsail. This code enables + // our support team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s DeleteRelationalDatabaseSnapshotOutput) String() string { +func (s DiskSnapshot) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string { +func (s DiskSnapshot) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput { - s.Operations = v +// SetArn sets the Arn field's value. +func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot { + s.Arn = &v return s } -// Describes the destination of a record. -type DestinationInfo struct { - _ struct{} `type:"structure"` +// SetCreatedAt sets the CreatedAt field's value. +func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot { + s.CreatedAt = &v + return s +} - // The ID of the resource created at the destination. - Id *string `locationName:"id" type:"string"` +// SetFromDiskArn sets the FromDiskArn field's value. +func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot { + s.FromDiskArn = &v + return s +} - // The destination service of the record. - Service *string `locationName:"service" type:"string"` +// SetFromDiskName sets the FromDiskName field's value. +func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot { + s.FromDiskName = &v + return s } -// String returns the string representation -func (s DestinationInfo) String() string { - return awsutil.Prettify(s) +// SetFromInstanceArn sets the FromInstanceArn field's value. +func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot { + s.FromInstanceArn = &v + return s } -// GoString returns the string representation -func (s DestinationInfo) GoString() string { - return s.String() +// SetFromInstanceName sets the FromInstanceName field's value. +func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot { + s.FromInstanceName = &v + return s } -// SetId sets the Id field's value. -func (s *DestinationInfo) SetId(v string) *DestinationInfo { - s.Id = &v +// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value. +func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot { + s.IsFromAutoSnapshot = &v return s } -// SetService sets the Service field's value. -func (s *DestinationInfo) SetService(v string) *DestinationInfo { - s.Service = &v +// SetLocation sets the Location field's value. +func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot { + s.Location = v return s } -type DetachDiskInput struct { - _ struct{} `type:"structure"` +// SetName sets the Name field's value. +func (s *DiskSnapshot) SetName(v string) *DiskSnapshot { + s.Name = &v + return s +} - // The unique name of the disk you want to detach from your instance (e.g., - // my-disk). - // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` +// SetProgress sets the Progress field's value. +func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot { + s.Progress = &v + return s } -// String returns the string representation -func (s DetachDiskInput) String() string { - return awsutil.Prettify(s) +// SetResourceType sets the ResourceType field's value. +func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot { + s.ResourceType = &v + return s } -// GoString returns the string representation -func (s DetachDiskInput) GoString() string { - return s.String() +// SetSizeInGb sets the SizeInGb field's value. +func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot { + s.SizeInGb = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DetachDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"} - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) - } +// SetState sets the State field's value. +func (s *DiskSnapshot) SetState(v string) *DiskSnapshot { + s.State = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSupportCode sets the SupportCode field's value. +func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot { + s.SupportCode = &v + return s } -// SetDiskName sets the DiskName field's value. -func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput { - s.DiskName = &v +// SetTags sets the Tags field's value. +func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot { + s.Tags = v return s } -type DetachDiskOutput struct { +// Describes a disk snapshot. +type DiskSnapshotInfo struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // The size of the disk in GB (e.g., 32). + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` } // String returns the string representation -func (s DetachDiskOutput) String() string { +func (s DiskSnapshotInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DetachDiskOutput) GoString() string { +func (s DiskSnapshotInfo) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput { - s.Operations = v +// SetSizeInGb sets the SizeInGb field's value. +func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo { + s.SizeInGb = &v return s } -type DetachInstancesFromLoadBalancerInput struct { +// Describes the specifications of a distribution bundle. +type DistributionBundle struct { _ struct{} `type:"structure"` - // An array of strings containing the names of the instances you want to detach - // from the load balancer. - // - // InstanceNames is a required field - InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` + // The ID of the bundle. + BundleId *string `locationName:"bundleId" type:"string"` - // The name of the Lightsail load balancer. - // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` + // Indicates whether the bundle is active, and can be specified for a new distribution. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // The name of the distribution bundle. + Name *string `locationName:"name" type:"string"` + + // The monthly price, in US dollars, of the bundle. + Price *float64 `locationName:"price" type:"float"` + + // The monthly network transfer quota of the bundle. + TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"` } // String returns the string representation -func (s DetachInstancesFromLoadBalancerInput) String() string { +func (s DistributionBundle) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DetachInstancesFromLoadBalancerInput) GoString() string { +func (s DistributionBundle) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DetachInstancesFromLoadBalancerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"} - if s.InstanceNames == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceNames")) - } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) - } +// SetBundleId sets the BundleId field's value. +func (s *DistributionBundle) SetBundleId(v string) *DistributionBundle { + s.BundleId = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIsActive sets the IsActive field's value. +func (s *DistributionBundle) SetIsActive(v bool) *DistributionBundle { + s.IsActive = &v + return s } -// SetInstanceNames sets the InstanceNames field's value. -func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput { - s.InstanceNames = v +// SetName sets the Name field's value. +func (s *DistributionBundle) SetName(v string) *DistributionBundle { + s.Name = &v return s } -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput { - s.LoadBalancerName = &v +// SetPrice sets the Price field's value. +func (s *DistributionBundle) SetPrice(v float64) *DistributionBundle { + s.Price = &v return s } -type DetachInstancesFromLoadBalancerOutput struct { +// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value. +func (s *DistributionBundle) SetTransferPerMonthInGb(v int64) *DistributionBundle { + s.TransferPerMonthInGb = &v + return s +} + +// Describes a domain where you are storing recordsets in Lightsail. +type Domain struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` -} + // The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE). + Arn *string `locationName:"arn" type:"string"` -// String returns the string representation -func (s DetachInstancesFromLoadBalancerOutput) String() string { - return awsutil.Prettify(s) -} + // The date when the domain recordset was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` -// GoString returns the string representation -func (s DetachInstancesFromLoadBalancerOutput) GoString() string { - return s.String() -} + // An array of key-value pairs containing information about the domain entries. + DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"` -// SetOperations sets the Operations field's value. -func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput { - s.Operations = v - return s -} + // The AWS Region and Availability Zones where the domain recordset was created. + Location *ResourceLocation `locationName:"location" type:"structure"` -type DetachStaticIpInput struct { - _ struct{} `type:"structure"` + // The name of the domain. + Name *string `locationName:"name" type:"string"` - // The name of the static IP to detach from the instance. - // - // StaticIpName is a required field - StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` + // The resource type. + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // The support code. Include this code in your email to support when you have + // questions about an instance or another resource in Lightsail. This code enables + // our support team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s DetachStaticIpInput) String() string { +func (s Domain) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DetachStaticIpInput) GoString() string { +func (s Domain) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DetachStaticIpInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"} - if s.StaticIpName == nil { - invalidParams.Add(request.NewErrParamRequired("StaticIpName")) - } +// SetArn sets the Arn field's value. +func (s *Domain) SetArn(v string) *Domain { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreatedAt sets the CreatedAt field's value. +func (s *Domain) SetCreatedAt(v time.Time) *Domain { + s.CreatedAt = &v + return s } -// SetStaticIpName sets the StaticIpName field's value. -func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput { - s.StaticIpName = &v +// SetDomainEntries sets the DomainEntries field's value. +func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain { + s.DomainEntries = v return s } -type DetachStaticIpOutput struct { - _ struct{} `type:"structure"` +// SetLocation sets the Location field's value. +func (s *Domain) SetLocation(v *ResourceLocation) *Domain { + s.Location = v + return s +} - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` +// SetName sets the Name field's value. +func (s *Domain) SetName(v string) *Domain { + s.Name = &v + return s } -// String returns the string representation -func (s DetachStaticIpOutput) String() string { - return awsutil.Prettify(s) +// SetResourceType sets the ResourceType field's value. +func (s *Domain) SetResourceType(v string) *Domain { + s.ResourceType = &v + return s } -// GoString returns the string representation -func (s DetachStaticIpOutput) GoString() string { - return s.String() +// SetSupportCode sets the SupportCode field's value. +func (s *Domain) SetSupportCode(v string) *Domain { + s.SupportCode = &v + return s } -// SetOperations sets the Operations field's value. -func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput { - s.Operations = v +// SetTags sets the Tags field's value. +func (s *Domain) SetTags(v []*Tag) *Domain { + s.Tags = v return s } -type DisableAddOnInput struct { +// Describes a domain recordset entry. +type DomainEntry struct { _ struct{} `type:"structure"` - // The add-on type to disable. + // The ID of the domain recordset entry. + Id *string `locationName:"id" type:"string"` + + // When true, specifies whether the domain entry is an alias used by the Lightsail + // load balancer. You can include an alias (A type) record in your request, + // which points to a load balancer DNS name and routes traffic to your load + // balancer + IsAlias *bool `locationName:"isAlias" type:"boolean"` + + // The name of the domain. + Name *string `locationName:"name" type:"string"` + + // (Deprecated) The options for the domain entry. // - // AddOnType is a required field - AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"` + // In releases prior to November 29, 2017, this parameter was not included in + // the API response. It is now deprecated. + // + // Deprecated: Options has been deprecated + Options map[string]*string `locationName:"options" deprecated:"true" type:"map"` - // The name of the source resource for which to disable the add-on. + // The target AWS name server (e.g., ns-111.awsdns-22.com.). // - // ResourceName is a required field - ResourceName *string `locationName:"resourceName" type:"string" required:"true"` + // For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. + // Be sure to also set isAlias to true when setting up an A record for a load + // balancer. + Target *string `locationName:"target" type:"string"` + + // The type of domain entry, such as address (A), canonical name (CNAME), mail + // exchanger (MX), name server (NS), start of authority (SOA), service locator + // (SRV), or text (TXT). + // + // The following domain entry types can be used: + // + // * A + // + // * CNAME + // + // * MX + // + // * NS + // + // * SOA + // + // * SRV + // + // * TXT + Type *string `locationName:"type" type:"string"` } // String returns the string representation -func (s DisableAddOnInput) String() string { +func (s DomainEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DisableAddOnInput) GoString() string { +func (s DomainEntry) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DisableAddOnInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"} - if s.AddOnType == nil { - invalidParams.Add(request.NewErrParamRequired("AddOnType")) - } - if s.ResourceName == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceName")) - } +// SetId sets the Id field's value. +func (s *DomainEntry) SetId(v string) *DomainEntry { + s.Id = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIsAlias sets the IsAlias field's value. +func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry { + s.IsAlias = &v + return s +} + +// SetName sets the Name field's value. +func (s *DomainEntry) SetName(v string) *DomainEntry { + s.Name = &v + return s +} + +// SetOptions sets the Options field's value. +func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry { + s.Options = v + return s } -// SetAddOnType sets the AddOnType field's value. -func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput { - s.AddOnType = &v +// SetTarget sets the Target field's value. +func (s *DomainEntry) SetTarget(v string) *DomainEntry { + s.Target = &v return s } -// SetResourceName sets the ResourceName field's value. -func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput { - s.ResourceName = &v +// SetType sets the Type field's value. +func (s *DomainEntry) SetType(v string) *DomainEntry { + s.Type = &v return s } -type DisableAddOnOutput struct { +// Describes the domain validation records of an Amazon Lightsail SSL/TLS certificate. +type DomainValidationRecord struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // The domain name of the certificate validation record. For example, example.com + // or www.example.com. + DomainName *string `locationName:"domainName" type:"string"` + + // An object that describes the DNS records to add to your domain's DNS to validate + // it for the certificate. + ResourceRecord *ResourceRecord `locationName:"resourceRecord" type:"structure"` } // String returns the string representation -func (s DisableAddOnOutput) String() string { +func (s DomainValidationRecord) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DisableAddOnOutput) GoString() string { +func (s DomainValidationRecord) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput { - s.Operations = v +// SetDomainName sets the DomainName field's value. +func (s *DomainValidationRecord) SetDomainName(v string) *DomainValidationRecord { + s.DomainName = &v return s } -// Describes a system disk or a block storage disk. -type Disk struct { - _ struct{} `type:"structure"` - - // An array of objects representing the add-ons enabled on the disk. - AddOns []*AddOn `locationName:"addOns" type:"list"` - - // The Amazon Resource Name (ARN) of the disk. - Arn *string `locationName:"arn" type:"string"` - - // The resources to which the disk is attached. - AttachedTo *string `locationName:"attachedTo" type:"string"` - - // (Deprecated) The attachment state of the disk. - // - // In releases prior to November 14, 2017, this parameter returned attached - // for system disks in the API response. It is now deprecated, but still included - // in the response. Use isAttached instead. - // - // Deprecated: AttachmentState has been deprecated - AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"` - - // The date when the disk was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // (Deprecated) The number of GB in use by the disk. - // - // In releases prior to November 14, 2017, this parameter was not included in - // the API response. It is now deprecated. - // - // Deprecated: GbInUse has been deprecated - GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"` - - // The input/output operations per second (IOPS) of the disk. - Iops *int64 `locationName:"iops" type:"integer"` - - // A Boolean value indicating whether the disk is attached. - IsAttached *bool `locationName:"isAttached" type:"boolean"` - - // A Boolean value indicating whether this disk is a system disk (has an operating - // system loaded on it). - IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"` - - // The AWS Region and Availability Zone where the disk is located. - Location *ResourceLocation `locationName:"location" type:"structure"` - - // The unique name of the disk. - Name *string `locationName:"name" type:"string"` +// SetResourceRecord sets the ResourceRecord field's value. +func (s *DomainValidationRecord) SetResourceRecord(v *ResourceRecord) *DomainValidationRecord { + s.ResourceRecord = v + return s +} - // The disk path. - Path *string `locationName:"path" type:"string"` +type DownloadDefaultKeyPairInput struct { + _ struct{} `type:"structure"` +} - // The Lightsail resource type (e.g., Disk). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +// String returns the string representation +func (s DownloadDefaultKeyPairInput) String() string { + return awsutil.Prettify(s) +} - // The size of the disk in GB. - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` +// GoString returns the string representation +func (s DownloadDefaultKeyPairInput) GoString() string { + return s.String() +} - // Describes the status of the disk. - State *string `locationName:"state" type:"string" enum:"DiskState"` +type DownloadDefaultKeyPairOutput struct { + _ struct{} `type:"structure"` - // The support code. Include this code in your email to support when you have - // questions about an instance or another resource in Lightsail. This code enables - // our support team to look up your Lightsail information more easily. - SupportCode *string `locationName:"supportCode" type:"string"` + // A base64-encoded RSA private key. + PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"` - // The tag keys and optional values for the resource. For more information about - // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). - Tags []*Tag `locationName:"tags" type:"list"` + // A base64-encoded public key of the ssh-rsa type. + PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"` } // String returns the string representation -func (s Disk) String() string { +func (s DownloadDefaultKeyPairOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Disk) GoString() string { +func (s DownloadDefaultKeyPairOutput) GoString() string { return s.String() } -// SetAddOns sets the AddOns field's value. -func (s *Disk) SetAddOns(v []*AddOn) *Disk { - s.AddOns = v - return s -} - -// SetArn sets the Arn field's value. -func (s *Disk) SetArn(v string) *Disk { - s.Arn = &v +// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value. +func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput { + s.PrivateKeyBase64 = &v return s } -// SetAttachedTo sets the AttachedTo field's value. -func (s *Disk) SetAttachedTo(v string) *Disk { - s.AttachedTo = &v +// SetPublicKeyBase64 sets the PublicKeyBase64 field's value. +func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput { + s.PublicKeyBase64 = &v return s } -// SetAttachmentState sets the AttachmentState field's value. -func (s *Disk) SetAttachmentState(v string) *Disk { - s.AttachmentState = &v - return s -} +type EnableAddOnInput struct { + _ struct{} `type:"structure"` -// SetCreatedAt sets the CreatedAt field's value. -func (s *Disk) SetCreatedAt(v time.Time) *Disk { - s.CreatedAt = &v - return s -} + // An array of strings representing the add-on to enable or modify. + // + // AddOnRequest is a required field + AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"` -// SetGbInUse sets the GbInUse field's value. -func (s *Disk) SetGbInUse(v int64) *Disk { - s.GbInUse = &v - return s + // The name of the source resource for which to enable or modify the add-on. + // + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` } -// SetIops sets the Iops field's value. -func (s *Disk) SetIops(v int64) *Disk { - s.Iops = &v - return s +// String returns the string representation +func (s EnableAddOnInput) String() string { + return awsutil.Prettify(s) } -// SetIsAttached sets the IsAttached field's value. -func (s *Disk) SetIsAttached(v bool) *Disk { - s.IsAttached = &v - return s +// GoString returns the string representation +func (s EnableAddOnInput) GoString() string { + return s.String() } -// SetIsSystemDisk sets the IsSystemDisk field's value. -func (s *Disk) SetIsSystemDisk(v bool) *Disk { - s.IsSystemDisk = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableAddOnInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"} + if s.AddOnRequest == nil { + invalidParams.Add(request.NewErrParamRequired("AddOnRequest")) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.AddOnRequest != nil { + if err := s.AddOnRequest.Validate(); err != nil { + invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams)) + } + } -// SetLocation sets the Location field's value. -func (s *Disk) SetLocation(v *ResourceLocation) *Disk { - s.Location = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetName sets the Name field's value. -func (s *Disk) SetName(v string) *Disk { - s.Name = &v +// SetAddOnRequest sets the AddOnRequest field's value. +func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput { + s.AddOnRequest = v return s } -// SetPath sets the Path field's value. -func (s *Disk) SetPath(v string) *Disk { - s.Path = &v +// SetResourceName sets the ResourceName field's value. +func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput { + s.ResourceName = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *Disk) SetResourceType(v string) *Disk { - s.ResourceType = &v - return s -} +type EnableAddOnOutput struct { + _ struct{} `type:"structure"` -// SetSizeInGb sets the SizeInGb field's value. -func (s *Disk) SetSizeInGb(v int64) *Disk { - s.SizeInGb = &v - return s + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } -// SetState sets the State field's value. -func (s *Disk) SetState(v string) *Disk { - s.State = &v - return s +// String returns the string representation +func (s EnableAddOnOutput) String() string { + return awsutil.Prettify(s) } -// SetSupportCode sets the SupportCode field's value. -func (s *Disk) SetSupportCode(v string) *Disk { - s.SupportCode = &v - return s +// GoString returns the string representation +func (s EnableAddOnOutput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *Disk) SetTags(v []*Tag) *Disk { - s.Tags = v +// SetOperations sets the Operations field's value. +func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput { + s.Operations = v return s -} - -// Describes a disk. -type DiskInfo struct { - _ struct{} `type:"structure"` - - // A Boolean value indicating whether this disk is a system disk (has an operating - // system loaded on it). - IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"` - - // The disk name. - Name *string `locationName:"name" type:"string"` +} - // The disk path. - Path *string `locationName:"path" type:"string"` +type ExportSnapshotInput struct { + _ struct{} `type:"structure"` - // The size of the disk in GB (e.g., 32). - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` + // The name of the instance or disk snapshot to be exported to Amazon EC2. + // + // SourceSnapshotName is a required field + SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"` } // String returns the string representation -func (s DiskInfo) String() string { +func (s ExportSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DiskInfo) GoString() string { +func (s ExportSnapshotInput) GoString() string { return s.String() } -// SetIsSystemDisk sets the IsSystemDisk field's value. -func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo { - s.IsSystemDisk = &v - return s -} - -// SetName sets the Name field's value. -func (s *DiskInfo) SetName(v string) *DiskInfo { - s.Name = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"} + if s.SourceSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) + } -// SetPath sets the Path field's value. -func (s *DiskInfo) SetPath(v string) *DiskInfo { - s.Path = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSizeInGb sets the SizeInGb field's value. -func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo { - s.SizeInGb = &v +// SetSourceSnapshotName sets the SourceSnapshotName field's value. +func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput { + s.SourceSnapshotName = &v return s } -// Describes a block storage disk mapping. -type DiskMap struct { +type ExportSnapshotOutput struct { _ struct{} `type:"structure"` - // The new disk name (e.g., my-new-disk). - NewDiskName *string `locationName:"newDiskName" type:"string"` - - // The original disk path exposed to the instance (for example, /dev/sdh). - OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"` + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DiskMap) String() string { +func (s ExportSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DiskMap) GoString() string { +func (s ExportSnapshotOutput) GoString() string { return s.String() } -// SetNewDiskName sets the NewDiskName field's value. -func (s *DiskMap) SetNewDiskName(v string) *DiskMap { - s.NewDiskName = &v - return s -} - -// SetOriginalDiskPath sets the OriginalDiskPath field's value. -func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap { - s.OriginalDiskPath = &v +// SetOperations sets the Operations field's value. +func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput { + s.Operations = v return s } -// Describes a block storage disk snapshot. -type DiskSnapshot struct { +// Describes an export snapshot record. +type ExportSnapshotRecord struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the disk snapshot. + // The Amazon Resource Name (ARN) of the export snapshot record. Arn *string `locationName:"arn" type:"string"` - // The date when the disk snapshot was created. + // The date when the export snapshot record was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // The Amazon Resource Name (ARN) of the source disk from which the disk snapshot - // was created. - FromDiskArn *string `locationName:"fromDiskArn" type:"string"` - - // The unique name of the source disk from which the disk snapshot was created. - FromDiskName *string `locationName:"fromDiskName" type:"string"` - - // The Amazon Resource Name (ARN) of the source instance from which the disk - // (system volume) snapshot was created. - FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"` - - // The unique name of the source instance from which the disk (system volume) - // snapshot was created. - FromInstanceName *string `locationName:"fromInstanceName" type:"string"` - - // A Boolean value indicating whether the snapshot was created from an automatic - // snapshot. - IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"` + // A list of objects describing the destination of the export snapshot record. + DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"` - // The AWS Region and Availability Zone where the disk snapshot was created. + // The AWS Region and Availability Zone where the export snapshot record is + // located. Location *ResourceLocation `locationName:"location" type:"structure"` - // The name of the disk snapshot (e.g., my-disk-snapshot). + // The export snapshot record name. Name *string `locationName:"name" type:"string"` - // The progress of the disk snapshot operation. - Progress *string `locationName:"progress" type:"string"` - - // The Lightsail resource type (e.g., DiskSnapshot). + // The Lightsail resource type (e.g., ExportSnapshotRecord). ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` - // The size of the disk in GB. - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` - - // The status of the disk snapshot operation. - State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"` - - // The support code. Include this code in your email to support when you have - // questions about an instance or another resource in Lightsail. This code enables - // our support team to look up your Lightsail information more easily. - SupportCode *string `locationName:"supportCode" type:"string"` + // A list of objects describing the source of the export snapshot record. + SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"` - // The tag keys and optional values for the resource. For more information about - // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). - Tags []*Tag `locationName:"tags" type:"list"` + // The state of the export snapshot record. + State *string `locationName:"state" type:"string" enum:"RecordState"` } // String returns the string representation -func (s DiskSnapshot) String() string { +func (s ExportSnapshotRecord) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DiskSnapshot) GoString() string { +func (s ExportSnapshotRecord) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. -func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord { s.CreatedAt = &v return s } -// SetFromDiskArn sets the FromDiskArn field's value. -func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot { - s.FromDiskArn = &v - return s -} - -// SetFromDiskName sets the FromDiskName field's value. -func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot { - s.FromDiskName = &v - return s -} - -// SetFromInstanceArn sets the FromInstanceArn field's value. -func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot { - s.FromInstanceArn = &v - return s -} - -// SetFromInstanceName sets the FromInstanceName field's value. -func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot { - s.FromInstanceName = &v - return s -} - -// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value. -func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot { - s.IsFromAutoSnapshot = &v +// SetDestinationInfo sets the DestinationInfo field's value. +func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord { + s.DestinationInfo = v return s } // SetLocation sets the Location field's value. -func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord { s.Location = v return s } // SetName sets the Name field's value. -func (s *DiskSnapshot) SetName(v string) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord { s.Name = &v return s } -// SetProgress sets the Progress field's value. -func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot { - s.Progress = &v - return s -} - // SetResourceType sets the ResourceType field's value. -func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord { s.ResourceType = &v return s } -// SetSizeInGb sets the SizeInGb field's value. -func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot { - s.SizeInGb = &v +// SetSourceInfo sets the SourceInfo field's value. +func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord { + s.SourceInfo = v return s } // SetState sets the State field's value. -func (s *DiskSnapshot) SetState(v string) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord { s.State = &v return s } -// SetSupportCode sets the SupportCode field's value. -func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot { - s.SupportCode = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot { - s.Tags = v - return s -} - -// Describes a disk snapshot. -type DiskSnapshotInfo struct { - _ struct{} `type:"structure"` - - // The size of the disk in GB (e.g., 32). - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` -} - -// String returns the string representation -func (s DiskSnapshotInfo) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DiskSnapshotInfo) GoString() string { - return s.String() -} - -// SetSizeInGb sets the SizeInGb field's value. -func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo { - s.SizeInGb = &v - return s -} - -// Describes a domain where you are storing recordsets in Lightsail. -type Domain struct { +// Describes the source of an export snapshot record. +type ExportSnapshotRecordSourceInfo struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE). + // The Amazon Resource Name (ARN) of the source instance or disk snapshot. Arn *string `locationName:"arn" type:"string"` - // The date when the domain recordset was created. + // The date when the source instance or disk snapshot was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // An array of key-value pairs containing information about the domain entries. - DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"` - - // The AWS Region and Availability Zones where the domain recordset was created. - Location *ResourceLocation `locationName:"location" type:"structure"` + // A list of objects describing a disk snapshot. + DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"` - // The name of the domain. - Name *string `locationName:"name" type:"string"` + // The Amazon Resource Name (ARN) of the snapshot's source instance or disk. + FromResourceArn *string `locationName:"fromResourceArn" type:"string"` - // The resource type. - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + // The name of the snapshot's source instance or disk. + FromResourceName *string `locationName:"fromResourceName" type:"string"` - // The support code. Include this code in your email to support when you have - // questions about an instance or another resource in Lightsail. This code enables - // our support team to look up your Lightsail information more easily. - SupportCode *string `locationName:"supportCode" type:"string"` + // A list of objects describing an instance snapshot. + InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"` - // The tag keys and optional values for the resource. For more information about - // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). - Tags []*Tag `locationName:"tags" type:"list"` + // The name of the source instance or disk snapshot. + Name *string `locationName:"name" type:"string"` + + // The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"` } // String returns the string representation -func (s Domain) String() string { +func (s ExportSnapshotRecordSourceInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Domain) GoString() string { +func (s ExportSnapshotRecordSourceInfo) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *Domain) SetArn(v string) *Domain { +func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. -func (s *Domain) SetCreatedAt(v time.Time) *Domain { +func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo { s.CreatedAt = &v return s } -// SetDomainEntries sets the DomainEntries field's value. -func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain { - s.DomainEntries = v +// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value. +func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo { + s.DiskSnapshotInfo = v return s } -// SetLocation sets the Location field's value. -func (s *Domain) SetLocation(v *ResourceLocation) *Domain { - s.Location = v +// SetFromResourceArn sets the FromResourceArn field's value. +func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo { + s.FromResourceArn = &v return s } -// SetName sets the Name field's value. -func (s *Domain) SetName(v string) *Domain { - s.Name = &v +// SetFromResourceName sets the FromResourceName field's value. +func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo { + s.FromResourceName = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *Domain) SetResourceType(v string) *Domain { - s.ResourceType = &v +// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value. +func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo { + s.InstanceSnapshotInfo = v return s } -// SetSupportCode sets the SupportCode field's value. -func (s *Domain) SetSupportCode(v string) *Domain { - s.SupportCode = &v +// SetName sets the Name field's value. +func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo { + s.Name = &v return s } -// SetTags sets the Tags field's value. -func (s *Domain) SetTags(v []*Tag) *Domain { - s.Tags = v +// SetResourceType sets the ResourceType field's value. +func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo { + s.ResourceType = &v return s } -// Describes a domain recordset entry. -type DomainEntry struct { +type GetActiveNamesInput struct { _ struct{} `type:"structure"` - // The ID of the domain recordset entry. - Id *string `locationName:"id" type:"string"` - - // When true, specifies whether the domain entry is an alias used by the Lightsail - // load balancer. You can include an alias (A type) record in your request, - // which points to a load balancer DNS name and routes traffic to your load - // balancer - IsAlias *bool `locationName:"isAlias" type:"boolean"` - - // The name of the domain. - Name *string `locationName:"name" type:"string"` - - // (Deprecated) The options for the domain entry. - // - // In releases prior to November 29, 2017, this parameter was not included in - // the API response. It is now deprecated. - // - // Deprecated: Options has been deprecated - Options map[string]*string `locationName:"options" deprecated:"true" type:"map"` - - // The target AWS name server (e.g., ns-111.awsdns-22.com.). - // - // For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. - // Be sure to also set isAlias to true when setting up an A record for a load - // balancer. - Target *string `locationName:"target" type:"string"` - - // The type of domain entry, such as address (A), canonical name (CNAME), mail - // exchanger (MX), name server (NS), start of authority (SOA), service locator - // (SRV), or text (TXT). - // - // The following domain entry types can be used: - // - // * A - // - // * CNAME - // - // * MX - // - // * NS - // - // * SOA - // - // * SRV + // The token to advance to the next page of results from your request. // - // * TXT - Type *string `locationName:"type" type:"string"` + // To get a page token, perform an initial GetActiveNames request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. + PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s DomainEntry) String() string { +func (s GetActiveNamesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DomainEntry) GoString() string { +func (s GetActiveNamesInput) GoString() string { return s.String() } -// SetId sets the Id field's value. -func (s *DomainEntry) SetId(v string) *DomainEntry { - s.Id = &v +// SetPageToken sets the PageToken field's value. +func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput { + s.PageToken = &v return s } -// SetIsAlias sets the IsAlias field's value. -func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry { - s.IsAlias = &v - return s +type GetActiveNamesOutput struct { + _ struct{} `type:"structure"` + + // The list of active names returned by the get active names request. + ActiveNames []*string `locationName:"activeNames" type:"list"` + + // The token to advance to the next page of resutls from your request. + // + // A next page token is not returned if there are no more results to display. + // + // To get the next page of results, perform another GetActiveNames request and + // specify the next page token using the pageToken parameter. + NextPageToken *string `locationName:"nextPageToken" type:"string"` } -// SetName sets the Name field's value. -func (s *DomainEntry) SetName(v string) *DomainEntry { - s.Name = &v - return s +// String returns the string representation +func (s GetActiveNamesOutput) String() string { + return awsutil.Prettify(s) } -// SetOptions sets the Options field's value. -func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry { - s.Options = v - return s +// GoString returns the string representation +func (s GetActiveNamesOutput) GoString() string { + return s.String() } -// SetTarget sets the Target field's value. -func (s *DomainEntry) SetTarget(v string) *DomainEntry { - s.Target = &v +// SetActiveNames sets the ActiveNames field's value. +func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput { + s.ActiveNames = v return s } -// SetType sets the Type field's value. -func (s *DomainEntry) SetType(v string) *DomainEntry { - s.Type = &v +// SetNextPageToken sets the NextPageToken field's value. +func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput { + s.NextPageToken = &v return s } -type DownloadDefaultKeyPairInput struct { +type GetAlarmsInput struct { _ struct{} `type:"structure"` + + // The name of the alarm. + // + // Specify an alarm name to return information about a specific alarm. + AlarmName *string `locationName:"alarmName" type:"string"` + + // The name of the Lightsail resource being monitored by the alarm. + // + // Specify a monitored resource name to return information about all alarms + // for a specific resource. + MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"` + + // The token to advance to the next page of results from your request. + // + // To get a page token, perform an initial GetAlarms request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. + PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s DownloadDefaultKeyPairInput) String() string { +func (s GetAlarmsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DownloadDefaultKeyPairInput) GoString() string { +func (s GetAlarmsInput) GoString() string { return s.String() } -type DownloadDefaultKeyPairOutput struct { +// SetAlarmName sets the AlarmName field's value. +func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput { + s.AlarmName = &v + return s +} + +// SetMonitoredResourceName sets the MonitoredResourceName field's value. +func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput { + s.MonitoredResourceName = &v + return s +} + +// SetPageToken sets the PageToken field's value. +func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput { + s.PageToken = &v + return s +} + +type GetAlarmsOutput struct { _ struct{} `type:"structure"` - // A base64-encoded RSA private key. - PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"` + // An array of objects that describe the alarms. + Alarms []*Alarm `locationName:"alarms" type:"list"` - // A base64-encoded public key of the ssh-rsa type. - PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"` + // The token to advance to the next page of resutls from your request. + // + // A next page token is not returned if there are no more results to display. + // + // To get the next page of results, perform another GetAlarms request and specify + // the next page token using the pageToken parameter. + NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s DownloadDefaultKeyPairOutput) String() string { +func (s GetAlarmsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DownloadDefaultKeyPairOutput) GoString() string { +func (s GetAlarmsOutput) GoString() string { return s.String() } -// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value. -func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput { - s.PrivateKeyBase64 = &v +// SetAlarms sets the Alarms field's value. +func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput { + s.Alarms = v return s } -// SetPublicKeyBase64 sets the PublicKeyBase64 field's value. -func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput { - s.PublicKeyBase64 = &v +// SetNextPageToken sets the NextPageToken field's value. +func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput { + s.NextPageToken = &v return s } -type EnableAddOnInput struct { +type GetAutoSnapshotsInput struct { _ struct{} `type:"structure"` - // An array of strings representing the add-on to enable or modify. - // - // AddOnRequest is a required field - AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"` - - // The name of the source resource for which to enable or modify the add-on. + // The name of the source instance or disk from which to get automatic snapshot + // information. // // ResourceName is a required field ResourceName *string `locationName:"resourceName" type:"string" required:"true"` } // String returns the string representation -func (s EnableAddOnInput) String() string { +func (s GetAutoSnapshotsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnableAddOnInput) GoString() string { +func (s GetAutoSnapshotsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EnableAddOnInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"} - if s.AddOnRequest == nil { - invalidParams.Add(request.NewErrParamRequired("AddOnRequest")) - } - if s.ResourceName == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceName")) - } - if s.AddOnRequest != nil { - if err := s.AddOnRequest.Validate(); err != nil { - invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams)) - } +func (s *GetAutoSnapshotsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"} + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) } if invalidParams.Len() > 0 { @@ -18246,457 +21394,416 @@ func (s *EnableAddOnInput) Validate() error { return nil } -// SetAddOnRequest sets the AddOnRequest field's value. -func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput { - s.AddOnRequest = v - return s -} - // SetResourceName sets the ResourceName field's value. -func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput { +func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput { s.ResourceName = &v return s } -type EnableAddOnOutput struct { +type GetAutoSnapshotsOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // An array of objects that describe the automatic snapshots that are available + // for the specified source instance or disk. + AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"` + + // The name of the source instance or disk for the automatic snapshots. + ResourceName *string `locationName:"resourceName" type:"string"` + + // The resource type (e.g., Instance or Disk). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` } // String returns the string representation -func (s EnableAddOnOutput) String() string { +func (s GetAutoSnapshotsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnableAddOnOutput) GoString() string { +func (s GetAutoSnapshotsOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput { - s.Operations = v +// SetAutoSnapshots sets the AutoSnapshots field's value. +func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput { + s.AutoSnapshots = v return s } -type ExportSnapshotInput struct { +// SetResourceName sets the ResourceName field's value. +func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput { + s.ResourceName = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput { + s.ResourceType = &v + return s +} + +type GetBlueprintsInput struct { _ struct{} `type:"structure"` - // The name of the instance or disk snapshot to be exported to Amazon EC2. + // A Boolean value indicating whether to include inactive results in your request. + IncludeInactive *bool `locationName:"includeInactive" type:"boolean"` + + // The token to advance to the next page of results from your request. // - // SourceSnapshotName is a required field - SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"` + // To get a page token, perform an initial GetBlueprints request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. + PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s ExportSnapshotInput) String() string { +func (s GetBlueprintsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportSnapshotInput) GoString() string { +func (s GetBlueprintsInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ExportSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"} - if s.SourceSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIncludeInactive sets the IncludeInactive field's value. +func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput { + s.IncludeInactive = &v + return s } -// SetSourceSnapshotName sets the SourceSnapshotName field's value. -func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput { - s.SourceSnapshotName = &v +// SetPageToken sets the PageToken field's value. +func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput { + s.PageToken = &v return s } -type ExportSnapshotOutput struct { +type GetBlueprintsOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the timestamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // An array of key-value pairs that contains information about the available + // blueprints. + Blueprints []*Blueprint `locationName:"blueprints" type:"list"` + + // The token to advance to the next page of resutls from your request. + // + // A next page token is not returned if there are no more results to display. + // + // To get the next page of results, perform another GetBlueprints request and + // specify the next page token using the pageToken parameter. + NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s ExportSnapshotOutput) String() string { +func (s GetBlueprintsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportSnapshotOutput) GoString() string { +func (s GetBlueprintsOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput { - s.Operations = v +// SetBlueprints sets the Blueprints field's value. +func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput { + s.Blueprints = v return s } -// Describes an export snapshot record. -type ExportSnapshotRecord struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the export snapshot record. - Arn *string `locationName:"arn" type:"string"` - - // The date when the export snapshot record was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // A list of objects describing the destination of the export snapshot record. - DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"` - - // The AWS Region and Availability Zone where the export snapshot record is - // located. - Location *ResourceLocation `locationName:"location" type:"structure"` - - // The export snapshot record name. - Name *string `locationName:"name" type:"string"` +// SetNextPageToken sets the NextPageToken field's value. +func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput { + s.NextPageToken = &v + return s +} - // The Lightsail resource type (e.g., ExportSnapshotRecord). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +type GetBundlesInput struct { + _ struct{} `type:"structure"` - // A list of objects describing the source of the export snapshot record. - SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"` + // A Boolean value that indicates whether to include inactive bundle results + // in your request. + IncludeInactive *bool `locationName:"includeInactive" type:"boolean"` - // The state of the export snapshot record. - State *string `locationName:"state" type:"string" enum:"RecordState"` + // The token to advance to the next page of results from your request. + // + // To get a page token, perform an initial GetBundles request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. + PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s ExportSnapshotRecord) String() string { +func (s GetBundlesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportSnapshotRecord) GoString() string { +func (s GetBundlesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord { - s.Arn = &v +// SetIncludeInactive sets the IncludeInactive field's value. +func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput { + s.IncludeInactive = &v return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord { - s.CreatedAt = &v +// SetPageToken sets the PageToken field's value. +func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput { + s.PageToken = &v return s } -// SetDestinationInfo sets the DestinationInfo field's value. -func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord { - s.DestinationInfo = v - return s -} +type GetBundlesOutput struct { + _ struct{} `type:"structure"` -// SetLocation sets the Location field's value. -func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord { - s.Location = v - return s + // An array of key-value pairs that contains information about the available + // bundles. + Bundles []*Bundle `locationName:"bundles" type:"list"` + + // The token to advance to the next page of resutls from your request. + // + // A next page token is not returned if there are no more results to display. + // + // To get the next page of results, perform another GetBundles request and specify + // the next page token using the pageToken parameter. + NextPageToken *string `locationName:"nextPageToken" type:"string"` } -// SetName sets the Name field's value. -func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord { - s.Name = &v - return s +// String returns the string representation +func (s GetBundlesOutput) String() string { + return awsutil.Prettify(s) } -// SetResourceType sets the ResourceType field's value. -func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord { - s.ResourceType = &v - return s +// GoString returns the string representation +func (s GetBundlesOutput) GoString() string { + return s.String() } -// SetSourceInfo sets the SourceInfo field's value. -func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord { - s.SourceInfo = v +// SetBundles sets the Bundles field's value. +func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput { + s.Bundles = v return s } -// SetState sets the State field's value. -func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord { - s.State = &v +// SetNextPageToken sets the NextPageToken field's value. +func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput { + s.NextPageToken = &v return s } -// Describes the source of an export snapshot record. -type ExportSnapshotRecordSourceInfo struct { +type GetCertificatesInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the source instance or disk snapshot. - Arn *string `locationName:"arn" type:"string"` - - // The date when the source instance or disk snapshot was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // A list of objects describing a disk snapshot. - DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"` - - // The Amazon Resource Name (ARN) of the snapshot's source instance or disk. - FromResourceArn *string `locationName:"fromResourceArn" type:"string"` - - // The name of the snapshot's source instance or disk. - FromResourceName *string `locationName:"fromResourceName" type:"string"` - - // A list of objects describing an instance snapshot. - InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"` + // The name for the certificate for which to return information. + // + // When omitted, the response includes all of your certificates in the AWS region + // where the request is made. + CertificateName *string `locationName:"certificateName" type:"string"` - // The name of the source instance or disk snapshot. - Name *string `locationName:"name" type:"string"` + // The status of the certificates for which to return information. + // + // For example, specify ISSUED to return only certificates with an ISSUED status. + // + // When omitted, the response includes all of your certificates in the AWS region + // where the request is made, regardless of their current status. + CertificateStatuses []*string `locationName:"certificateStatuses" type:"list"` - // The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"` + // Indicates whether to include detailed information about the certificates + // in the response. + // + // When omitted, the response includes only the certificate names, Amazon Resource + // Names (ARNs), domain names, and tags. + IncludeCertificateDetails *bool `locationName:"includeCertificateDetails" type:"boolean"` } // String returns the string representation -func (s ExportSnapshotRecordSourceInfo) String() string { +func (s GetCertificatesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportSnapshotRecordSourceInfo) GoString() string { +func (s GetCertificatesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo { - s.Arn = &v - return s -} - -// SetCreatedAt sets the CreatedAt field's value. -func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo { - s.CreatedAt = &v +// SetCertificateName sets the CertificateName field's value. +func (s *GetCertificatesInput) SetCertificateName(v string) *GetCertificatesInput { + s.CertificateName = &v return s } -// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value. -func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo { - s.DiskSnapshotInfo = v +// SetCertificateStatuses sets the CertificateStatuses field's value. +func (s *GetCertificatesInput) SetCertificateStatuses(v []*string) *GetCertificatesInput { + s.CertificateStatuses = v return s } -// SetFromResourceArn sets the FromResourceArn field's value. -func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo { - s.FromResourceArn = &v +// SetIncludeCertificateDetails sets the IncludeCertificateDetails field's value. +func (s *GetCertificatesInput) SetIncludeCertificateDetails(v bool) *GetCertificatesInput { + s.IncludeCertificateDetails = &v return s } -// SetFromResourceName sets the FromResourceName field's value. -func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo { - s.FromResourceName = &v - return s +type GetCertificatesOutput struct { + _ struct{} `type:"structure"` + + // An object that describes certificates. + Certificates []*CertificateSummary `locationName:"certificates" type:"list"` } -// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value. -func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo { - s.InstanceSnapshotInfo = v - return s +// String returns the string representation +func (s GetCertificatesOutput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo { - s.Name = &v - return s +// GoString returns the string representation +func (s GetCertificatesOutput) GoString() string { + return s.String() } -// SetResourceType sets the ResourceType field's value. -func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo { - s.ResourceType = &v +// SetCertificates sets the Certificates field's value. +func (s *GetCertificatesOutput) SetCertificates(v []*CertificateSummary) *GetCertificatesOutput { + s.Certificates = v return s } -type GetActiveNamesInput struct { +type GetCloudFormationStackRecordsInput struct { _ struct{} `type:"structure"` // The token to advance to the next page of results from your request. // - // To get a page token, perform an initial GetActiveNames request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. + // To get a page token, perform an initial GetClouFormationStackRecords request. + // If your results are paginated, the response will return a next page token + // that you can specify as the page token in a subsequent request. PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s GetActiveNamesInput) String() string { +func (s GetCloudFormationStackRecordsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetActiveNamesInput) GoString() string { +func (s GetCloudFormationStackRecordsInput) GoString() string { return s.String() } // SetPageToken sets the PageToken field's value. -func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput { +func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput { s.PageToken = &v return s } -type GetActiveNamesOutput struct { +type GetCloudFormationStackRecordsOutput struct { _ struct{} `type:"structure"` - // The list of active names returned by the get active names request. - ActiveNames []*string `locationName:"activeNames" type:"list"` + // A list of objects describing the CloudFormation stack records. + CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"` // The token to advance to the next page of resutls from your request. // // A next page token is not returned if there are no more results to display. // - // To get the next page of results, perform another GetActiveNames request and - // specify the next page token using the pageToken parameter. + // To get the next page of results, perform another GetCloudFormationStackRecords + // request and specify the next page token using the pageToken parameter. NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s GetActiveNamesOutput) String() string { +func (s GetCloudFormationStackRecordsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetActiveNamesOutput) GoString() string { +func (s GetCloudFormationStackRecordsOutput) GoString() string { return s.String() } -// SetActiveNames sets the ActiveNames field's value. -func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput { - s.ActiveNames = v +// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value. +func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput { + s.CloudFormationStackRecords = v return s } // SetNextPageToken sets the NextPageToken field's value. -func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput { +func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput { s.NextPageToken = &v return s } -type GetAlarmsInput struct { +type GetContactMethodsInput struct { _ struct{} `type:"structure"` - // The name of the alarm. - // - // Specify an alarm name to return information about a specific alarm. - AlarmName *string `locationName:"alarmName" type:"string"` - - // The name of the Lightsail resource being monitored by the alarm. - // - // Specify a monitored resource name to return information about all alarms - // for a specific resource. - MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"` - - // The token to advance to the next page of results from your request. + // The protocols used to send notifications, such as Email, or SMS (text messaging). // - // To get a page token, perform an initial GetAlarms request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. - PageToken *string `locationName:"pageToken" type:"string"` + // Specify a protocol in your request to return information about a specific + // contact method protocol. + Protocols []*string `locationName:"protocols" type:"list"` } // String returns the string representation -func (s GetAlarmsInput) String() string { +func (s GetContactMethodsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAlarmsInput) GoString() string { +func (s GetContactMethodsInput) GoString() string { return s.String() } -// SetAlarmName sets the AlarmName field's value. -func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput { - s.AlarmName = &v - return s -} - -// SetMonitoredResourceName sets the MonitoredResourceName field's value. -func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput { - s.MonitoredResourceName = &v - return s -} - -// SetPageToken sets the PageToken field's value. -func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput { - s.PageToken = &v +// SetProtocols sets the Protocols field's value. +func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput { + s.Protocols = v return s } -type GetAlarmsOutput struct { +type GetContactMethodsOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the alarms. - Alarms []*Alarm `locationName:"alarms" type:"list"` - - // The token to advance to the next page of resutls from your request. - // - // A next page token is not returned if there are no more results to display. - // - // To get the next page of results, perform another GetAlarms request and specify - // the next page token using the pageToken parameter. - NextPageToken *string `locationName:"nextPageToken" type:"string"` + // An array of objects that describe the contact methods. + ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"` } // String returns the string representation -func (s GetAlarmsOutput) String() string { +func (s GetContactMethodsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAlarmsOutput) GoString() string { +func (s GetContactMethodsOutput) GoString() string { return s.String() } -// SetAlarms sets the Alarms field's value. -func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput { - s.Alarms = v - return s -} - -// SetNextPageToken sets the NextPageToken field's value. -func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput { - s.NextPageToken = &v +// SetContactMethods sets the ContactMethods field's value. +func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput { + s.ContactMethods = v return s } -type GetAutoSnapshotsInput struct { +type GetDiskInput struct { _ struct{} `type:"structure"` - // The name of the source instance or disk from which to get automatic snapshot - // information. + // The name of the disk (e.g., my-disk). // - // ResourceName is a required field - ResourceName *string `locationName:"resourceName" type:"string" required:"true"` + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` } // String returns the string representation -func (s GetAutoSnapshotsInput) String() string { +func (s GetDiskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAutoSnapshotsInput) GoString() string { +func (s GetDiskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetAutoSnapshotsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"} - if s.ResourceName == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceName")) +func (s *GetDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"} + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) } if invalidParams.Len() > 0 { @@ -18705,401 +21812,479 @@ func (s *GetAutoSnapshotsInput) Validate() error { return nil } -// SetResourceName sets the ResourceName field's value. -func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput { - s.ResourceName = &v +// SetDiskName sets the DiskName field's value. +func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput { + s.DiskName = &v return s } -type GetAutoSnapshotsOutput struct { +type GetDiskOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the automatic snapshots that are available - // for the specified source instance or disk. - AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"` - - // The name of the source instance or disk for the automatic snapshots. - ResourceName *string `locationName:"resourceName" type:"string"` - - // The resource type (e.g., Instance or Disk). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + // An object containing information about the disk. + Disk *Disk `locationName:"disk" type:"structure"` } // String returns the string representation -func (s GetAutoSnapshotsOutput) String() string { +func (s GetDiskOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAutoSnapshotsOutput) GoString() string { +func (s GetDiskOutput) GoString() string { return s.String() } -// SetAutoSnapshots sets the AutoSnapshots field's value. -func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput { - s.AutoSnapshots = v - return s -} - -// SetResourceName sets the ResourceName field's value. -func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput { - s.ResourceName = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput { - s.ResourceType = &v +// SetDisk sets the Disk field's value. +func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput { + s.Disk = v return s } -type GetBlueprintsInput struct { +type GetDiskSnapshotInput struct { _ struct{} `type:"structure"` - // A Boolean value indicating whether to include inactive results in your request. - IncludeInactive *bool `locationName:"includeInactive" type:"boolean"` - - // The token to advance to the next page of results from your request. + // The name of the disk snapshot (e.g., my-disk-snapshot). // - // To get a page token, perform an initial GetBlueprints request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. - PageToken *string `locationName:"pageToken" type:"string"` + // DiskSnapshotName is a required field + DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` } // String returns the string representation -func (s GetBlueprintsInput) String() string { +func (s GetDiskSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBlueprintsInput) GoString() string { +func (s GetDiskSnapshotInput) GoString() string { return s.String() } -// SetIncludeInactive sets the IncludeInactive field's value. -func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput { - s.IncludeInactive = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDiskSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"} + if s.DiskSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPageToken sets the PageToken field's value. -func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput { - s.PageToken = &v +// SetDiskSnapshotName sets the DiskSnapshotName field's value. +func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput { + s.DiskSnapshotName = &v return s } -type GetBlueprintsOutput struct { +type GetDiskSnapshotOutput struct { _ struct{} `type:"structure"` - // An array of key-value pairs that contains information about the available - // blueprints. - Blueprints []*Blueprint `locationName:"blueprints" type:"list"` - - // The token to advance to the next page of resutls from your request. - // - // A next page token is not returned if there are no more results to display. - // - // To get the next page of results, perform another GetBlueprints request and - // specify the next page token using the pageToken parameter. - NextPageToken *string `locationName:"nextPageToken" type:"string"` + // An object containing information about the disk snapshot. + DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"` } // String returns the string representation -func (s GetBlueprintsOutput) String() string { +func (s GetDiskSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBlueprintsOutput) GoString() string { +func (s GetDiskSnapshotOutput) GoString() string { return s.String() } -// SetBlueprints sets the Blueprints field's value. -func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput { - s.Blueprints = v - return s -} - -// SetNextPageToken sets the NextPageToken field's value. -func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput { - s.NextPageToken = &v +// SetDiskSnapshot sets the DiskSnapshot field's value. +func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput { + s.DiskSnapshot = v return s } -type GetBundlesInput struct { +type GetDiskSnapshotsInput struct { _ struct{} `type:"structure"` - // A Boolean value that indicates whether to include inactive bundle results - // in your request. - IncludeInactive *bool `locationName:"includeInactive" type:"boolean"` - // The token to advance to the next page of results from your request. // - // To get a page token, perform an initial GetBundles request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. + // To get a page token, perform an initial GetDiskSnapshots request. If your + // results are paginated, the response will return a next page token that you + // can specify as the page token in a subsequent request. PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s GetBundlesInput) String() string { +func (s GetDiskSnapshotsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBundlesInput) GoString() string { +func (s GetDiskSnapshotsInput) GoString() string { return s.String() } -// SetIncludeInactive sets the IncludeInactive field's value. -func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput { - s.IncludeInactive = &v - return s -} - // SetPageToken sets the PageToken field's value. -func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput { +func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput { s.PageToken = &v return s } -type GetBundlesOutput struct { +type GetDiskSnapshotsOutput struct { _ struct{} `type:"structure"` - // An array of key-value pairs that contains information about the available - // bundles. - Bundles []*Bundle `locationName:"bundles" type:"list"` + // An array of objects containing information about all block storage disk snapshots. + DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"` // The token to advance to the next page of resutls from your request. // // A next page token is not returned if there are no more results to display. // - // To get the next page of results, perform another GetBundles request and specify - // the next page token using the pageToken parameter. + // To get the next page of results, perform another GetDiskSnapshots request + // and specify the next page token using the pageToken parameter. NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s GetBundlesOutput) String() string { +func (s GetDiskSnapshotsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBundlesOutput) GoString() string { +func (s GetDiskSnapshotsOutput) GoString() string { return s.String() } -// SetBundles sets the Bundles field's value. -func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput { - s.Bundles = v +// SetDiskSnapshots sets the DiskSnapshots field's value. +func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput { + s.DiskSnapshots = v return s } // SetNextPageToken sets the NextPageToken field's value. -func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput { +func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput { s.NextPageToken = &v return s } -type GetCloudFormationStackRecordsInput struct { +type GetDisksInput struct { _ struct{} `type:"structure"` // The token to advance to the next page of results from your request. // - // To get a page token, perform an initial GetClouFormationStackRecords request. - // If your results are paginated, the response will return a next page token - // that you can specify as the page token in a subsequent request. + // To get a page token, perform an initial GetDisks request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s GetCloudFormationStackRecordsInput) String() string { +func (s GetDisksInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFormationStackRecordsInput) GoString() string { +func (s GetDisksInput) GoString() string { return s.String() } // SetPageToken sets the PageToken field's value. -func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput { +func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput { s.PageToken = &v return s } -type GetCloudFormationStackRecordsOutput struct { +type GetDisksOutput struct { _ struct{} `type:"structure"` - // A list of objects describing the CloudFormation stack records. - CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"` + // An array of objects containing information about all block storage disks. + Disks []*Disk `locationName:"disks" type:"list"` // The token to advance to the next page of resutls from your request. // // A next page token is not returned if there are no more results to display. // - // To get the next page of results, perform another GetCloudFormationStackRecords - // request and specify the next page token using the pageToken parameter. + // To get the next page of results, perform another GetDisks request and specify + // the next page token using the pageToken parameter. NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s GetCloudFormationStackRecordsOutput) String() string { +func (s GetDisksOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFormationStackRecordsOutput) GoString() string { +func (s GetDisksOutput) GoString() string { return s.String() } -// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value. -func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput { - s.CloudFormationStackRecords = v +// SetDisks sets the Disks field's value. +func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput { + s.Disks = v return s } // SetNextPageToken sets the NextPageToken field's value. -func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput { +func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput { s.NextPageToken = &v return s } -type GetContactMethodsInput struct { +type GetDistributionBundlesInput struct { _ struct{} `type:"structure"` - - // The protocols used to send notifications, such as Email, or SMS (text messaging). - // - // Specify a protocol in your request to return information about a specific - // contact method protocol. - Protocols []*string `locationName:"protocols" type:"list"` } // String returns the string representation -func (s GetContactMethodsInput) String() string { +func (s GetDistributionBundlesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetContactMethodsInput) GoString() string { +func (s GetDistributionBundlesInput) GoString() string { return s.String() } -// SetProtocols sets the Protocols field's value. -func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput { - s.Protocols = v - return s -} - -type GetContactMethodsOutput struct { +type GetDistributionBundlesOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the contact methods. - ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"` + // An object that describes a distribution bundle. + Bundles []*DistributionBundle `locationName:"bundles" type:"list"` } // String returns the string representation -func (s GetContactMethodsOutput) String() string { +func (s GetDistributionBundlesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetContactMethodsOutput) GoString() string { +func (s GetDistributionBundlesOutput) GoString() string { return s.String() } -// SetContactMethods sets the ContactMethods field's value. -func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput { - s.ContactMethods = v +// SetBundles sets the Bundles field's value. +func (s *GetDistributionBundlesOutput) SetBundles(v []*DistributionBundle) *GetDistributionBundlesOutput { + s.Bundles = v return s } -type GetDiskInput struct { +type GetDistributionLatestCacheResetInput struct { _ struct{} `type:"structure"` - // The name of the disk (e.g., my-disk). + // The name of the distribution for which to return the timestamp of the last + // cache reset. // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // When omitted, the response includes the latest cache reset timestamp of all + // your distributions. + DistributionName *string `locationName:"distributionName" type:"string"` } // String returns the string representation -func (s GetDiskInput) String() string { +func (s GetDistributionLatestCacheResetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDiskInput) GoString() string { +func (s GetDistributionLatestCacheResetInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"} - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDiskName sets the DiskName field's value. -func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput { - s.DiskName = &v +// SetDistributionName sets the DistributionName field's value. +func (s *GetDistributionLatestCacheResetInput) SetDistributionName(v string) *GetDistributionLatestCacheResetInput { + s.DistributionName = &v return s } -type GetDiskOutput struct { +type GetDistributionLatestCacheResetOutput struct { _ struct{} `type:"structure"` - // An object containing information about the disk. - Disk *Disk `locationName:"disk" type:"structure"` + // The timestamp of the last cache reset (e.g., 1479734909.17) in Unix time + // format. + CreateTime *time.Time `locationName:"createTime" type:"timestamp"` + + // The status of the last cache reset. + Status *string `locationName:"status" type:"string"` } // String returns the string representation -func (s GetDiskOutput) String() string { +func (s GetDistributionLatestCacheResetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDiskOutput) GoString() string { +func (s GetDistributionLatestCacheResetOutput) GoString() string { return s.String() } -// SetDisk sets the Disk field's value. -func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput { - s.Disk = v +// SetCreateTime sets the CreateTime field's value. +func (s *GetDistributionLatestCacheResetOutput) SetCreateTime(v time.Time) *GetDistributionLatestCacheResetOutput { + s.CreateTime = &v return s } -type GetDiskSnapshotInput struct { +// SetStatus sets the Status field's value. +func (s *GetDistributionLatestCacheResetOutput) SetStatus(v string) *GetDistributionLatestCacheResetOutput { + s.Status = &v + return s +} + +type GetDistributionMetricDataInput struct { _ struct{} `type:"structure"` - // The name of the disk snapshot (e.g., my-disk-snapshot). + // The name of the distribution for which to get metric data. // - // DiskSnapshotName is a required field - DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` + + // The end of the time interval for which to get metric data. + // + // Constraints: + // + // * Specified in Coordinated Universal Time (UTC). + // + // * Specified in the Unix time format. For example, if you wish to use an + // end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end + // time. + // + // You can convert a human-friendly time to Unix time format using a converter + // like Epoch converter (https://www.epochconverter.com/). + // + // EndTime is a required field + EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"` + + // The metric for which you want to return information. + // + // Valid distribution metric names are listed below, along with the most useful + // statistics to include in your request, and the published unit value. + // + // * Requests - The total number of viewer requests received by your Lightsail + // distribution, for all HTTP methods, and for both HTTP and HTTPS requests. + // Statistics: The most useful statistic is Sum. Unit: The published unit + // is None. + // + // * BytesDownloaded - The number of bytes downloaded by viewers for GET, + // HEAD, and OPTIONS requests. Statistics: The most useful statistic is Sum. + // Unit: The published unit is None. + // + // * BytesUploaded - The number of bytes uploaded to your origin by your + // Lightsail distribution, using POST and PUT requests. Statistics: The most + // useful statistic is Sum. Unit: The published unit is None. + // + // * TotalErrorRate - The percentage of all viewer requests for which the + // response's HTTP status code was 4xx or 5xx. Statistics: The most useful + // statistic is Average. Unit: The published unit is Percent. + // + // * 4xxErrorRate - The percentage of all viewer requests for which the response's + // HTTP status cod was 4xx. In these cases, the client or client viewer may + // have made an error. For example, a status code of 404 (Not Found) means + // that the client requested an object that could not be found. Statistics: + // The most useful statistic is Average. Unit: The published unit is Percent. + // + // * 5xxErrorRate - The percentage of all viewer requests for which the response's + // HTTP status code was 5xx. In these cases, the origin server did not satisfy + // the requests. For example, a status code of 503 (Service Unavailable) + // means that the origin server is currently unavailable. Statistics: The + // most useful statistic is Average. Unit: The published unit is Percent. + // + // MetricName is a required field + MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"DistributionMetricName"` + + // The granularity, in seconds, for the metric data points that will be returned. + // + // Period is a required field + Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"` + + // The start of the time interval for which to get metric data. + // + // Constraints: + // + // * Specified in Coordinated Universal Time (UTC). + // + // * Specified in the Unix time format. For example, if you wish to use a + // start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the + // start time. + // + // You can convert a human-friendly time to Unix time format using a converter + // like Epoch converter (https://www.epochconverter.com/). + // + // StartTime is a required field + StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"` + + // The statistic for the metric. + // + // The following statistics are available: + // + // * Minimum - The lowest value observed during the specified period. Use + // this value to determine low volumes of activity for your application. + // + // * Maximum - The highest value observed during the specified period. Use + // this value to determine high volumes of activity for your application. + // + // * Sum - All values submitted for the matching metric added together. You + // can use this statistic to determine the total volume of a metric. + // + // * Average - The value of Sum / SampleCount during the specified period. + // By comparing this statistic with the Minimum and Maximum values, you can + // determine the full scope of a metric and how close the average use is + // to the Minimum and Maximum values. This comparison helps you to know when + // to increase or decrease your resources. + // + // * SampleCount - The count, or number, of data points used for the statistical + // calculation. + // + // Statistics is a required field + Statistics []*string `locationName:"statistics" type:"list" required:"true"` + + // The unit for the metric data request. + // + // Valid units depend on the metric data being requested. For the valid units + // with each available metric, see the metricName parameter. + // + // Unit is a required field + Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"` } // String returns the string representation -func (s GetDiskSnapshotInput) String() string { +func (s GetDistributionMetricDataInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDiskSnapshotInput) GoString() string { +func (s GetDistributionMetricDataInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDiskSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"} - if s.DiskSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) +func (s *GetDistributionMetricDataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDistributionMetricDataInput"} + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) + } + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.Period == nil { + invalidParams.Add(request.NewErrParamRequired("Period")) + } + if s.Period != nil && *s.Period < 60 { + invalidParams.Add(request.NewErrParamMinValue("Period", 60)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + if s.Statistics == nil { + invalidParams.Add(request.NewErrParamRequired("Statistics")) + } + if s.Unit == nil { + invalidParams.Add(request.NewErrParamRequired("Unit")) } if invalidParams.Len() > 0 { @@ -19108,159 +22293,155 @@ func (s *GetDiskSnapshotInput) Validate() error { return nil } -// SetDiskSnapshotName sets the DiskSnapshotName field's value. -func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput { - s.DiskSnapshotName = &v +// SetDistributionName sets the DistributionName field's value. +func (s *GetDistributionMetricDataInput) SetDistributionName(v string) *GetDistributionMetricDataInput { + s.DistributionName = &v return s } -type GetDiskSnapshotOutput struct { - _ struct{} `type:"structure"` - - // An object containing information about the disk snapshot. - DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"` -} - -// String returns the string representation -func (s GetDiskSnapshotOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDiskSnapshotOutput) GoString() string { - return s.String() +// SetEndTime sets the EndTime field's value. +func (s *GetDistributionMetricDataInput) SetEndTime(v time.Time) *GetDistributionMetricDataInput { + s.EndTime = &v + return s } -// SetDiskSnapshot sets the DiskSnapshot field's value. -func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput { - s.DiskSnapshot = v +// SetMetricName sets the MetricName field's value. +func (s *GetDistributionMetricDataInput) SetMetricName(v string) *GetDistributionMetricDataInput { + s.MetricName = &v return s } -type GetDiskSnapshotsInput struct { - _ struct{} `type:"structure"` - - // The token to advance to the next page of results from your request. - // - // To get a page token, perform an initial GetDiskSnapshots request. If your - // results are paginated, the response will return a next page token that you - // can specify as the page token in a subsequent request. - PageToken *string `locationName:"pageToken" type:"string"` +// SetPeriod sets the Period field's value. +func (s *GetDistributionMetricDataInput) SetPeriod(v int64) *GetDistributionMetricDataInput { + s.Period = &v + return s } -// String returns the string representation -func (s GetDiskSnapshotsInput) String() string { - return awsutil.Prettify(s) +// SetStartTime sets the StartTime field's value. +func (s *GetDistributionMetricDataInput) SetStartTime(v time.Time) *GetDistributionMetricDataInput { + s.StartTime = &v + return s } -// GoString returns the string representation -func (s GetDiskSnapshotsInput) GoString() string { - return s.String() +// SetStatistics sets the Statistics field's value. +func (s *GetDistributionMetricDataInput) SetStatistics(v []*string) *GetDistributionMetricDataInput { + s.Statistics = v + return s } -// SetPageToken sets the PageToken field's value. -func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput { - s.PageToken = &v +// SetUnit sets the Unit field's value. +func (s *GetDistributionMetricDataInput) SetUnit(v string) *GetDistributionMetricDataInput { + s.Unit = &v return s } -type GetDiskSnapshotsOutput struct { +type GetDistributionMetricDataOutput struct { _ struct{} `type:"structure"` - // An array of objects containing information about all block storage disk snapshots. - DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"` + // An array of objects that describe the metric data returned. + MetricData []*MetricDatapoint `locationName:"metricData" type:"list"` - // The token to advance to the next page of resutls from your request. - // - // A next page token is not returned if there are no more results to display. - // - // To get the next page of results, perform another GetDiskSnapshots request - // and specify the next page token using the pageToken parameter. - NextPageToken *string `locationName:"nextPageToken" type:"string"` + // The name of the metric returned. + MetricName *string `locationName:"metricName" type:"string" enum:"DistributionMetricName"` } // String returns the string representation -func (s GetDiskSnapshotsOutput) String() string { +func (s GetDistributionMetricDataOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDiskSnapshotsOutput) GoString() string { +func (s GetDistributionMetricDataOutput) GoString() string { return s.String() } -// SetDiskSnapshots sets the DiskSnapshots field's value. -func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput { - s.DiskSnapshots = v +// SetMetricData sets the MetricData field's value. +func (s *GetDistributionMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetDistributionMetricDataOutput { + s.MetricData = v return s } -// SetNextPageToken sets the NextPageToken field's value. -func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput { - s.NextPageToken = &v +// SetMetricName sets the MetricName field's value. +func (s *GetDistributionMetricDataOutput) SetMetricName(v string) *GetDistributionMetricDataOutput { + s.MetricName = &v return s } -type GetDisksInput struct { +type GetDistributionsInput struct { _ struct{} `type:"structure"` + // The name of the distribution for which to return information. + // + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // When omitted, the response includes all of your distributions in the AWS + // Region where the request is made. + DistributionName *string `locationName:"distributionName" type:"string"` + // The token to advance to the next page of results from your request. // - // To get a page token, perform an initial GetDisks request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. + // To get a page token, perform an initial GetDistributions request. If your + // results are paginated, the response will return a next page token that you + // can specify as the page token in a subsequent request. PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s GetDisksInput) String() string { +func (s GetDistributionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDisksInput) GoString() string { +func (s GetDistributionsInput) GoString() string { return s.String() } +// SetDistributionName sets the DistributionName field's value. +func (s *GetDistributionsInput) SetDistributionName(v string) *GetDistributionsInput { + s.DistributionName = &v + return s +} + // SetPageToken sets the PageToken field's value. -func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput { +func (s *GetDistributionsInput) SetPageToken(v string) *GetDistributionsInput { s.PageToken = &v return s } -type GetDisksOutput struct { +type GetDistributionsOutput struct { _ struct{} `type:"structure"` - // An array of objects containing information about all block storage disks. - Disks []*Disk `locationName:"disks" type:"list"` + // An array of objects that describe your distributions. + Distributions []*LightsailDistribution `locationName:"distributions" type:"list"` - // The token to advance to the next page of resutls from your request. + // The token to advance to the next page of results from your request. // // A next page token is not returned if there are no more results to display. // - // To get the next page of results, perform another GetDisks request and specify - // the next page token using the pageToken parameter. + // To get the next page of results, perform another GetDistributions request + // and specify the next page token using the pageToken parameter. NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s GetDisksOutput) String() string { +func (s GetDistributionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDisksOutput) GoString() string { +func (s GetDistributionsOutput) GoString() string { return s.String() } -// SetDisks sets the Disks field's value. -func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput { - s.Disks = v +// SetDistributions sets the Distributions field's value. +func (s *GetDistributionsOutput) SetDistributions(v []*LightsailDistribution) *GetDistributionsOutput { + s.Distributions = v return s } // SetNextPageToken sets the NextPageToken field's value. -func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput { +func (s *GetDistributionsOutput) SetNextPageToken(v string) *GetDistributionsOutput { s.NextPageToken = &v return s } @@ -22239,6 +25420,58 @@ func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput { return s } +// Describes the request headers that a Lightsail distribution bases caching +// on. +// +// For the headers that you specify, your distribution caches separate versions +// of the specified content based on the header values in viewer requests. For +// example, suppose viewer requests for logo.jpg contain a custom product header +// that has a value of either acme or apex, and you configure your distribution +// to cache your content based on values in the product header. Your distribution +// forwards the product header to the origin and caches the response from the +// origin once for each header value. +type HeaderObject struct { + _ struct{} `type:"structure"` + + // The specific headers to forward to your distribution's origin. + HeadersAllowList []*string `locationName:"headersAllowList" type:"list"` + + // The headers that you want your distribution to forward to your origin and + // base caching on. + // + // You can configure your distribution to do one of the following: + // + // * all - Forward all headers to your origin. + // + // * none - Forward only the default headers. + // + // * allow-list - Forward only the headers you specify using the headersAllowList + // parameter. + Option *string `locationName:"option" type:"string" enum:"ForwardValues"` +} + +// String returns the string representation +func (s HeaderObject) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HeaderObject) GoString() string { + return s.String() +} + +// SetHeadersAllowList sets the HeadersAllowList field's value. +func (s *HeaderObject) SetHeadersAllowList(v []*string) *HeaderObject { + s.HeadersAllowList = v + return s +} + +// SetOption sets the Option field's value. +func (s *HeaderObject) SetOption(v string) *HeaderObject { + s.Option = &v + return s +} + // Describes the public SSH host keys or the RDP certificate. type HostKeyAttributes struct { _ struct{} `type:"structure"` @@ -22409,6 +25642,54 @@ func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput { return s } +// Describes the origin resource of an Amazon Lightsail content delivery network +// (CDN) distribution. +// +// An origin can be a Lightsail instance or load balancer. A distribution pulls +// content from an origin, caches it, and serves it to viewers via a worldwide +// network of edge servers. +type InputOrigin struct { + _ struct{} `type:"structure"` + + // The name of the origin resource. + Name *string `locationName:"name" type:"string"` + + // The protocol that your Amazon Lightsail distribution uses when establishing + // a connection with your origin to pull content. + ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"` + + // The AWS Region name of the origin resource. + RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"` +} + +// String returns the string representation +func (s InputOrigin) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputOrigin) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *InputOrigin) SetName(v string) *InputOrigin { + s.Name = &v + return s +} + +// SetProtocolPolicy sets the ProtocolPolicy field's value. +func (s *InputOrigin) SetProtocolPolicy(v string) *InputOrigin { + s.ProtocolPolicy = &v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *InputOrigin) SetRegionName(v string) *InputOrigin { + s.RegionName = &v + return s +} + // Describes an instance (a virtual private server). type Instance struct { _ struct{} `type:"structure"` @@ -22428,7 +25709,8 @@ type Instance struct { // The bundle for the instance (e.g., micro_1_0). BundleId *string `locationName:"bundleId" type:"string"` - // The timestamp when the instance was created (e.g., 1479734909.17). + // The timestamp when the instance was created (e.g., 1479734909.17) in Unix + // time format. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` // The size of the vCPU and the amount of RAM for the instance. @@ -23637,31 +26919,166 @@ func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput { return s } -// Describes the SSH key pair. -type KeyPair struct { +// Describes the SSH key pair. +type KeyPair struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE). + Arn *string `locationName:"arn" type:"string"` + + // The timestamp when the key pair was created (e.g., 1479816991.349). + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // The RSA fingerprint of the key pair. + Fingerprint *string `locationName:"fingerprint" type:"string"` + + // The region name and Availability Zone where the key pair was created. + Location *ResourceLocation `locationName:"location" type:"structure"` + + // The friendly name of the SSH key pair. + Name *string `locationName:"name" type:"string"` + + // The resource type (usually KeyPair). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // The support code. Include this code in your email to support when you have + // questions about an instance or another resource in Lightsail. This code enables + // our support team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s KeyPair) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KeyPair) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *KeyPair) SetArn(v string) *KeyPair { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair { + s.CreatedAt = &v + return s +} + +// SetFingerprint sets the Fingerprint field's value. +func (s *KeyPair) SetFingerprint(v string) *KeyPair { + s.Fingerprint = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair { + s.Location = v + return s +} + +// SetName sets the Name field's value. +func (s *KeyPair) SetName(v string) *KeyPair { + s.Name = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *KeyPair) SetResourceType(v string) *KeyPair { + s.ResourceType = &v + return s +} + +// SetSupportCode sets the SupportCode field's value. +func (s *KeyPair) SetSupportCode(v string) *KeyPair { + s.SupportCode = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *KeyPair) SetTags(v []*Tag) *KeyPair { + s.Tags = v + return s +} + +// Describes an Amazon Lightsail content delivery network (CDN) distribution. +type LightsailDistribution struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE). + // Indicates whether the bundle that is currently applied to your distribution, + // specified using the distributionName parameter, can be changed to another + // bundle. + // + // Use the UpdateDistributionBundle action to change your distribution's bundle. + AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"` + + // The alternate domain names of the distribution. + AlternativeDomainNames []*string `locationName:"alternativeDomainNames" type:"list"` + + // The Amazon Resource Name (ARN) of the distribution. Arn *string `locationName:"arn" type:"string"` - // The timestamp when the key pair was created (e.g., 1479816991.349). + // The ID of the bundle currently applied to the distribution. + BundleId *string `locationName:"bundleId" type:"string"` + + // An object that describes the cache behavior settings of the distribution. + CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"` + + // An array of objects that describe the per-path cache behavior of the distribution. + CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"` + + // The name of the SSL/TLS certificate attached to the distribution, if any. + CertificateName *string `locationName:"certificateName" type:"string"` + + // The timestamp when the distribution was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // The RSA fingerprint of the key pair. - Fingerprint *string `locationName:"fingerprint" type:"string"` + // An object that describes the default cache behavior of the distribution. + DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"` - // The region name and Availability Zone where the key pair was created. + // The domain name of the distribution. + DomainName *string `locationName:"domainName" type:"string"` + + // Indicates whether the distribution is enabled. + IsEnabled *bool `locationName:"isEnabled" type:"boolean"` + + // An object that describes the location of the distribution, such as the AWS + // Region and Availability Zone. + // + // Lightsail distributions are global resources that can reference an origin + // in any AWS Region, and distribute its content globally. However, all distributions + // are located in the us-east-1 Region. Location *ResourceLocation `locationName:"location" type:"structure"` - // The friendly name of the SSH key pair. + // The name of the distribution. Name *string `locationName:"name" type:"string"` - // The resource type (usually KeyPair). + // An object that describes the origin resource of the distribution, such as + // a Lightsail instance or load balancer. + // + // The distribution pulls, caches, and serves content from the origin. + Origin *Origin `locationName:"origin" type:"structure"` + + // The public DNS of the origin. + OriginPublicDNS *string `locationName:"originPublicDNS" type:"string"` + + // The Lightsail resource type (e.g., Distribution). ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + // The status of the distribution. + Status *string `locationName:"status" type:"string"` + // The support code. Include this code in your email to support when you have - // questions about an instance or another resource in Lightsail. This code enables - // our support team to look up your Lightsail information more easily. + // questions about your Lightsail distribution. This code enables our support + // team to look up your Lightsail information more easily. SupportCode *string `locationName:"supportCode" type:"string"` // The tag keys and optional values for the resource. For more information about @@ -23670,59 +27087,125 @@ type KeyPair struct { } // String returns the string representation -func (s KeyPair) String() string { +func (s LightsailDistribution) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s KeyPair) GoString() string { +func (s LightsailDistribution) GoString() string { return s.String() } +// SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value. +func (s *LightsailDistribution) SetAbleToUpdateBundle(v bool) *LightsailDistribution { + s.AbleToUpdateBundle = &v + return s +} + +// SetAlternativeDomainNames sets the AlternativeDomainNames field's value. +func (s *LightsailDistribution) SetAlternativeDomainNames(v []*string) *LightsailDistribution { + s.AlternativeDomainNames = v + return s +} + // SetArn sets the Arn field's value. -func (s *KeyPair) SetArn(v string) *KeyPair { +func (s *LightsailDistribution) SetArn(v string) *LightsailDistribution { s.Arn = &v return s } +// SetBundleId sets the BundleId field's value. +func (s *LightsailDistribution) SetBundleId(v string) *LightsailDistribution { + s.BundleId = &v + return s +} + +// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value. +func (s *LightsailDistribution) SetCacheBehaviorSettings(v *CacheSettings) *LightsailDistribution { + s.CacheBehaviorSettings = v + return s +} + +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *LightsailDistribution) SetCacheBehaviors(v []*CacheBehaviorPerPath) *LightsailDistribution { + s.CacheBehaviors = v + return s +} + +// SetCertificateName sets the CertificateName field's value. +func (s *LightsailDistribution) SetCertificateName(v string) *LightsailDistribution { + s.CertificateName = &v + return s +} + // SetCreatedAt sets the CreatedAt field's value. -func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair { +func (s *LightsailDistribution) SetCreatedAt(v time.Time) *LightsailDistribution { s.CreatedAt = &v return s } -// SetFingerprint sets the Fingerprint field's value. -func (s *KeyPair) SetFingerprint(v string) *KeyPair { - s.Fingerprint = &v +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *LightsailDistribution) SetDefaultCacheBehavior(v *CacheBehavior) *LightsailDistribution { + s.DefaultCacheBehavior = v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *LightsailDistribution) SetDomainName(v string) *LightsailDistribution { + s.DomainName = &v + return s +} + +// SetIsEnabled sets the IsEnabled field's value. +func (s *LightsailDistribution) SetIsEnabled(v bool) *LightsailDistribution { + s.IsEnabled = &v return s } // SetLocation sets the Location field's value. -func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair { +func (s *LightsailDistribution) SetLocation(v *ResourceLocation) *LightsailDistribution { s.Location = v return s } // SetName sets the Name field's value. -func (s *KeyPair) SetName(v string) *KeyPair { +func (s *LightsailDistribution) SetName(v string) *LightsailDistribution { s.Name = &v return s } +// SetOrigin sets the Origin field's value. +func (s *LightsailDistribution) SetOrigin(v *Origin) *LightsailDistribution { + s.Origin = v + return s +} + +// SetOriginPublicDNS sets the OriginPublicDNS field's value. +func (s *LightsailDistribution) SetOriginPublicDNS(v string) *LightsailDistribution { + s.OriginPublicDNS = &v + return s +} + // SetResourceType sets the ResourceType field's value. -func (s *KeyPair) SetResourceType(v string) *KeyPair { +func (s *LightsailDistribution) SetResourceType(v string) *LightsailDistribution { s.ResourceType = &v return s } +// SetStatus sets the Status field's value. +func (s *LightsailDistribution) SetStatus(v string) *LightsailDistribution { + s.Status = &v + return s +} + // SetSupportCode sets the SupportCode field's value. -func (s *KeyPair) SetSupportCode(v string) *KeyPair { +func (s *LightsailDistribution) SetSupportCode(v string) *LightsailDistribution { s.SupportCode = &v return s } // SetTags sets the Tags field's value. -func (s *KeyPair) SetTags(v []*Tag) *KeyPair { +func (s *LightsailDistribution) SetTags(v []*Tag) *LightsailDistribution { s.Tags = v return s } @@ -23918,7 +27401,47 @@ type LoadBalancerTlsCertificate struct { // the records. DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"` - // The reason for the SSL/TLS certificate validation failure. + // The validation failure reason, if any, of the certificate. + // + // The following failure reasons are possible: + // + // * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which + // is not available for Lightsail certificates. + // + // * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information + // to process this certificate request. This can happen as a fraud-protection + // measure, such as when the domain ranks within the Alexa top 1000 websites. + // To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home) + // to contact AWS Support. You cannot request a certificate for Amazon-owned + // domain names such as those ending in amazonaws.com, cloudfront.net, or + // elasticbeanstalk.com. + // + // * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate + // request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url). + // To correct the problem, search for your domain name on the VirusTotal + // (https://www.virustotal.com/gui/home/url) website. If your domain is reported + // as suspicious, see Google Help for Hacked Websites (https://www.google.com/webmasters/hacked/?hl=en) + // to learn what you can do. If you believe that the result is a false positive, + // notify the organization that is reporting the domain. VirusTotal is an + // aggregate of several antivirus and URL scanners and cannot remove your + // domain from a block list itself. After you correct the problem and the + // VirusTotal registry has been updated, request a new certificate. If you + // see this error and your domain is not included in the VirusTotal list, + // visit the AWS Support Center (https://console.aws.amazon.com/support/home) + // and create a case. + // + // * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate + // request is not valid. Typically, this is because a domain name in the + // request is not a valid top-level domain. Try to request a certificate + // again, correcting any spelling errors or typos that were in the failed + // request, and ensure that all domain names in the request are for valid + // top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain + // because invalidpublicdomain is not a valid top-level domain. + // + // * OTHER - Typically, this failure occurs when there is a typographical + // error in one or more of the domain names in the certificate request. Try + // to request a certificate again, correcting any spelling errors or typos + // that were in the failed request. FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"` // When true, the SSL/TLS certificate is attached to the Lightsail load balancer. @@ -23930,8 +27453,7 @@ type LoadBalancerTlsCertificate struct { // The issuer of the certificate. Issuer *string `locationName:"issuer" type:"string"` - // The algorithm that was used to generate the key pair (the public and private - // key). + // The algorithm used to generate the key pair (the public and private key). KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"` // The load balancer name where your SSL/TLS certificate is attached. @@ -23949,8 +27471,8 @@ type LoadBalancerTlsCertificate struct { // The timestamp when the SSL/TLS certificate is first valid. NotBefore *time.Time `locationName:"notBefore" type:"timestamp"` - // An object containing information about the status of Lightsail's managed - // renewal for the certificate. + // An object that describes the status of the certificate renewal managed by + // Lightsail. RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"` // The resource type (e.g., LoadBalancerTlsCertificate). @@ -23977,10 +27499,12 @@ type LoadBalancerTlsCertificate struct { // * DiskSnapshot - A block storage disk snapshot ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` - // The reason the certificate was revoked. Valid values are below. + // The reason the certificate was revoked. This value is present only when the + // certificate status is REVOKED. RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"` - // The timestamp when the SSL/TLS certificate was revoked. + // The timestamp when the certificate was revoked. This value is present only + // when the certificate status is REVOKED. RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"` // The serial number of the certificate. @@ -23996,11 +27520,8 @@ type LoadBalancerTlsCertificate struct { // the certificate. Subject *string `locationName:"subject" type:"string"` - // One or more domains or subdomains included in the certificate. This list - // contains the domain names that are bound to the public key that is contained - // in the certificate. The subject alternative names include the canonical domain - // name (CNAME) of the certificate and additional domain names that can be used - // to connect to the website, such as example.com, www.example.com, or m.example.com. + // An array of strings that specify the alternate domains (e.g., example2.com) + // and subdomains (e.g., blog.example.com) for the certificate. SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"` // The support code. Include this code in your email to support when you have @@ -24270,6 +27791,26 @@ func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *L // Contains information about the status of Lightsail's managed renewal for // the certificate. +// +// The renewal status of the certificate. +// +// The following renewal status are possible: +// +// * PendingAutoRenewal - Lightsail is attempting to automatically validate +// the domain names in the certificate. No further action is required. +// +// * PendingValidation - Lightsail couldn't automatically validate one or +// more domain names in the certificate. You must take action to validate +// these domain names or the certificate won't be renewed. If you used DNS +// validation, check to make sure your certificate's domain validation records +// exist in your domain's DNS, and that your certificate remains in use. +// +// * Success - All domain names in the certificate are validated, and Lightsail +// renewed the certificate. No further action is required. +// +// * Failed - One or more domain names were not validated before the certificate +// expired, and Lightsail did not renew the certificate. You can request +// a new certificate using the CreateCertificate action. type LoadBalancerTlsCertificateRenewalSummary struct { _ struct{} `type:"structure"` @@ -24278,8 +27819,25 @@ type LoadBalancerTlsCertificateRenewalSummary struct { // initial validation that occurs as a result of the RequestCertificate request. DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"` - // The status of Lightsail's managed renewal of the certificate. Valid values - // are listed below. + // The renewal status of the certificate. + // + // The following renewal status are possible: + // + // * PendingAutoRenewal - Lightsail is attempting to automatically validate + // the domain names of the certificate. No further action is required. + // + // * PendingValidation - Lightsail couldn't automatically validate one or + // more domain names of the certificate. You must take action to validate + // these domain names or the certificate won't be renewed. Check to make + // sure your certificate's domain validation records exist in your domain's + // DNS, and that your certificate remains in use. + // + // * Success - All domain names in the certificate are validated, and Lightsail + // renewed the certificate. No further action is required. + // + // * Failed - One or more domain names were not validated before the certificate + // expired, and Lightsail did not renew the certificate. You can request + // a new certificate using the CreateCertificate action. RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"` } @@ -24851,6 +28409,63 @@ func (s *OperationFailureException) RequestID() string { return s.RespMetadata.RequestID } +// Describes the origin resource of an Amazon Lightsail content delivery network +// (CDN) distribution. +// +// An origin can be a Lightsail instance or load balancer. A distribution pulls +// content from an origin, caches it, and serves it to viewers via a worldwide +// network of edge servers. +type Origin struct { + _ struct{} `type:"structure"` + + // The name of the origin resource. + Name *string `locationName:"name" type:"string"` + + // The protocol that your Amazon Lightsail distribution uses when establishing + // a connection with your origin to pull content. + ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"` + + // The AWS Region name of the origin resource. + RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"` + + // The resource type of the origin resource (e.g., Instance). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s Origin) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Origin) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Origin) SetName(v string) *Origin { + s.Name = &v + return s +} + +// SetProtocolPolicy sets the ProtocolPolicy field's value. +func (s *Origin) SetProtocolPolicy(v string) *Origin { + s.ProtocolPolicy = &v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *Origin) SetRegionName(v string) *Origin { + s.RegionName = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *Origin) SetResourceType(v string) *Origin { + s.ResourceType = &v + return s +} + // The password data for the Windows Server-based instance, including the ciphertext // and the key pair name. type PasswordData struct { @@ -25519,6 +29134,49 @@ func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePu return s } +// Describes the query string parameters that an Amazon Lightsail content delivery +// network (CDN) distribution to bases caching on. +// +// For the query strings that you specify, your distribution caches separate +// versions of the specified content based on the query string values in viewer +// requests. +type QueryStringObject struct { + _ struct{} `type:"structure"` + + // Indicates whether the distribution forwards and caches based on query strings. + Option *bool `locationName:"option" type:"boolean"` + + // The specific query strings that the distribution forwards to the origin. + // + // Your distribution will cache content based on the specified query strings. + // + // If the option parameter is true, then your distribution forwards all query + // strings, regardless of what you specify using the queryStringsAllowList parameter. + QueryStringsAllowList []*string `locationName:"queryStringsAllowList" type:"list"` +} + +// String returns the string representation +func (s QueryStringObject) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryStringObject) GoString() string { + return s.String() +} + +// SetOption sets the Option field's value. +func (s *QueryStringObject) SetOption(v bool) *QueryStringObject { + s.Option = &v + return s +} + +// SetQueryStringsAllowList sets the QueryStringsAllowList field's value. +func (s *QueryStringObject) SetQueryStringsAllowList(v []*string) *QueryStringObject { + s.QueryStringsAllowList = v + return s +} + type RebootInstanceInput struct { _ struct{} `type:"structure"` @@ -26511,72 +30169,211 @@ func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabas return s } -// SetTags sets the Tags field's value. -func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot { - s.Tags = v +// SetTags sets the Tags field's value. +func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot { + s.Tags = v + return s +} + +type ReleaseStaticIpInput struct { + _ struct{} `type:"structure"` + + // The name of the static IP to delete. + // + // StaticIpName is a required field + StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` +} + +// String returns the string representation +func (s ReleaseStaticIpInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReleaseStaticIpInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReleaseStaticIpInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"} + if s.StaticIpName == nil { + invalidParams.Add(request.NewErrParamRequired("StaticIpName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStaticIpName sets the StaticIpName field's value. +func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput { + s.StaticIpName = &v + return s +} + +type ReleaseStaticIpOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s ReleaseStaticIpOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReleaseStaticIpOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput { + s.Operations = v + return s +} + +// Describes the status of a SSL/TLS certificate renewal managed by Amazon Lightsail. +type RenewalSummary struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the domain validation records of the certificate. + DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"` + + // The renewal status of the certificate. + // + // The following renewal status are possible: + // + // * PendingAutoRenewal - Lightsail is attempting to automatically validate + // the domain names of the certificate. No further action is required. + // + // * PendingValidation - Lightsail couldn't automatically validate one or + // more domain names of the certificate. You must take action to validate + // these domain names or the certificate won't be renewed. Check to make + // sure your certificate's domain validation records exist in your domain's + // DNS, and that your certificate remains in use. + // + // * Success - All domain names in the certificate are validated, and Lightsail + // renewed the certificate. No further action is required. + // + // * Failed - One or more domain names were not validated before the certificate + // expired, and Lightsail did not renew the certificate. You can request + // a new certificate using the CreateCertificate action. + RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"RenewalStatus"` + + // The reason for the renewal status of the certificate. + RenewalStatusReason *string `locationName:"renewalStatusReason" type:"string"` + + // The timestamp when the certificate was last updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` +} + +// String returns the string representation +func (s RenewalSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RenewalSummary) GoString() string { + return s.String() +} + +// SetDomainValidationRecords sets the DomainValidationRecords field's value. +func (s *RenewalSummary) SetDomainValidationRecords(v []*DomainValidationRecord) *RenewalSummary { + s.DomainValidationRecords = v + return s +} + +// SetRenewalStatus sets the RenewalStatus field's value. +func (s *RenewalSummary) SetRenewalStatus(v string) *RenewalSummary { + s.RenewalStatus = &v + return s +} + +// SetRenewalStatusReason sets the RenewalStatusReason field's value. +func (s *RenewalSummary) SetRenewalStatusReason(v string) *RenewalSummary { + s.RenewalStatusReason = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *RenewalSummary) SetUpdatedAt(v time.Time) *RenewalSummary { + s.UpdatedAt = &v return s } -type ReleaseStaticIpInput struct { +type ResetDistributionCacheInput struct { _ struct{} `type:"structure"` - // The name of the static IP to delete. + // The name of the distribution for which to reset cache. // - // StaticIpName is a required field - StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + DistributionName *string `locationName:"distributionName" type:"string"` } // String returns the string representation -func (s ReleaseStaticIpInput) String() string { +func (s ResetDistributionCacheInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReleaseStaticIpInput) GoString() string { +func (s ResetDistributionCacheInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ReleaseStaticIpInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"} - if s.StaticIpName == nil { - invalidParams.Add(request.NewErrParamRequired("StaticIpName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetStaticIpName sets the StaticIpName field's value. -func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput { - s.StaticIpName = &v +// SetDistributionName sets the DistributionName field's value. +func (s *ResetDistributionCacheInput) SetDistributionName(v string) *ResetDistributionCacheInput { + s.DistributionName = &v return s } -type ReleaseStaticIpOutput struct { +type ResetDistributionCacheOutput struct { _ struct{} `type:"structure"` + // The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time + // format. + CreateTime *time.Time `locationName:"createTime" type:"timestamp"` + // An array of objects that describe the result of the action, such as the status // of the request, the timestamp of the request, and the resources affected // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + Operation *Operation `locationName:"operation" type:"structure"` + + // The status of the reset cache request. + Status *string `locationName:"status" type:"string"` } // String returns the string representation -func (s ReleaseStaticIpOutput) String() string { +func (s ResetDistributionCacheOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReleaseStaticIpOutput) GoString() string { +func (s ResetDistributionCacheOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput { - s.Operations = v +// SetCreateTime sets the CreateTime field's value. +func (s *ResetDistributionCacheOutput) SetCreateTime(v time.Time) *ResetDistributionCacheOutput { + s.CreateTime = &v + return s +} + +// SetOperation sets the Operation field's value. +func (s *ResetDistributionCacheOutput) SetOperation(v *Operation) *ResetDistributionCacheOutput { + s.Operation = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResetDistributionCacheOutput) SetStatus(v string) *ResetDistributionCacheOutput { + s.Status = &v return s } @@ -26613,6 +30410,49 @@ func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation { return s } +// Describes the domain name system (DNS) records to add to your domain's DNS +// to validate it for an Amazon Lightsail certificate. +type ResourceRecord struct { + _ struct{} `type:"structure"` + + // The name of the record. + Name *string `locationName:"name" type:"string"` + + // The DNS record type. + Type *string `locationName:"type" type:"string"` + + // The value for the DNS record. + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation +func (s ResourceRecord) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceRecord) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *ResourceRecord) SetName(v string) *ResourceRecord { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ResourceRecord) SetType(v string) *ResourceRecord { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ResourceRecord) SetValue(v string) *ResourceRecord { + s.Value = &v + return s +} + type SendContactMethodVerificationInput struct { _ struct{} `type:"structure"` @@ -27516,6 +31356,184 @@ func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput return s } +type UpdateDistributionBundleInput struct { + _ struct{} `type:"structure"` + + // The bundle ID of the new bundle to apply to your distribution. + // + // Use the GetDistributionBundles action to get a list of distribution bundle + // IDs that you can specify. + BundleId *string `locationName:"bundleId" type:"string"` + + // The name of the distribution for which to update the bundle. + // + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + DistributionName *string `locationName:"distributionName" type:"string"` +} + +// String returns the string representation +func (s UpdateDistributionBundleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionBundleInput) GoString() string { + return s.String() +} + +// SetBundleId sets the BundleId field's value. +func (s *UpdateDistributionBundleInput) SetBundleId(v string) *UpdateDistributionBundleInput { + s.BundleId = &v + return s +} + +// SetDistributionName sets the DistributionName field's value. +func (s *UpdateDistributionBundleInput) SetDistributionName(v string) *UpdateDistributionBundleInput { + s.DistributionName = &v + return s +} + +type UpdateDistributionBundleOutput struct { + _ struct{} `type:"structure"` + + // Describes the API operation. + Operation *Operation `locationName:"operation" type:"structure"` +} + +// String returns the string representation +func (s UpdateDistributionBundleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionBundleOutput) GoString() string { + return s.String() +} + +// SetOperation sets the Operation field's value. +func (s *UpdateDistributionBundleOutput) SetOperation(v *Operation) *UpdateDistributionBundleOutput { + s.Operation = v + return s +} + +type UpdateDistributionInput struct { + _ struct{} `type:"structure"` + + // An object that describes the cache behavior settings for the distribution. + // + // The cacheBehaviorSettings specified in your UpdateDistributionRequest will + // replace your distribution's existing settings. + CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"` + + // An array of objects that describe the per-path cache behavior for the distribution. + CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"` + + // An object that describes the default cache behavior for the distribution. + DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"` + + // The name of the distribution to update. + // + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` + + // Indicates whether to enable the distribution. + IsEnabled *bool `locationName:"isEnabled" type:"boolean"` + + // An object that describes the origin resource for the distribution, such as + // a Lightsail instance or load balancer. + // + // The distribution pulls, caches, and serves content from the origin. + Origin *InputOrigin `locationName:"origin" type:"structure"` +} + +// String returns the string representation +func (s UpdateDistributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"} + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value. +func (s *UpdateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *UpdateDistributionInput { + s.CacheBehaviorSettings = v + return s +} + +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *UpdateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *UpdateDistributionInput { + s.CacheBehaviors = v + return s +} + +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *UpdateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *UpdateDistributionInput { + s.DefaultCacheBehavior = v + return s +} + +// SetDistributionName sets the DistributionName field's value. +func (s *UpdateDistributionInput) SetDistributionName(v string) *UpdateDistributionInput { + s.DistributionName = &v + return s +} + +// SetIsEnabled sets the IsEnabled field's value. +func (s *UpdateDistributionInput) SetIsEnabled(v bool) *UpdateDistributionInput { + s.IsEnabled = &v + return s +} + +// SetOrigin sets the Origin field's value. +func (s *UpdateDistributionInput) SetOrigin(v *InputOrigin) *UpdateDistributionInput { + s.Origin = v + return s +} + +type UpdateDistributionOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operation *Operation `locationName:"operation" type:"structure"` +} + +// String returns the string representation +func (s UpdateDistributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionOutput) GoString() string { + return s.String() +} + +// SetOperation sets the Operation field's value. +func (s *UpdateDistributionOutput) SetOperation(v *Operation) *UpdateDistributionOutput { + s.Operation = v + return s +} + type UpdateDomainEntryInput struct { _ struct{} `type:"structure"` @@ -27995,6 +32013,14 @@ const ( AutoSnapshotStatusNotFound = "NotFound" ) +const ( + // BehaviorEnumDontCache is a BehaviorEnum enum value + BehaviorEnumDontCache = "dont-cache" + + // BehaviorEnumCache is a BehaviorEnum enum value + BehaviorEnumCache = "cache" +) + const ( // BlueprintTypeOs is a BlueprintType enum value BlueprintTypeOs = "os" @@ -28003,6 +32029,29 @@ const ( BlueprintTypeApp = "app" ) +const ( + // CertificateStatusPendingValidation is a CertificateStatus enum value + CertificateStatusPendingValidation = "PENDING_VALIDATION" + + // CertificateStatusIssued is a CertificateStatus enum value + CertificateStatusIssued = "ISSUED" + + // CertificateStatusInactive is a CertificateStatus enum value + CertificateStatusInactive = "INACTIVE" + + // CertificateStatusExpired is a CertificateStatus enum value + CertificateStatusExpired = "EXPIRED" + + // CertificateStatusValidationTimedOut is a CertificateStatus enum value + CertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT" + + // CertificateStatusRevoked is a CertificateStatus enum value + CertificateStatusRevoked = "REVOKED" + + // CertificateStatusFailed is a CertificateStatus enum value + CertificateStatusFailed = "FAILED" +) + const ( // CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord" @@ -28077,6 +32126,26 @@ const ( DiskStateUnknown = "unknown" ) +const ( + // DistributionMetricNameRequests is a DistributionMetricName enum value + DistributionMetricNameRequests = "Requests" + + // DistributionMetricNameBytesDownloaded is a DistributionMetricName enum value + DistributionMetricNameBytesDownloaded = "BytesDownloaded" + + // DistributionMetricNameBytesUploaded is a DistributionMetricName enum value + DistributionMetricNameBytesUploaded = "BytesUploaded" + + // DistributionMetricNameTotalErrorRate is a DistributionMetricName enum value + DistributionMetricNameTotalErrorRate = "TotalErrorRate" + + // DistributionMetricNameHttp4xxErrorRate is a DistributionMetricName enum value + DistributionMetricNameHttp4xxErrorRate = "Http4xxErrorRate" + + // DistributionMetricNameHttp5xxErrorRate is a DistributionMetricName enum value + DistributionMetricNameHttp5xxErrorRate = "Http5xxErrorRate" +) + const ( // ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot" @@ -28085,6 +32154,64 @@ const ( ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot" ) +const ( + // ForwardValuesNone is a ForwardValues enum value + ForwardValuesNone = "none" + + // ForwardValuesAllowList is a ForwardValues enum value + ForwardValuesAllowList = "allow-list" + + // ForwardValuesAll is a ForwardValues enum value + ForwardValuesAll = "all" +) + +const ( + // HeaderEnumAccept is a HeaderEnum enum value + HeaderEnumAccept = "Accept" + + // HeaderEnumAcceptCharset is a HeaderEnum enum value + HeaderEnumAcceptCharset = "Accept-Charset" + + // HeaderEnumAcceptDatetime is a HeaderEnum enum value + HeaderEnumAcceptDatetime = "Accept-Datetime" + + // HeaderEnumAcceptEncoding is a HeaderEnum enum value + HeaderEnumAcceptEncoding = "Accept-Encoding" + + // HeaderEnumAcceptLanguage is a HeaderEnum enum value + HeaderEnumAcceptLanguage = "Accept-Language" + + // HeaderEnumAuthorization is a HeaderEnum enum value + HeaderEnumAuthorization = "Authorization" + + // HeaderEnumCloudFrontForwardedProto is a HeaderEnum enum value + HeaderEnumCloudFrontForwardedProto = "CloudFront-Forwarded-Proto" + + // HeaderEnumCloudFrontIsDesktopViewer is a HeaderEnum enum value + HeaderEnumCloudFrontIsDesktopViewer = "CloudFront-Is-Desktop-Viewer" + + // HeaderEnumCloudFrontIsMobileViewer is a HeaderEnum enum value + HeaderEnumCloudFrontIsMobileViewer = "CloudFront-Is-Mobile-Viewer" + + // HeaderEnumCloudFrontIsSmartTvViewer is a HeaderEnum enum value + HeaderEnumCloudFrontIsSmartTvViewer = "CloudFront-Is-SmartTV-Viewer" + + // HeaderEnumCloudFrontIsTabletViewer is a HeaderEnum enum value + HeaderEnumCloudFrontIsTabletViewer = "CloudFront-Is-Tablet-Viewer" + + // HeaderEnumCloudFrontViewerCountry is a HeaderEnum enum value + HeaderEnumCloudFrontViewerCountry = "CloudFront-Viewer-Country" + + // HeaderEnumHost is a HeaderEnum enum value + HeaderEnumHost = "Host" + + // HeaderEnumOrigin is a HeaderEnum enum value + HeaderEnumOrigin = "Origin" + + // HeaderEnumReferer is a HeaderEnum enum value + HeaderEnumReferer = "Referer" +) + const ( // InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value InstanceAccessProtocolSsh = "ssh" @@ -28740,6 +32867,41 @@ const ( // OperationTypeDeleteContactMethod is a OperationType enum value OperationTypeDeleteContactMethod = "DeleteContactMethod" + + // OperationTypeCreateDistribution is a OperationType enum value + OperationTypeCreateDistribution = "CreateDistribution" + + // OperationTypeUpdateDistribution is a OperationType enum value + OperationTypeUpdateDistribution = "UpdateDistribution" + + // OperationTypeDeleteDistribution is a OperationType enum value + OperationTypeDeleteDistribution = "DeleteDistribution" + + // OperationTypeResetDistributionCache is a OperationType enum value + OperationTypeResetDistributionCache = "ResetDistributionCache" + + // OperationTypeAttachCertificateToDistribution is a OperationType enum value + OperationTypeAttachCertificateToDistribution = "AttachCertificateToDistribution" + + // OperationTypeDetachCertificateFromDistribution is a OperationType enum value + OperationTypeDetachCertificateFromDistribution = "DetachCertificateFromDistribution" + + // OperationTypeUpdateDistributionBundle is a OperationType enum value + OperationTypeUpdateDistributionBundle = "UpdateDistributionBundle" + + // OperationTypeCreateCertificate is a OperationType enum value + OperationTypeCreateCertificate = "CreateCertificate" + + // OperationTypeDeleteCertificate is a OperationType enum value + OperationTypeDeleteCertificate = "DeleteCertificate" +) + +const ( + // OriginProtocolPolicyEnumHttpOnly is a OriginProtocolPolicyEnum enum value + OriginProtocolPolicyEnumHttpOnly = "http-only" + + // OriginProtocolPolicyEnumHttpsOnly is a OriginProtocolPolicyEnum enum value + OriginProtocolPolicyEnumHttpsOnly = "https-only" ) const ( @@ -28863,6 +33025,20 @@ const ( RelationalDatabasePasswordVersionPending = "PENDING" ) +const ( + // RenewalStatusPendingAutoRenewal is a RenewalStatus enum value + RenewalStatusPendingAutoRenewal = "PendingAutoRenewal" + + // RenewalStatusPendingValidation is a RenewalStatus enum value + RenewalStatusPendingValidation = "PendingValidation" + + // RenewalStatusSuccess is a RenewalStatus enum value + RenewalStatusSuccess = "Success" + + // RenewalStatusFailed is a RenewalStatus enum value + RenewalStatusFailed = "Failed" +) + const ( // ResourceTypeInstance is a ResourceType enum value ResourceTypeInstance = "Instance" @@ -28911,6 +33087,12 @@ const ( // ResourceTypeContactMethod is a ResourceType enum value ResourceTypeContactMethod = "ContactMethod" + + // ResourceTypeDistribution is a ResourceType enum value + ResourceTypeDistribution = "Distribution" + + // ResourceTypeCertificate is a ResourceType enum value + ResourceTypeCertificate = "Certificate" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go b/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go index f806bbf094f..5947ff0d91e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go @@ -3,19 +3,23 @@ // Package lightsail provides the client and types for making API // requests to Amazon Lightsail. // -// Amazon Lightsail is the easiest way to get started with AWS for developers -// who just need virtual private servers. Lightsail includes everything you -// need to launch your project quickly - a virtual machine, a managed database, -// SSD-based storage, data transfer, DNS management, and a static IP - for a -// low, predictable price. You manage those Lightsail servers through the Lightsail -// console or by using the API or command-line interface (CLI). -// -// For more information about Lightsail concepts and tasks, see the Lightsail -// Dev Guide (https://lightsail.aws.amazon.com/ls/docs/all). -// -// To use the Lightsail API or the CLI, you will need to use AWS Identity and -// Access Management (IAM) to generate access keys. For details about how to -// set this up, see the Lightsail Dev Guide (http://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-set-up-access-keys-to-use-sdk-api-cli). +// Amazon Lightsail is the easiest way to get started with Amazon Web Services +// (AWS) for developers who need to build websites or web applications. It includes +// everything you need to launch your project quickly – instances (virtual +// private servers), managed databases, SSD-based block storage, static IP addresses, +// load balancers, content delivery network (CDN) distributions, DNS management +// of registered domains, and snapshots (backups) – for a low, predictable +// monthly price. +// +// You can manage your Lightsail resources using the Lightsail console, Lightsail +// API, AWS Command Line Interface (AWS CLI), or SDKs. For more information +// about Lightsail concepts and tasks, see the Lightsail Dev Guide (http://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-set-up-access-keys-to-use-sdk-api-cli). +// +// This API Reference provides detailed information about the actions, data +// types, parameters, and errors of the Lightsail service. For more information +// about the supported AWS Regions, endpoints, and service quotas for the Lightsail +// service, see Amazon Lightsail Endpoints and Quotas (https://docs.aws.amazon.com/general/latest/gr/lightsail.html) +// in the AWS General Reference. // // See https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go index 789b705c351..80bb7525c5f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go @@ -3508,6 +3508,9 @@ type Entitlement struct { // EntitlementArn is a required field EntitlementArn *string `locationName:"entitlementArn" type:"string" required:"true"` + // An indication of whether the entitlement is enabled. + EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"` + // The name of the entitlement. // // Name is a required field @@ -3555,6 +3558,12 @@ func (s *Entitlement) SetEntitlementArn(v string) *Entitlement { return s } +// SetEntitlementStatus sets the EntitlementStatus field's value. +func (s *Entitlement) SetEntitlementStatus(v string) *Entitlement { + s.EntitlementStatus = &v + return s +} + // SetName sets the Name field's value. func (s *Entitlement) SetName(v string) *Entitlement { s.Name = &v @@ -3812,6 +3821,11 @@ type GrantEntitlementRequest struct { // with this entitlement. Encryption *Encryption `locationName:"encryption" type:"structure"` + // An indication of whether the new entitlement should be enabled or disabled + // as soon as it is created. If you don’t specify the entitlementStatus field + // in your request, MediaConnect sets it to ENABLED. + EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"` + // The name of the entitlement. This value must be unique within the current // flow. Name *string `locationName:"name" type:"string"` @@ -3870,6 +3884,12 @@ func (s *GrantEntitlementRequest) SetEncryption(v *Encryption) *GrantEntitlement return s } +// SetEntitlementStatus sets the EntitlementStatus field's value. +func (s *GrantEntitlementRequest) SetEntitlementStatus(v string) *GrantEntitlementRequest { + s.EntitlementStatus = &v + return s +} + // SetName sets the Name field's value. func (s *GrantEntitlementRequest) SetName(v string) *GrantEntitlementRequest { s.Name = &v @@ -5918,6 +5938,12 @@ type UpdateFlowEntitlementInput struct { // EntitlementArn is a required field EntitlementArn *string `location:"uri" locationName:"entitlementArn" type:"string" required:"true"` + // An indication of whether you want to enable the entitlement to allow access, + // or disable it to stop streaming content to the subscriber’s flow temporarily. + // If you don’t specify the entitlementStatus field in your request, MediaConnect + // leaves the value unchanged. + EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"` + // FlowArn is a required field FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` @@ -5977,6 +6003,12 @@ func (s *UpdateFlowEntitlementInput) SetEntitlementArn(v string) *UpdateFlowEnti return s } +// SetEntitlementStatus sets the EntitlementStatus field's value. +func (s *UpdateFlowEntitlementInput) SetEntitlementStatus(v string) *UpdateFlowEntitlementInput { + s.EntitlementStatus = &v + return s +} + // SetFlowArn sets the FlowArn field's value. func (s *UpdateFlowEntitlementInput) SetFlowArn(v string) *UpdateFlowEntitlementInput { s.FlowArn = &v @@ -6662,6 +6694,14 @@ const ( AlgorithmAes256 = "aes256" ) +const ( + // EntitlementStatusEnabled is a EntitlementStatus enum value + EntitlementStatusEnabled = "ENABLED" + + // EntitlementStatusDisabled is a EntitlementStatus enum value + EntitlementStatusDisabled = "DISABLED" +) + const ( // KeyTypeSpeke is a KeyType enum value KeyTypeSpeke = "speke" 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 a2dffa5719b..c9c8bae210f 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 @@ -4,6 +4,8 @@ package medialive import ( "fmt" + "io" + "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" @@ -1639,6 +1641,96 @@ func (c *MediaLive) DescribeInputDeviceWithContext(ctx aws.Context, input *Descr return out, req.Send() } +const opDescribeInputDeviceThumbnail = "DescribeInputDeviceThumbnail" + +// DescribeInputDeviceThumbnailRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInputDeviceThumbnail operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeInputDeviceThumbnail for more information on using the DescribeInputDeviceThumbnail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeInputDeviceThumbnailRequest method. +// req, resp := client.DescribeInputDeviceThumbnailRequest(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/DescribeInputDeviceThumbnail +func (c *MediaLive) DescribeInputDeviceThumbnailRequest(input *DescribeInputDeviceThumbnailInput) (req *request.Request, output *DescribeInputDeviceThumbnailOutput) { + op := &request.Operation{ + Name: opDescribeInputDeviceThumbnail, + HTTPMethod: "GET", + HTTPPath: "/prod/inputDevices/{inputDeviceId}/thumbnailData", + } + + if input == nil { + input = &DescribeInputDeviceThumbnailInput{} + } + + output = &DescribeInputDeviceThumbnailOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInputDeviceThumbnail API operation for AWS Elemental MediaLive. +// +// Get the latest thumbnail data for the input device. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 DescribeInputDeviceThumbnail for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// +// * InternalServerErrorException +// +// * ForbiddenException +// +// * BadGatewayException +// +// * NotFoundException +// +// * GatewayTimeoutException +// +// * TooManyRequestsException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputDeviceThumbnail +func (c *MediaLive) DescribeInputDeviceThumbnail(input *DescribeInputDeviceThumbnailInput) (*DescribeInputDeviceThumbnailOutput, error) { + req, out := c.DescribeInputDeviceThumbnailRequest(input) + return out, req.Send() +} + +// DescribeInputDeviceThumbnailWithContext is the same as DescribeInputDeviceThumbnail with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInputDeviceThumbnail for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) DescribeInputDeviceThumbnailWithContext(ctx aws.Context, input *DescribeInputDeviceThumbnailInput, opts ...request.Option) (*DescribeInputDeviceThumbnailOutput, error) { + req, out := c.DescribeInputDeviceThumbnailRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeInputSecurityGroup = "DescribeInputSecurityGroup" // DescribeInputSecurityGroupRequest generates a "aws/request.Request" representing the @@ -5246,9 +5338,10 @@ type AudioDescription struct { // 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"` + // RFC 5646 language code representing 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:"1" 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 @@ -5288,8 +5381,8 @@ func (s *AudioDescription) Validate() error { 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.LanguageCode != nil && len(*s.LanguageCode) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 1)) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) @@ -6769,6 +6862,9 @@ type CaptionDestinationSettings struct { // Dvb Sub Destination Settings DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"` + // Ebu Tt DDestination Settings + EbuTtDDestinationSettings *EbuTtDDestinationSettings `locationName:"ebuTtDDestinationSettings" type:"structure"` + // Embedded Destination Settings EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"` @@ -6845,6 +6941,12 @@ func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDesti return s } +// SetEbuTtDDestinationSettings sets the EbuTtDDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetEbuTtDDestinationSettings(v *EbuTtDDestinationSettings) *CaptionDestinationSettings { + s.EbuTtDDestinationSettings = v + return s +} + // SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value. func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings { s.EmbeddedDestinationSettings = v @@ -9307,6 +9409,113 @@ func (s *DescribeInputDeviceOutput) SetType(v string) *DescribeInputDeviceOutput return s } +type DescribeInputDeviceThumbnailInput struct { + _ struct{} `type:"structure"` + + // Accept Header + // + // Accept is a required field + Accept *string `location:"header" locationName:"accept" type:"string" required:"true" enum:"AcceptHeader"` + + // InputDeviceId is a required field + InputDeviceId *string `location:"uri" locationName:"inputDeviceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeInputDeviceThumbnailInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputDeviceThumbnailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInputDeviceThumbnailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInputDeviceThumbnailInput"} + if s.Accept == nil { + invalidParams.Add(request.NewErrParamRequired("Accept")) + } + if s.InputDeviceId == nil { + invalidParams.Add(request.NewErrParamRequired("InputDeviceId")) + } + if s.InputDeviceId != nil && len(*s.InputDeviceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputDeviceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccept sets the Accept field's value. +func (s *DescribeInputDeviceThumbnailInput) SetAccept(v string) *DescribeInputDeviceThumbnailInput { + s.Accept = &v + return s +} + +// SetInputDeviceId sets the InputDeviceId field's value. +func (s *DescribeInputDeviceThumbnailInput) SetInputDeviceId(v string) *DescribeInputDeviceThumbnailInput { + s.InputDeviceId = &v + return s +} + +type DescribeInputDeviceThumbnailOutput struct { + _ struct{} `type:"structure" payload:"Body"` + + Body io.ReadCloser `locationName:"body" type:"blob"` + + ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` + + ContentType *string `location:"header" locationName:"Content-Type" type:"string" enum:"ContentType"` + + ETag *string `location:"header" locationName:"ETag" type:"string"` + + LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` +} + +// String returns the string representation +func (s DescribeInputDeviceThumbnailOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputDeviceThumbnailOutput) GoString() string { + return s.String() +} + +// SetBody sets the Body field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetBody(v io.ReadCloser) *DescribeInputDeviceThumbnailOutput { + s.Body = v + return s +} + +// SetContentLength sets the ContentLength field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetContentLength(v int64) *DescribeInputDeviceThumbnailOutput { + s.ContentLength = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetContentType(v string) *DescribeInputDeviceThumbnailOutput { + s.ContentType = &v + return s +} + +// SetETag sets the ETag field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetETag(v string) *DescribeInputDeviceThumbnailOutput { + s.ETag = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetLastModified(v time.Time) *DescribeInputDeviceThumbnailOutput { + s.LastModified = &v + return s +} + type DescribeInputInput struct { _ struct{} `type:"structure"` @@ -10936,6 +11145,66 @@ func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings { return s } +// Ebu Tt DDestination Settings +type EbuTtDDestinationSettings struct { + _ struct{} `type:"structure"` + + // Specifies how to handle the gap between the lines (in multi-line captions).- + // enabled: Fill with the captions background color (as specified in the input + // captions).- disabled: Leave the gap unfilled. + FillLineGap *string `locationName:"fillLineGap" type:"string" enum:"EbuTtDFillLineGapControl"` + + // Specifies the font family to include in the font data attached to the EBU-TT + // captions. Valid only if styleControl is set to include. If you leave this + // field empty, the font family is set to "monospaced". (If styleControl is + // set to exclude, the font family is always set to "monospaced".)You specify + // only the font family. All other style information (color, bold, position + // and so on) is copied from the input captions. The size is always set to 100% + // to allow the downstream player to choose the size.- Enter a list of font + // families, as a comma-separated list of font names, in order of preference. + // The name can be a font family (such as “Arial”), or a generic font family + // (such as “serif”), or “default” (to let the downstream player choose + // the font).- Leave blank to set the family to “monospace”. + FontFamily *string `locationName:"fontFamily" type:"string"` + + // Specifies the style information (font color, font position, and so on) to + // include in the font data that is attached to the EBU-TT captions.- include: + // Take the style information (font color, font position, and so on) from the + // source captions and include that information in the font data attached to + // the EBU-TT captions. This option is valid only if the source captions are + // Embedded or Teletext.- exclude: In the font data attached to the EBU-TT captions, + // set the font family to "monospaced". Do not include any other style information. + StyleControl *string `locationName:"styleControl" type:"string" enum:"EbuTtDDestinationStyleControl"` +} + +// String returns the string representation +func (s EbuTtDDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EbuTtDDestinationSettings) GoString() string { + return s.String() +} + +// SetFillLineGap sets the FillLineGap field's value. +func (s *EbuTtDDestinationSettings) SetFillLineGap(v string) *EbuTtDDestinationSettings { + s.FillLineGap = &v + return s +} + +// SetFontFamily sets the FontFamily field's value. +func (s *EbuTtDDestinationSettings) SetFontFamily(v string) *EbuTtDDestinationSettings { + s.FontFamily = &v + return s +} + +// SetStyleControl sets the StyleControl field's value. +func (s *EbuTtDDestinationSettings) SetStyleControl(v string) *EbuTtDDestinationSettings { + s.StyleControl = &v + return s +} + // Embedded Destination Settings type EmbeddedDestinationSettings struct { _ struct{} `type:"structure"` @@ -11998,7 +12267,7 @@ type H264Settings struct { 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"` @@ -12101,6 +12370,9 @@ func (s *H264Settings) Validate() error { 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)) } @@ -12411,6 +12683,30 @@ func (s *H265ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H265Color return s } +// H265 Filter Settings +type H265FilterSettings struct { + _ struct{} `type:"structure"` + + // Temporal Filter Settings + TemporalFilterSettings *TemporalFilterSettings `locationName:"temporalFilterSettings" type:"structure"` +} + +// String returns the string representation +func (s H265FilterSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s H265FilterSettings) GoString() string { + return s.String() +} + +// SetTemporalFilterSettings sets the TemporalFilterSettings field's value. +func (s *H265FilterSettings) SetTemporalFilterSettings(v *TemporalFilterSettings) *H265FilterSettings { + s.TemporalFilterSettings = v + return s +} + // H265 Settings type H265Settings struct { _ struct{} `type:"structure"` @@ -12444,6 +12740,9 @@ type H265Settings struct { // Color Space settings ColorSpaceSettings *H265ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` + // Optional filters that you can apply to an encode. + FilterSettings *H265FilterSettings `locationName:"filterSettings" 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'. FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"` @@ -12518,7 +12817,10 @@ type H265Settings struct { // 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. + // variable bitrates.Multiplex: This rate control mode is only supported (and + // is required) when the video is beingdelivered to a MediaLive Multiplex in + // which case the rate control configuration is controlledby the properties + // within the Multiplex Program. RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"` // Sets the scan type of the output to progressive or top-field-first interlaced. @@ -12638,6 +12940,12 @@ func (s *H265Settings) SetColorSpaceSettings(v *H265ColorSpaceSettings) *H265Set return s } +// SetFilterSettings sets the FilterSettings field's value. +func (s *H265Settings) SetFilterSettings(v *H265FilterSettings) *H265Settings { + s.FilterSettings = v + return s +} + // SetFixedAfd sets the FixedAfd field's value. func (s *H265Settings) SetFixedAfd(v string) *H265Settings { s.FixedAfd = &v @@ -14861,9 +15169,7 @@ type InputPrepareScheduleActionSettings struct { // The name of the input attachment that should be prepared by this action. // If no name is provided, the action will stop the most recent prepare (if // any) when activated. - // - // InputAttachmentNameReference is a required field - InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string" required:"true"` + InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string"` // 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. @@ -14889,9 +15195,6 @@ func (s InputPrepareScheduleActionSettings) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *InputPrepareScheduleActionSettings) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InputPrepareScheduleActionSettings"} - 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)) @@ -23817,6 +24120,12 @@ const ( Ac3MetadataControlUseConfigured = "USE_CONFIGURED" ) +// Accept Header +const ( + // AcceptHeaderImageJpeg is a AcceptHeader enum value + AcceptHeaderImageJpeg = "image/jpeg" +) + // Afd Signaling const ( // AfdSignalingAuto is a AfdSignaling enum value @@ -24078,6 +24387,11 @@ const ( ChannelStateUpdateFailed = "UPDATE_FAILED" ) +const ( + // ContentTypeImageJpeg is a ContentType enum value + ContentTypeImageJpeg = "image/jpeg" +) + // The status of the action to synchronize the device configuration. If you // change the configuration of the input device (for example, the maximum bitrate), // MediaLive sends the new data to the device. The device might not update itself @@ -24367,6 +24681,24 @@ const ( Eac3SurroundModeNotIndicated = "NOT_INDICATED" ) +// Ebu Tt DDestination Style Control +const ( + // EbuTtDDestinationStyleControlExclude is a EbuTtDDestinationStyleControl enum value + EbuTtDDestinationStyleControlExclude = "EXCLUDE" + + // EbuTtDDestinationStyleControlInclude is a EbuTtDDestinationStyleControl enum value + EbuTtDDestinationStyleControlInclude = "INCLUDE" +) + +// Ebu Tt DFill Line Gap Control +const ( + // EbuTtDFillLineGapControlDisabled is a EbuTtDFillLineGapControl enum value + EbuTtDFillLineGapControlDisabled = "DISABLED" + + // EbuTtDFillLineGapControlEnabled is a EbuTtDFillLineGapControl enum value + EbuTtDFillLineGapControlEnabled = "ENABLED" +) + // Embedded Convert608 To708 const ( // EmbeddedConvert608To708Disabled is a EmbeddedConvert608To708 enum value @@ -24915,6 +25247,9 @@ const ( // H265 Scan Type const ( + // H265ScanTypeInterlaced is a H265ScanType enum value + H265ScanTypeInterlaced = "INTERLACED" + // H265ScanTypeProgressive is a H265ScanType enum value H265ScanTypeProgressive = "PROGRESSIVE" ) @@ -25091,6 +25426,9 @@ const ( // HlsOutputSelectionSegmentsOnly is a HlsOutputSelection enum value HlsOutputSelectionSegmentsOnly = "SEGMENTS_ONLY" + + // HlsOutputSelectionVariantManifestsAndSegments is a HlsOutputSelection enum value + HlsOutputSelectionVariantManifestsAndSegments = "VARIANT_MANIFESTS_AND_SEGMENTS" ) // Hls Program Date Time diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go index 23f6d0237c8..ed1dba2ef82 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go @@ -3681,7 +3681,10 @@ type HlsManifest struct { // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates - // ad markers and blackout tags based on SCTE-35messages in the input source. + // ad markers and blackout tags based on SCTE-35messages in the input source."DATERANGE" + // inserts EXT-X-DATERANGE tags to signal ad and program transition events in + // HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds + // value that is greater than 0. AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` // The ID of the manifest. The ID must be unique within the OriginEndpoint and @@ -3785,7 +3788,10 @@ type HlsManifestCreateOrUpdateParameters struct { // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates - // ad markers and blackout tags based on SCTE-35messages in the input source. + // ad markers and blackout tags based on SCTE-35messages in the input source."DATERANGE" + // inserts EXT-X-DATERANGE tags to signal ad and program transition events in + // HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds + // value that is greater than 0. AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` // A list of SCTE-35 message types that are treated as ad markers in the output. @@ -3922,7 +3928,10 @@ type HlsPackage struct { // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates - // ad markers and blackout tags based on SCTE-35messages in the input source. + // ad markers and blackout tags based on SCTE-35messages in the input source."DATERANGE" + // inserts EXT-X-DATERANGE tags to signal ad and program transition events in + // HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds + // value that is greater than 0. AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` // A list of SCTE-35 message types that are treated as ad markers in the output. @@ -5933,6 +5942,9 @@ const ( // AdMarkersPassthrough is a AdMarkers enum value AdMarkersPassthrough = "PASSTHROUGH" + + // AdMarkersDaterange is a AdMarkers enum value + AdMarkersDaterange = "DATERANGE" ) // This setting allows the delivery restriction flags on SCTE-35 segmentation diff --git a/vendor/github.com/aws/aws-sdk-go/service/mq/api.go b/vendor/github.com/aws/aws-sdk-go/service/mq/api.go index 21df17b378d..62205ac5cca 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mq/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mq/api.go @@ -1193,6 +1193,12 @@ func (c *MQ) ListBrokersRequest(input *ListBrokersInput) (req *request.Request, Name: opListBrokers, HTTPMethod: "GET", HTTPPath: "/v1/brokers", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -1247,6 +1253,58 @@ func (c *MQ) ListBrokersWithContext(ctx aws.Context, input *ListBrokersInput, op return out, req.Send() } +// ListBrokersPages iterates over the pages of a ListBrokers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBrokers 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 ListBrokers operation. +// pageNum := 0 +// err := client.ListBrokersPages(params, +// func(page *mq.ListBrokersResponse, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MQ) ListBrokersPages(input *ListBrokersInput, fn func(*ListBrokersResponse, bool) bool) error { + return c.ListBrokersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBrokersPagesWithContext same as ListBrokersPages 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 *MQ) ListBrokersPagesWithContext(ctx aws.Context, input *ListBrokersInput, fn func(*ListBrokersResponse, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBrokersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBrokersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBrokersResponse), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListConfigurationRevisions = "ListConfigurationRevisions" // ListConfigurationRevisionsRequest generates a "aws/request.Request" representing the @@ -2273,6 +2331,9 @@ type Configuration struct { // Required. The ARN of the configuration. Arn *string `locationName:"arn" type:"string"` + // The authentication strategy associated with the configuration. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + // Required. The date and time of the configuration revision. Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"` @@ -2318,6 +2379,12 @@ func (s *Configuration) SetArn(v string) *Configuration { return s } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *Configuration) SetAuthenticationStrategy(v string) *Configuration { + s.AuthenticationStrategy = &v + return s +} + // SetCreated sets the Created field's value. func (s *Configuration) SetCreated(v time.Time) *Configuration { s.Created = &v @@ -2544,6 +2611,9 @@ func (s *ConflictException) RequestID() string { type CreateBrokerRequest struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"` BrokerName *string `locationName:"brokerName" type:"string"` @@ -2566,6 +2636,10 @@ type CreateBrokerRequest struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + LdapServerMetadata *LdapServerMetadataInput `locationName:"ldapServerMetadata" type:"structure"` + // The list of information about logs to be enabled for the specified broker. Logs *Logs `locationName:"logs" type:"structure"` @@ -2612,6 +2686,12 @@ func (s *CreateBrokerRequest) Validate() error { return nil } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *CreateBrokerRequest) SetAuthenticationStrategy(v string) *CreateBrokerRequest { + s.AuthenticationStrategy = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *CreateBrokerRequest) SetAutoMinorVersionUpgrade(v bool) *CreateBrokerRequest { s.AutoMinorVersionUpgrade = &v @@ -2666,6 +2746,12 @@ func (s *CreateBrokerRequest) SetHostInstanceType(v string) *CreateBrokerRequest return s } +// SetLdapServerMetadata sets the LdapServerMetadata field's value. +func (s *CreateBrokerRequest) SetLdapServerMetadata(v *LdapServerMetadataInput) *CreateBrokerRequest { + s.LdapServerMetadata = v + return s +} + // SetLogs sets the Logs field's value. func (s *CreateBrokerRequest) SetLogs(v *Logs) *CreateBrokerRequest { s.Logs = v @@ -2747,6 +2833,9 @@ func (s *CreateBrokerResponse) SetBrokerId(v string) *CreateBrokerResponse { type CreateConfigurationRequest struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + // The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ. EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"` @@ -2767,6 +2856,12 @@ func (s CreateConfigurationRequest) GoString() string { return s.String() } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *CreateConfigurationRequest) SetAuthenticationStrategy(v string) *CreateConfigurationRequest { + s.AuthenticationStrategy = &v + return s +} + // SetEngineType sets the EngineType field's value. func (s *CreateConfigurationRequest) SetEngineType(v string) *CreateConfigurationRequest { s.EngineType = &v @@ -2796,6 +2891,9 @@ type CreateConfigurationResponse struct { Arn *string `locationName:"arn" type:"string"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"` Id *string `locationName:"id" type:"string"` @@ -2822,6 +2920,12 @@ func (s *CreateConfigurationResponse) SetArn(v string) *CreateConfigurationRespo return s } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *CreateConfigurationResponse) SetAuthenticationStrategy(v string) *CreateConfigurationResponse { + s.AuthenticationStrategy = &v + return s +} + // SetCreated sets the Created field's value. func (s *CreateConfigurationResponse) SetCreated(v time.Time) *CreateConfigurationResponse { s.Created = &v @@ -3429,6 +3533,9 @@ func (s *DescribeBrokerInstanceOptionsOutput) SetNextToken(v string) *DescribeBr type DescribeBrokerResponse struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"` BrokerArn *string `locationName:"brokerArn" type:"string"` @@ -3460,6 +3567,10 @@ type DescribeBrokerResponse struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + LdapServerMetadata *LdapServerMetadataOutput `locationName:"ldapServerMetadata" type:"structure"` + // The list of information about logs currently enabled and pending to be deployed // for the specified broker. Logs *LogsSummary `locationName:"logs" type:"structure"` @@ -3468,10 +3579,17 @@ type DescribeBrokerResponse struct { // apply pending updates or patches to the broker. MaintenanceWindowStartTime *WeeklyStartTime `locationName:"maintenanceWindowStartTime" type:"structure"` + // The authentication strategy used to secure the broker. + PendingAuthenticationStrategy *string `locationName:"pendingAuthenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + PendingEngineVersion *string `locationName:"pendingEngineVersion" type:"string"` PendingHostInstanceType *string `locationName:"pendingHostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + PendingLdapServerMetadata *LdapServerMetadataOutput `locationName:"pendingLdapServerMetadata" type:"structure"` + PendingSecurityGroups []*string `locationName:"pendingSecurityGroups" type:"list"` PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` @@ -3498,6 +3616,12 @@ func (s DescribeBrokerResponse) GoString() string { return s.String() } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *DescribeBrokerResponse) SetAuthenticationStrategy(v string) *DescribeBrokerResponse { + s.AuthenticationStrategy = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *DescribeBrokerResponse) SetAutoMinorVersionUpgrade(v bool) *DescribeBrokerResponse { s.AutoMinorVersionUpgrade = &v @@ -3576,6 +3700,12 @@ func (s *DescribeBrokerResponse) SetHostInstanceType(v string) *DescribeBrokerRe return s } +// SetLdapServerMetadata sets the LdapServerMetadata field's value. +func (s *DescribeBrokerResponse) SetLdapServerMetadata(v *LdapServerMetadataOutput) *DescribeBrokerResponse { + s.LdapServerMetadata = v + return s +} + // SetLogs sets the Logs field's value. func (s *DescribeBrokerResponse) SetLogs(v *LogsSummary) *DescribeBrokerResponse { s.Logs = v @@ -3588,6 +3718,12 @@ func (s *DescribeBrokerResponse) SetMaintenanceWindowStartTime(v *WeeklyStartTim return s } +// SetPendingAuthenticationStrategy sets the PendingAuthenticationStrategy field's value. +func (s *DescribeBrokerResponse) SetPendingAuthenticationStrategy(v string) *DescribeBrokerResponse { + s.PendingAuthenticationStrategy = &v + return s +} + // SetPendingEngineVersion sets the PendingEngineVersion field's value. func (s *DescribeBrokerResponse) SetPendingEngineVersion(v string) *DescribeBrokerResponse { s.PendingEngineVersion = &v @@ -3600,6 +3736,12 @@ func (s *DescribeBrokerResponse) SetPendingHostInstanceType(v string) *DescribeB return s } +// SetPendingLdapServerMetadata sets the PendingLdapServerMetadata field's value. +func (s *DescribeBrokerResponse) SetPendingLdapServerMetadata(v *LdapServerMetadataOutput) *DescribeBrokerResponse { + s.PendingLdapServerMetadata = v + return s +} + // SetPendingSecurityGroups sets the PendingSecurityGroups field's value. func (s *DescribeBrokerResponse) SetPendingSecurityGroups(v []*string) *DescribeBrokerResponse { s.PendingSecurityGroups = v @@ -3686,6 +3828,9 @@ type DescribeConfigurationOutput struct { Arn *string `locationName:"arn" type:"string"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"` Description *string `locationName:"description" type:"string"` @@ -3721,6 +3866,12 @@ func (s *DescribeConfigurationOutput) SetArn(v string) *DescribeConfigurationOut return s } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *DescribeConfigurationOutput) SetAuthenticationStrategy(v string) *DescribeConfigurationOutput { + s.AuthenticationStrategy = &v + return s +} + // SetCreated sets the Created field's value. func (s *DescribeConfigurationOutput) SetCreated(v time.Time) *DescribeConfigurationOutput { s.Created = &v @@ -3983,9 +4134,9 @@ func (s *DescribeUserResponse) SetUsername(v string) *DescribeUserResponse { type EncryptionOptions struct { _ struct{} `type:"structure"` - // The customer master key (CMK) to use for the AWS Key Management Service (KMS). - // This key is used to encrypt your data at rest. If not provided, Amazon MQ - // will use a default CMK to encrypt your data. + // The symmetric customer master key (CMK) to use for the AWS Key Management + // Service (KMS). This key is used to encrypt your data at rest. If not provided, + // Amazon MQ will use a default CMK to encrypt your data. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` // Enables the use of an AWS owned CMK using AWS Key Management Service (KMS). @@ -4169,6 +4320,233 @@ func (s *InternalServerErrorException) RequestID() string { return s.RespMetadata.RequestID } +// The metadata of the LDAP server used to authenticate and authorize connections +// to the broker. +type LdapServerMetadataInput struct { + _ struct{} `type:"structure"` + + // Fully qualified domain name of the LDAP server. Optional failover server. + Hosts []*string `locationName:"hosts" type:"list"` + + // Fully qualified name of the directory to search for a user’s groups. + RoleBase *string `locationName:"roleBase" type:"string"` + + // Specifies the LDAP attribute that identifies the group name attribute in + // the object returned from the group membership query. + RoleName *string `locationName:"roleName" type:"string"` + + // The search criteria for groups. + RoleSearchMatching *string `locationName:"roleSearchMatching" type:"string"` + + // The directory search scope for the role. If set to true, scope is to search + // the entire sub-tree. + RoleSearchSubtree *bool `locationName:"roleSearchSubtree" type:"boolean"` + + // Service account password. + ServiceAccountPassword *string `locationName:"serviceAccountPassword" type:"string"` + + // Service account username. + ServiceAccountUsername *string `locationName:"serviceAccountUsername" type:"string"` + + // Fully qualified name of the directory where you want to search for users. + UserBase *string `locationName:"userBase" type:"string"` + + // Specifies the name of the LDAP attribute for the user group membership. + UserRoleName *string `locationName:"userRoleName" type:"string"` + + // The search criteria for users. + UserSearchMatching *string `locationName:"userSearchMatching" type:"string"` + + // The directory search scope for the user. If set to true, scope is to search + // the entire sub-tree. + UserSearchSubtree *bool `locationName:"userSearchSubtree" type:"boolean"` +} + +// String returns the string representation +func (s LdapServerMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LdapServerMetadataInput) GoString() string { + return s.String() +} + +// SetHosts sets the Hosts field's value. +func (s *LdapServerMetadataInput) SetHosts(v []*string) *LdapServerMetadataInput { + s.Hosts = v + return s +} + +// SetRoleBase sets the RoleBase field's value. +func (s *LdapServerMetadataInput) SetRoleBase(v string) *LdapServerMetadataInput { + s.RoleBase = &v + return s +} + +// SetRoleName sets the RoleName field's value. +func (s *LdapServerMetadataInput) SetRoleName(v string) *LdapServerMetadataInput { + s.RoleName = &v + return s +} + +// SetRoleSearchMatching sets the RoleSearchMatching field's value. +func (s *LdapServerMetadataInput) SetRoleSearchMatching(v string) *LdapServerMetadataInput { + s.RoleSearchMatching = &v + return s +} + +// SetRoleSearchSubtree sets the RoleSearchSubtree field's value. +func (s *LdapServerMetadataInput) SetRoleSearchSubtree(v bool) *LdapServerMetadataInput { + s.RoleSearchSubtree = &v + return s +} + +// SetServiceAccountPassword sets the ServiceAccountPassword field's value. +func (s *LdapServerMetadataInput) SetServiceAccountPassword(v string) *LdapServerMetadataInput { + s.ServiceAccountPassword = &v + return s +} + +// SetServiceAccountUsername sets the ServiceAccountUsername field's value. +func (s *LdapServerMetadataInput) SetServiceAccountUsername(v string) *LdapServerMetadataInput { + s.ServiceAccountUsername = &v + return s +} + +// SetUserBase sets the UserBase field's value. +func (s *LdapServerMetadataInput) SetUserBase(v string) *LdapServerMetadataInput { + s.UserBase = &v + return s +} + +// SetUserRoleName sets the UserRoleName field's value. +func (s *LdapServerMetadataInput) SetUserRoleName(v string) *LdapServerMetadataInput { + s.UserRoleName = &v + return s +} + +// SetUserSearchMatching sets the UserSearchMatching field's value. +func (s *LdapServerMetadataInput) SetUserSearchMatching(v string) *LdapServerMetadataInput { + s.UserSearchMatching = &v + return s +} + +// SetUserSearchSubtree sets the UserSearchSubtree field's value. +func (s *LdapServerMetadataInput) SetUserSearchSubtree(v bool) *LdapServerMetadataInput { + s.UserSearchSubtree = &v + return s +} + +// The metadata of the LDAP server used to authenticate and authorize connections +// to the broker. +type LdapServerMetadataOutput struct { + _ struct{} `type:"structure"` + + // Fully qualified domain name of the LDAP server. Optional failover server. + Hosts []*string `locationName:"hosts" type:"list"` + + // Fully qualified name of the directory to search for a user’s groups. + RoleBase *string `locationName:"roleBase" type:"string"` + + // Specifies the LDAP attribute that identifies the group name attribute in + // the object returned from the group membership query. + RoleName *string `locationName:"roleName" type:"string"` + + // The search criteria for groups. + RoleSearchMatching *string `locationName:"roleSearchMatching" type:"string"` + + // The directory search scope for the role. If set to true, scope is to search + // the entire sub-tree. + RoleSearchSubtree *bool `locationName:"roleSearchSubtree" type:"boolean"` + + // Service account username. + ServiceAccountUsername *string `locationName:"serviceAccountUsername" type:"string"` + + // Fully qualified name of the directory where you want to search for users. + UserBase *string `locationName:"userBase" type:"string"` + + // Specifies the name of the LDAP attribute for the user group membership. + UserRoleName *string `locationName:"userRoleName" type:"string"` + + // The search criteria for users. + UserSearchMatching *string `locationName:"userSearchMatching" type:"string"` + + // The directory search scope for the user. If set to true, scope is to search + // the entire sub-tree. + UserSearchSubtree *bool `locationName:"userSearchSubtree" type:"boolean"` +} + +// String returns the string representation +func (s LdapServerMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LdapServerMetadataOutput) GoString() string { + return s.String() +} + +// SetHosts sets the Hosts field's value. +func (s *LdapServerMetadataOutput) SetHosts(v []*string) *LdapServerMetadataOutput { + s.Hosts = v + return s +} + +// SetRoleBase sets the RoleBase field's value. +func (s *LdapServerMetadataOutput) SetRoleBase(v string) *LdapServerMetadataOutput { + s.RoleBase = &v + return s +} + +// SetRoleName sets the RoleName field's value. +func (s *LdapServerMetadataOutput) SetRoleName(v string) *LdapServerMetadataOutput { + s.RoleName = &v + return s +} + +// SetRoleSearchMatching sets the RoleSearchMatching field's value. +func (s *LdapServerMetadataOutput) SetRoleSearchMatching(v string) *LdapServerMetadataOutput { + s.RoleSearchMatching = &v + return s +} + +// SetRoleSearchSubtree sets the RoleSearchSubtree field's value. +func (s *LdapServerMetadataOutput) SetRoleSearchSubtree(v bool) *LdapServerMetadataOutput { + s.RoleSearchSubtree = &v + return s +} + +// SetServiceAccountUsername sets the ServiceAccountUsername field's value. +func (s *LdapServerMetadataOutput) SetServiceAccountUsername(v string) *LdapServerMetadataOutput { + s.ServiceAccountUsername = &v + return s +} + +// SetUserBase sets the UserBase field's value. +func (s *LdapServerMetadataOutput) SetUserBase(v string) *LdapServerMetadataOutput { + s.UserBase = &v + return s +} + +// SetUserRoleName sets the UserRoleName field's value. +func (s *LdapServerMetadataOutput) SetUserRoleName(v string) *LdapServerMetadataOutput { + s.UserRoleName = &v + return s +} + +// SetUserSearchMatching sets the UserSearchMatching field's value. +func (s *LdapServerMetadataOutput) SetUserSearchMatching(v string) *LdapServerMetadataOutput { + s.UserSearchMatching = &v + return s +} + +// SetUserSearchSubtree sets the UserSearchSubtree field's value. +func (s *LdapServerMetadataOutput) SetUserSearchSubtree(v bool) *LdapServerMetadataOutput { + s.UserSearchSubtree = &v + return s +} + type ListBrokersInput struct { _ struct{} `type:"structure"` @@ -4938,6 +5316,9 @@ func (s *UnauthorizedException) RequestID() string { type UpdateBrokerRequest struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"` // BrokerId is a required field @@ -4950,6 +5331,10 @@ type UpdateBrokerRequest struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + LdapServerMetadata *LdapServerMetadataInput `locationName:"ldapServerMetadata" type:"structure"` + // The list of information about logs to be enabled for the specified broker. Logs *Logs `locationName:"logs" type:"structure"` @@ -4982,6 +5367,12 @@ func (s *UpdateBrokerRequest) Validate() error { return nil } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *UpdateBrokerRequest) SetAuthenticationStrategy(v string) *UpdateBrokerRequest { + s.AuthenticationStrategy = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *UpdateBrokerRequest) SetAutoMinorVersionUpgrade(v bool) *UpdateBrokerRequest { s.AutoMinorVersionUpgrade = &v @@ -5012,6 +5403,12 @@ func (s *UpdateBrokerRequest) SetHostInstanceType(v string) *UpdateBrokerRequest return s } +// SetLdapServerMetadata sets the LdapServerMetadata field's value. +func (s *UpdateBrokerRequest) SetLdapServerMetadata(v *LdapServerMetadataInput) *UpdateBrokerRequest { + s.LdapServerMetadata = v + return s +} + // SetLogs sets the Logs field's value. func (s *UpdateBrokerRequest) SetLogs(v *Logs) *UpdateBrokerRequest { s.Logs = v @@ -5027,6 +5424,9 @@ func (s *UpdateBrokerRequest) SetSecurityGroups(v []*string) *UpdateBrokerReques type UpdateBrokerResponse struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"` BrokerId *string `locationName:"brokerId" type:"string"` @@ -5038,6 +5438,10 @@ type UpdateBrokerResponse struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + LdapServerMetadata *LdapServerMetadataOutput `locationName:"ldapServerMetadata" type:"structure"` + // The list of information about logs to be enabled for the specified broker. Logs *Logs `locationName:"logs" type:"structure"` @@ -5054,6 +5458,12 @@ func (s UpdateBrokerResponse) GoString() string { return s.String() } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *UpdateBrokerResponse) SetAuthenticationStrategy(v string) *UpdateBrokerResponse { + s.AuthenticationStrategy = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *UpdateBrokerResponse) SetAutoMinorVersionUpgrade(v bool) *UpdateBrokerResponse { s.AutoMinorVersionUpgrade = &v @@ -5084,6 +5494,12 @@ func (s *UpdateBrokerResponse) SetHostInstanceType(v string) *UpdateBrokerRespon return s } +// SetLdapServerMetadata sets the LdapServerMetadata field's value. +func (s *UpdateBrokerResponse) SetLdapServerMetadata(v *LdapServerMetadataOutput) *UpdateBrokerResponse { + s.LdapServerMetadata = v + return s +} + // SetLogs sets the Logs field's value. func (s *UpdateBrokerResponse) SetLogs(v *Logs) *UpdateBrokerResponse { s.Logs = v @@ -5487,6 +5903,15 @@ func (s *WeeklyStartTime) SetTimeZone(v string) *WeeklyStartTime { return s } +// The authentication strategy used to secure the broker. +const ( + // AuthenticationStrategySimple is a AuthenticationStrategy enum value + AuthenticationStrategySimple = "SIMPLE" + + // AuthenticationStrategyLdap is a AuthenticationStrategy enum value + AuthenticationStrategyLdap = "LDAP" +) + // The status of the broker. const ( // BrokerStateCreationInProgress is a BrokerState enum value diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go index 8030be843eb..daf37bd9392 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go @@ -310,6 +310,8 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // account. How the policy affects accounts depends on the type of policy. Refer // to the AWS Organizations User Guide for information about each policy type: // +// * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) +// // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) // // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) @@ -3317,6 +3319,11 @@ func (c *Organizations) DeregisterDelegatedAdministratorRequest(input *Deregiste // Removes the specified member AWS account as a delegated administrator for // the specified AWS service. // +// Deregistering a delegated administrator can have unintended impacts on the +// functionality of the enabled AWS service. See the documentation for the enabled +// service before you deregister a delegated administrator so that you understand +// any potential impacts. +// // You can run this action only for AWS services that support this feature. // For a current list of services that support it, see the column Supports Delegated // Administrator in the table at AWS Services that you can use with AWS Organizations @@ -15295,6 +15302,8 @@ type CreatePolicyInput struct { // The type of policy to create. You can specify one of the following values: // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) // // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) @@ -15937,6 +15946,8 @@ type DescribeEffectivePolicyInput struct { // The type of policy that you want information about. You can specify one of // the following values: // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) // // * TAG_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) @@ -16092,6 +16103,11 @@ type DescribeOrganizationOutput struct { _ struct{} `type:"structure"` // A structure that contains information about the organization. + // + // The AvailablePolicyTypes part of the response is deprecated, and you shouldn't + // use it in your apps. It doesn't include any policy type supported by Organizations + // other than SCPs. To determine which policy types are enabled in your organization, + // use the ListRoots operation. Organization *Organization `type:"structure"` } @@ -16450,6 +16466,8 @@ type DisablePolicyTypeInput struct { // The policy type that you want to disable in this root. You can specify one // of the following values: // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) // // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) @@ -17027,6 +17045,8 @@ type EnablePolicyTypeInput struct { // The policy type that you want to enable. You can specify one of the following // values: // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) // // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) @@ -19195,6 +19215,8 @@ type ListPoliciesForTargetInput struct { // The type of policy that you want to include in the returned list. You must // specify one of the following values: // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) // // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) @@ -19335,6 +19357,8 @@ type ListPoliciesInput struct { // Specifies the type of policy that you want to include in the response. You // must specify one of the following values: // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) // // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) @@ -19967,14 +19991,12 @@ type Organization struct { // in the AWS Organizations User Guide. Arn *string `type:"string"` - // A list of policy types that are enabled for this organization. For example, - // if your organization has all features enabled, then service control policies - // (SCPs) are included in the list. // - // Even if a policy type is shown as available in the organization, you can - // separately enable and disable them at the root level by using EnablePolicyType - // and DisablePolicyType. Use ListRoots to see the status of a policy type in - // that root. + // Do not use. This field is deprecated and doesn't provide complete information + // about the policies in your organization. + // + // To determine the policies that are enabled and available for use in your + // organization, use the ListRoots operation instead. AvailablePolicyTypes []*PolicyTypeSummary `type:"list"` // Specifies the functionality that currently is available to the organization. @@ -22124,6 +22146,9 @@ const ( // EffectivePolicyTypeBackupPolicy is a EffectivePolicyType enum value EffectivePolicyTypeBackupPolicy = "BACKUP_POLICY" + + // EffectivePolicyTypeAiservicesOptOutPolicy is a EffectivePolicyType enum value + EffectivePolicyTypeAiservicesOptOutPolicy = "AISERVICES_OPT_OUT_POLICY" ) const ( @@ -22310,6 +22335,9 @@ const ( // PolicyTypeBackupPolicy is a PolicyType enum value PolicyTypeBackupPolicy = "BACKUP_POLICY" + + // PolicyTypeAiservicesOptOutPolicy is a PolicyType enum value + PolicyTypeAiservicesOptOutPolicy = "AISERVICES_OPT_OUT_POLICY" ) const ( 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 402a395273d..27b560dc0c1 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 @@ -110,6 +110,108 @@ func (c *QuickSight) CancelIngestionWithContext(ctx aws.Context, input *CancelIn return out, req.Send() } +const opCreateAccountCustomization = "CreateAccountCustomization" + +// CreateAccountCustomizationRequest generates a "aws/request.Request" representing the +// client's request for the CreateAccountCustomization operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateAccountCustomization for more information on using the CreateAccountCustomization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateAccountCustomizationRequest method. +// req, resp := client.CreateAccountCustomizationRequest(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/CreateAccountCustomization +func (c *QuickSight) CreateAccountCustomizationRequest(input *CreateAccountCustomizationInput) (req *request.Request, output *CreateAccountCustomizationOutput) { + op := &request.Operation{ + Name: opCreateAccountCustomization, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/customizations", + } + + if input == nil { + input = &CreateAccountCustomizationInput{} + } + + output = &CreateAccountCustomizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAccountCustomization API operation for Amazon QuickSight. +// +// Creates a customization for the Amazon QuickSight subscription associated +// with 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 Amazon QuickSight's +// API operation CreateAccountCustomization for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateAccountCustomization +func (c *QuickSight) CreateAccountCustomization(input *CreateAccountCustomizationInput) (*CreateAccountCustomizationOutput, error) { + req, out := c.CreateAccountCustomizationRequest(input) + return out, req.Send() +} + +// CreateAccountCustomizationWithContext is the same as CreateAccountCustomization with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAccountCustomization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) CreateAccountCustomizationWithContext(ctx aws.Context, input *CreateAccountCustomizationInput, opts ...request.Option) (*CreateAccountCustomizationOutput, error) { + req, out := c.CreateAccountCustomizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDashboard = "CreateDashboard" // CreateDashboardRequest generates a "aws/request.Request" representing the @@ -855,6 +957,125 @@ func (c *QuickSight) CreateIngestionWithContext(ctx aws.Context, input *CreateIn return out, req.Send() } +const opCreateNamespace = "CreateNamespace" + +// CreateNamespaceRequest generates a "aws/request.Request" representing the +// client's request for the CreateNamespace operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateNamespace for more information on using the CreateNamespace +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateNamespaceRequest method. +// req, resp := client.CreateNamespaceRequest(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/CreateNamespace +func (c *QuickSight) CreateNamespaceRequest(input *CreateNamespaceInput) (req *request.Request, output *CreateNamespaceOutput) { + op := &request.Operation{ + Name: opCreateNamespace, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}", + } + + if input == nil { + input = &CreateNamespaceInput{} + } + + output = &CreateNamespaceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateNamespace API operation for Amazon QuickSight. +// +// (Enterprise edition only) Creates a new namespace for you to use with Amazon +// QuickSight. +// +// A namespace allows you to isolate the QuickSight users and groups that are +// registered for that namespace. Users that access the namespace can share +// assets only with other users or groups in the same namespace. They can't +// see users and groups in other namespaces. You can create a namespace after +// your AWS account is subscribed to QuickSight. The namespace must be unique +// within the AWS account. By default, there is a limit of 100 namespaces per +// AWS account. To increase your limit, create a ticket with AWS Support. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CreateNamespace for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * LimitExceededException +// A limit is exceeded. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateNamespace +func (c *QuickSight) CreateNamespace(input *CreateNamespaceInput) (*CreateNamespaceOutput, error) { + req, out := c.CreateNamespaceRequest(input) + return out, req.Send() +} + +// CreateNamespaceWithContext is the same as CreateNamespace with the addition of +// the ability to pass a context and additional request options. +// +// See CreateNamespace for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) CreateNamespaceWithContext(ctx aws.Context, input *CreateNamespaceInput, opts ...request.Option) (*CreateNamespaceOutput, error) { + req, out := c.CreateNamespaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTemplate = "CreateTemplate" // CreateTemplateRequest generates a "aws/request.Request" representing the @@ -945,6 +1166,9 @@ func (c *QuickSight) CreateTemplateRequest(input *CreateTemplateInput) (req *req // Amazon QuickSight currently has Standard Edition and Enterprise Edition. // Not every operation and capability is available in every edition. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * InternalFailureException // An internal failure occurred. // @@ -1045,6 +1269,9 @@ func (c *QuickSight) CreateTemplateAliasRequest(input *CreateTemplateAliasInput) // Amazon QuickSight currently has Standard Edition and Enterprise Edition. // Not every operation and capability is available in every edition. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * InternalFailureException // An internal failure occurred. // @@ -1070,251 +1297,273 @@ func (c *QuickSight) CreateTemplateAliasWithContext(ctx aws.Context, input *Crea return out, req.Send() } -const opDeleteDashboard = "DeleteDashboard" +const opCreateTheme = "CreateTheme" -// DeleteDashboardRequest generates a "aws/request.Request" representing the -// client's request for the DeleteDashboard operation. The "output" return +// CreateThemeRequest generates a "aws/request.Request" representing the +// client's request for the CreateTheme operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteDashboard for more information on using the DeleteDashboard +// See CreateTheme for more information on using the CreateTheme // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteDashboardRequest method. -// req, resp := client.DeleteDashboardRequest(params) +// // Example sending a request using the CreateThemeRequest method. +// req, resp := client.CreateThemeRequest(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/DeleteDashboard -func (c *QuickSight) DeleteDashboardRequest(input *DeleteDashboardInput) (req *request.Request, output *DeleteDashboardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateTheme +func (c *QuickSight) CreateThemeRequest(input *CreateThemeInput) (req *request.Request, output *CreateThemeOutput) { op := &request.Operation{ - Name: opDeleteDashboard, - HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + Name: opCreateTheme, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}", } if input == nil { - input = &DeleteDashboardInput{} + input = &CreateThemeInput{} } - output = &DeleteDashboardOutput{} + output = &CreateThemeOutput{} req = c.newRequest(op, input, output) return } -// DeleteDashboard API operation for Amazon QuickSight. +// CreateTheme API operation for Amazon QuickSight. // -// Deletes a dashboard. +// Creates a theme. +// +// A theme is set of configuration options for color and layout. Themes apply +// to analyses and dashboards. For more information, see Using Themes in Amazon +// QuickSight (https://docs.aws.amazon.com/quicksight/latest/user/themes-in-quicksight.html) +// in the Amazon QuickSight 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 QuickSight's -// API operation DeleteDashboard for usage and error information. +// API operation CreateTheme for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * ResourceExistsException +// The resource specified already exists. // // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * 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. // +// * LimitExceededException +// A limit is exceeded. +// // * InternalFailureException // An internal failure occurred. // -// 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateTheme +func (c *QuickSight) CreateTheme(input *CreateThemeInput) (*CreateThemeOutput, error) { + req, out := c.CreateThemeRequest(input) return out, req.Send() } -// DeleteDashboardWithContext is the same as DeleteDashboard with the addition of +// CreateThemeWithContext is the same as CreateTheme with the addition of // the ability to pass a context and additional request options. // -// See DeleteDashboard for details on how to use this API operation. +// See CreateTheme for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) DeleteDashboardWithContext(ctx aws.Context, input *DeleteDashboardInput, opts ...request.Option) (*DeleteDashboardOutput, error) { - req, out := c.DeleteDashboardRequest(input) +func (c *QuickSight) CreateThemeWithContext(ctx aws.Context, input *CreateThemeInput, opts ...request.Option) (*CreateThemeOutput, error) { + req, out := c.CreateThemeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteDataSet = "DeleteDataSet" +const opCreateThemeAlias = "CreateThemeAlias" -// DeleteDataSetRequest generates a "aws/request.Request" representing the -// client's request for the DeleteDataSet operation. The "output" return +// CreateThemeAliasRequest generates a "aws/request.Request" representing the +// client's request for the CreateThemeAlias operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteDataSet for more information on using the DeleteDataSet +// See CreateThemeAlias for more information on using the CreateThemeAlias // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteDataSetRequest method. -// req, resp := client.DeleteDataSetRequest(params) +// // Example sending a request using the CreateThemeAliasRequest method. +// req, resp := client.CreateThemeAliasRequest(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/DeleteDataSet -func (c *QuickSight) DeleteDataSetRequest(input *DeleteDataSetInput) (req *request.Request, output *DeleteDataSetOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateThemeAlias +func (c *QuickSight) CreateThemeAliasRequest(input *CreateThemeAliasInput) (req *request.Request, output *CreateThemeAliasOutput) { op := &request.Operation{ - Name: opDeleteDataSet, - HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", + Name: opCreateThemeAlias, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}", } if input == nil { - input = &DeleteDataSetInput{} + input = &CreateThemeAliasInput{} } - output = &DeleteDataSetOutput{} + output = &CreateThemeAliasOutput{} req = c.newRequest(op, input, output) return } -// DeleteDataSet API operation for Amazon QuickSight. +// CreateThemeAlias API operation for Amazon QuickSight. // -// Deletes a dataset. +// Creates a theme alias for a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 DeleteDataSet for usage and error information. +// API operation CreateThemeAlias for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ThrottlingException -// Access is throttled. +// * LimitExceededException +// A limit is exceeded. +// +// * ResourceExistsException +// The resource specified already exists. // // * ResourceNotFoundException // One or more resources can't be found. // -// * InternalFailureException -// An internal failure occurred. +// * ThrottlingException +// Access is throttled. // -// 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) +// * 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. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateThemeAlias +func (c *QuickSight) CreateThemeAlias(input *CreateThemeAliasInput) (*CreateThemeAliasOutput, error) { + req, out := c.CreateThemeAliasRequest(input) return out, req.Send() } -// DeleteDataSetWithContext is the same as DeleteDataSet with the addition of +// CreateThemeAliasWithContext is the same as CreateThemeAlias with the addition of // the ability to pass a context and additional request options. // -// See DeleteDataSet for details on how to use this API operation. +// See CreateThemeAlias for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) DeleteDataSetWithContext(ctx aws.Context, input *DeleteDataSetInput, opts ...request.Option) (*DeleteDataSetOutput, error) { - req, out := c.DeleteDataSetRequest(input) +func (c *QuickSight) CreateThemeAliasWithContext(ctx aws.Context, input *CreateThemeAliasInput, opts ...request.Option) (*CreateThemeAliasOutput, error) { + req, out := c.CreateThemeAliasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteDataSource = "DeleteDataSource" +const opDeleteAccountCustomization = "DeleteAccountCustomization" -// DeleteDataSourceRequest generates a "aws/request.Request" representing the -// client's request for the DeleteDataSource operation. The "output" return +// DeleteAccountCustomizationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAccountCustomization operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteDataSource for more information on using the DeleteDataSource +// See DeleteAccountCustomization for more information on using the DeleteAccountCustomization // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteDataSourceRequest method. -// req, resp := client.DeleteDataSourceRequest(params) +// // Example sending a request using the DeleteAccountCustomizationRequest method. +// req, resp := client.DeleteAccountCustomizationRequest(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/DeleteDataSource -func (c *QuickSight) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *request.Request, output *DeleteDataSourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteAccountCustomization +func (c *QuickSight) DeleteAccountCustomizationRequest(input *DeleteAccountCustomizationInput) (req *request.Request, output *DeleteAccountCustomizationOutput) { op := &request.Operation{ - Name: opDeleteDataSource, + Name: opDeleteAccountCustomization, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", + HTTPPath: "/accounts/{AwsAccountId}/customizations", } if input == nil { - input = &DeleteDataSourceInput{} + input = &DeleteAccountCustomizationInput{} } - output = &DeleteDataSourceOutput{} + output = &DeleteAccountCustomizationOutput{} req = c.newRequest(op, input, output) return } -// DeleteDataSource API operation for Amazon QuickSight. +// DeleteAccountCustomization API operation for Amazon QuickSight. // -// Deletes the data source permanently. This action breaks all the datasets -// that reference the deleted data source. +// Deletes customizations for the QuickSight subscription on 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 Amazon QuickSight's -// API operation DeleteDataSource for usage and error information. +// API operation DeleteAccountCustomization for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -1327,191 +1576,189 @@ func (c *QuickSight) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ThrottlingException -// Access is throttled. -// // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * InternalFailureException // An internal failure occurred. // -// 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) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteAccountCustomization +func (c *QuickSight) DeleteAccountCustomization(input *DeleteAccountCustomizationInput) (*DeleteAccountCustomizationOutput, error) { + req, out := c.DeleteAccountCustomizationRequest(input) return out, req.Send() } -// DeleteDataSourceWithContext is the same as DeleteDataSource with the addition of +// DeleteAccountCustomizationWithContext is the same as DeleteAccountCustomization with the addition of // the ability to pass a context and additional request options. // -// See DeleteDataSource for details on how to use this API operation. +// See DeleteAccountCustomization for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) DeleteDataSourceWithContext(ctx aws.Context, input *DeleteDataSourceInput, opts ...request.Option) (*DeleteDataSourceOutput, error) { - req, out := c.DeleteDataSourceRequest(input) +func (c *QuickSight) DeleteAccountCustomizationWithContext(ctx aws.Context, input *DeleteAccountCustomizationInput, opts ...request.Option) (*DeleteAccountCustomizationOutput, error) { + req, out := c.DeleteAccountCustomizationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteGroup = "DeleteGroup" +const opDeleteDashboard = "DeleteDashboard" -// DeleteGroupRequest generates a "aws/request.Request" representing the -// client's request for the DeleteGroup 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 DeleteGroup for more information on using the DeleteGroup +// 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 DeleteGroupRequest method. -// req, resp := client.DeleteGroupRequest(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/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/DeleteDashboard +func (c *QuickSight) DeleteDashboardRequest(input *DeleteDashboardInput) (req *request.Request, output *DeleteDashboardOutput) { op := &request.Operation{ - Name: opDeleteGroup, + Name: opDeleteDashboard, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", } if input == nil { - input = &DeleteGroupInput{} + input = &DeleteDashboardInput{} } - output = &DeleteGroupOutput{} + output = &DeleteDashboardOutput{} req = c.newRequest(op, input, output) return } -// DeleteGroup API operation for Amazon QuickSight. +// DeleteDashboard API operation for Amazon QuickSight. // -// Removes a user group from Amazon QuickSight. +// Deletes a 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 DeleteGroup for usage and error information. +// API operation DeleteDashboard for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. +// * ThrottlingException +// Access is throttled. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. -// -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * 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. // // * InternalFailureException // An internal failure occurred. // -// * 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/DeleteDashboard +func (c *QuickSight) DeleteDashboard(input *DeleteDashboardInput) (*DeleteDashboardOutput, error) { + req, out := c.DeleteDashboardRequest(input) return out, req.Send() } -// DeleteGroupWithContext is the same as DeleteGroup 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 DeleteGroup 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) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) { - req, out := c.DeleteGroupRequest(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 opDeleteGroupMembership = "DeleteGroupMembership" +const opDeleteDataSet = "DeleteDataSet" -// DeleteGroupMembershipRequest generates a "aws/request.Request" representing the -// client's request for the DeleteGroupMembership 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 DeleteGroupMembership for more information on using the DeleteGroupMembership +// 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 DeleteGroupMembershipRequest method. -// req, resp := client.DeleteGroupMembershipRequest(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/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/DeleteDataSet +func (c *QuickSight) DeleteDataSetRequest(input *DeleteDataSetInput) (req *request.Request, output *DeleteDataSetOutput) { op := &request.Operation{ - Name: opDeleteGroupMembership, + Name: opDeleteDataSet, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", } if input == nil { - input = &DeleteGroupMembershipInput{} + input = &DeleteDataSetInput{} } - output = &DeleteGroupMembershipOutput{} + output = &DeleteDataSetOutput{} req = c.newRequest(op, input, output) return } -// DeleteGroupMembership API operation for Amazon QuickSight. +// DeleteDataSet API operation for Amazon QuickSight. // -// Removes a user from a group so that the user is no longer a member of the -// group. +// Deletes 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 DeleteGroupMembership for usage and error information. +// API operation DeleteDataSet for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -1524,95 +1771,90 @@ func (c *QuickSight) DeleteGroupMembershipRequest(input *DeleteGroupMembershipIn // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * ResourceNotFoundException +// One or more resources can't be found. // // * InternalFailureException // An internal failure occurred. // -// * 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/DeleteDataSet +func (c *QuickSight) DeleteDataSet(input *DeleteDataSetInput) (*DeleteDataSetOutput, error) { + req, out := c.DeleteDataSetRequest(input) return out, req.Send() } -// DeleteGroupMembershipWithContext is the same as DeleteGroupMembership 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 DeleteGroupMembership 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) DeleteGroupMembershipWithContext(ctx aws.Context, input *DeleteGroupMembershipInput, opts ...request.Option) (*DeleteGroupMembershipOutput, error) { - req, out := c.DeleteGroupMembershipRequest(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 opDeleteIAMPolicyAssignment = "DeleteIAMPolicyAssignment" +const opDeleteDataSource = "DeleteDataSource" -// DeleteIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the -// client's request for the DeleteIAMPolicyAssignment 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 DeleteIAMPolicyAssignment for more information on using the DeleteIAMPolicyAssignment +// 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 DeleteIAMPolicyAssignmentRequest method. -// req, resp := client.DeleteIAMPolicyAssignmentRequest(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/DeleteIAMPolicyAssignment -func (c *QuickSight) DeleteIAMPolicyAssignmentRequest(input *DeleteIAMPolicyAssignmentInput) (req *request.Request, output *DeleteIAMPolicyAssignmentOutput) { +// 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: opDeleteIAMPolicyAssignment, + Name: opDeleteDataSource, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespace/{Namespace}/iam-policy-assignments/{AssignmentName}", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", } if input == nil { - input = &DeleteIAMPolicyAssignmentInput{} + input = &DeleteDataSourceInput{} } - output = &DeleteIAMPolicyAssignmentOutput{} + output = &DeleteDataSourceOutput{} req = c.newRequest(op, input, output) return } -// DeleteIAMPolicyAssignment API operation for Amazon QuickSight. +// DeleteDataSource API operation for Amazon QuickSight. // -// Deletes an existing IAM policy assignment. +// Deletes the data source permanently. This action breaks all the datasets +// that reference the deleted data source. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 DeleteIAMPolicyAssignment for usage and error information. +// API operation DeleteDataSource for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -1625,100 +1867,100 @@ func (c *QuickSight) DeleteIAMPolicyAssignmentRequest(input *DeleteIAMPolicyAssi // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceExistsException -// The resource specified already exists. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// * ResourceNotFoundException +// One or more resources can't be found. // // * InternalFailureException // An internal failure occurred. // -// 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) +// 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() } -// DeleteIAMPolicyAssignmentWithContext is the same as DeleteIAMPolicyAssignment 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 DeleteIAMPolicyAssignment 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) DeleteIAMPolicyAssignmentWithContext(ctx aws.Context, input *DeleteIAMPolicyAssignmentInput, opts ...request.Option) (*DeleteIAMPolicyAssignmentOutput, error) { - req, out := c.DeleteIAMPolicyAssignmentRequest(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 opDeleteTemplate = "DeleteTemplate" +const opDeleteGroup = "DeleteGroup" -// DeleteTemplateRequest generates a "aws/request.Request" representing the -// client's request for the DeleteTemplate 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 DeleteTemplate for more information on using the DeleteTemplate +// 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 DeleteTemplateRequest method. -// req, resp := client.DeleteTemplateRequest(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/DeleteTemplate -func (c *QuickSight) DeleteTemplateRequest(input *DeleteTemplateInput) (req *request.Request, output *DeleteTemplateOutput) { +// 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: opDeleteTemplate, + Name: opDeleteGroup, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", } if input == nil { - input = &DeleteTemplateInput{} + input = &DeleteGroupInput{} } - output = &DeleteTemplateOutput{} + output = &DeleteGroupOutput{} req = c.newRequest(op, input, output) return } -// DeleteTemplate API operation for Amazon QuickSight. +// DeleteGroup API operation for Amazon QuickSight. // -// Deletes a template. +// Removes a user group from Amazon QuickSight. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation DeleteGroup for usage and error information. // // Returned Error Types: -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. @@ -1726,190 +1968,191 @@ func (c *QuickSight) DeleteTemplateRequest(input *DeleteTemplateInput) (req *req // * ThrottlingException // Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * LimitExceededException -// A limit is exceeded. -// -// * 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. +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * 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) +// * 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) return out, req.Send() } -// DeleteTemplateWithContext is the same as DeleteTemplate 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 DeleteTemplate 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) DeleteTemplateWithContext(ctx aws.Context, input *DeleteTemplateInput, opts ...request.Option) (*DeleteTemplateOutput, error) { - req, out := c.DeleteTemplateRequest(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 opDeleteTemplateAlias = "DeleteTemplateAlias" +const opDeleteGroupMembership = "DeleteGroupMembership" -// DeleteTemplateAliasRequest generates a "aws/request.Request" representing the -// client's request for the DeleteTemplateAlias 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 DeleteTemplateAlias for more information on using the DeleteTemplateAlias +// 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 DeleteTemplateAliasRequest method. -// req, resp := client.DeleteTemplateAliasRequest(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/DeleteTemplateAlias -func (c *QuickSight) DeleteTemplateAliasRequest(input *DeleteTemplateAliasInput) (req *request.Request, output *DeleteTemplateAliasOutput) { +// 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: opDeleteTemplateAlias, + Name: opDeleteGroupMembership, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", } if input == nil { - input = &DeleteTemplateAliasInput{} + input = &DeleteGroupMembershipInput{} } - output = &DeleteTemplateAliasOutput{} + output = &DeleteGroupMembershipOutput{} req = c.newRequest(op, input, output) return } -// DeleteTemplateAlias API operation for Amazon QuickSight. +// DeleteGroupMembership API operation for Amazon QuickSight. // -// Deletes the item that the specified template alias points to. If you provide -// a specific alias, you delete the version of the template that the alias points -// to. +// Removes a user from a group so that the user is no longer a member of 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 // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DeleteTemplateAlias for usage and error information. +// API operation DeleteGroupMembership for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // -// * 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. +// * ThrottlingException +// Access is throttled. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * 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) +// * 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) return out, req.Send() } -// DeleteTemplateAliasWithContext is the same as DeleteTemplateAlias 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 DeleteTemplateAlias 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) DeleteTemplateAliasWithContext(ctx aws.Context, input *DeleteTemplateAliasInput, opts ...request.Option) (*DeleteTemplateAliasOutput, error) { - req, out := c.DeleteTemplateAliasRequest(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 opDeleteUser = "DeleteUser" +const opDeleteIAMPolicyAssignment = "DeleteIAMPolicyAssignment" -// DeleteUserRequest generates a "aws/request.Request" representing the -// client's request for the DeleteUser 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 DeleteUser for more information on using the DeleteUser +// 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 DeleteUserRequest method. -// req, resp := client.DeleteUserRequest(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/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/DeleteIAMPolicyAssignment +func (c *QuickSight) DeleteIAMPolicyAssignmentRequest(input *DeleteIAMPolicyAssignmentInput) (req *request.Request, output *DeleteIAMPolicyAssignmentOutput) { op := &request.Operation{ - Name: opDeleteUser, + Name: opDeleteIAMPolicyAssignment, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + HTTPPath: "/accounts/{AwsAccountId}/namespace/{Namespace}/iam-policy-assignments/{AssignmentName}", } if input == nil { - input = &DeleteUserInput{} + input = &DeleteIAMPolicyAssignmentInput{} } - output = &DeleteUserOutput{} + output = &DeleteIAMPolicyAssignmentOutput{} req = c.newRequest(op, input, output) return } -// DeleteUser API operation for Amazon QuickSight. +// DeleteIAMPolicyAssignment 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. +// Deletes an existing IAM policy assignment. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 DeleteIAMPolicyAssignment for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -1922,92 +2165,99 @@ func (c *QuickSight) DeleteUserRequest(input *DeleteUserInput) (req *request.Req // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceExistsException +// The resource specified already exists. +// // * ResourceNotFoundException // One or more resources can't be found. // // * ThrottlingException // Access is throttled. // +// * ConcurrentUpdatingException +// A resource is already in a state that indicates an action is happening that +// must complete before a new update can be applied. +// // * InternalFailureException // An internal failure occurred. // -// * 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/DeleteIAMPolicyAssignment +func (c *QuickSight) DeleteIAMPolicyAssignment(input *DeleteIAMPolicyAssignmentInput) (*DeleteIAMPolicyAssignmentOutput, error) { + req, out := c.DeleteIAMPolicyAssignmentRequest(input) return out, req.Send() } -// DeleteUserWithContext is the same as DeleteUser with the addition of +// DeleteIAMPolicyAssignmentWithContext is the same as DeleteIAMPolicyAssignment 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 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) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { - req, out := c.DeleteUserRequest(input) +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() } -const opDeleteUserByPrincipalId = "DeleteUserByPrincipalId" +const opDeleteNamespace = "DeleteNamespace" -// DeleteUserByPrincipalIdRequest generates a "aws/request.Request" representing the -// client's request for the DeleteUserByPrincipalId operation. The "output" return +// DeleteNamespaceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNamespace operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 DeleteNamespace for more information on using the DeleteNamespace // API call, and error handling. // // This method is useful when you want to 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 DeleteNamespaceRequest method. +// req, resp := client.DeleteNamespaceRequest(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/DeleteNamespace +func (c *QuickSight) DeleteNamespaceRequest(input *DeleteNamespaceInput) (req *request.Request, output *DeleteNamespaceOutput) { op := &request.Operation{ - Name: opDeleteUserByPrincipalId, + Name: opDeleteNamespace, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}", } if input == nil { - input = &DeleteUserByPrincipalIdInput{} + input = &DeleteNamespaceInput{} } - output = &DeleteUserByPrincipalIdOutput{} + output = &DeleteNamespaceOutput{} req = c.newRequest(op, input, output) return } -// DeleteUserByPrincipalId API operation for Amazon QuickSight. +// DeleteNamespace API operation for Amazon QuickSight. // -// Deletes a user identified by its principal ID. +// Deletes a namespace and the users and groups that are associated with the +// namespace. This is an asynchronous process. Assets including dashboards, +// analyses, datasets and data sources are not deleted. To delete these assets, +// you use the APIs for the relevant asset. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 DeleteNamespace for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2026,86 +2276,89 @@ func (c *QuickSight) DeleteUserByPrincipalIdRequest(input *DeleteUserByPrincipal // * ThrottlingException // Access is throttled. // +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * InternalFailureException // An internal failure occurred. // // * 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/DeleteNamespace +func (c *QuickSight) DeleteNamespace(input *DeleteNamespaceInput) (*DeleteNamespaceOutput, error) { + req, out := c.DeleteNamespaceRequest(input) return out, req.Send() } -// DeleteUserByPrincipalIdWithContext is the same as DeleteUserByPrincipalId with the addition of +// DeleteNamespaceWithContext is the same as DeleteNamespace 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 DeleteNamespace for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) DeleteNamespaceWithContext(ctx aws.Context, input *DeleteNamespaceInput, opts ...request.Option) (*DeleteNamespaceOutput, error) { + req, out := c.DeleteNamespaceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDashboard = "DescribeDashboard" +const opDeleteTemplate = "DeleteTemplate" -// DescribeDashboardRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDashboard operation. The "output" return +// 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 DescribeDashboard for more information on using the DescribeDashboard +// 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 DescribeDashboardRequest method. -// req, resp := client.DescribeDashboardRequest(params) +// // 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/DescribeDashboard -func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (req *request.Request, output *DescribeDashboardOutput) { +// 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: opDescribeDashboard, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + Name: opDeleteTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", } if input == nil { - input = &DescribeDashboardInput{} + input = &DeleteTemplateInput{} } - output = &DescribeDashboardOutput{} + output = &DeleteTemplateOutput{} req = c.newRequest(op, input, output) return } -// DescribeDashboard API operation for Amazon QuickSight. +// DeleteTemplate API operation for Amazon QuickSight. // -// Provides a summary for a dashboard. +// Deletes a 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 DescribeDashboard for usage and error information. +// API operation DeleteTemplate for usage and error information. // // Returned Error Types: // * InvalidParameterValueException @@ -2114,16 +2367,15 @@ func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (re // * ResourceNotFoundException // One or more resources can't be found. // -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. -// // * ThrottlingException // Access is throttled. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * LimitExceededException +// A limit is exceeded. +// // * 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. @@ -2133,174 +2385,176 @@ func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (re // * 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) +// 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() } -// DescribeDashboardWithContext is the same as DescribeDashboard with the addition of +// DeleteTemplateWithContext is the same as DeleteTemplate 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. +// 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) DescribeDashboardWithContext(ctx aws.Context, input *DescribeDashboardInput, opts ...request.Option) (*DescribeDashboardOutput, error) { - req, out := c.DescribeDashboardRequest(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() } -const opDescribeDashboardPermissions = "DescribeDashboardPermissions" +const opDeleteTemplateAlias = "DeleteTemplateAlias" -// DescribeDashboardPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDashboardPermissions operation. The "output" return +// 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 DescribeDashboardPermissions for more information on using the DescribeDashboardPermissions +// 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 DescribeDashboardPermissionsRequest method. -// req, resp := client.DescribeDashboardPermissionsRequest(params) +// // 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/DescribeDashboardPermissions -func (c *QuickSight) DescribeDashboardPermissionsRequest(input *DescribeDashboardPermissionsInput) (req *request.Request, output *DescribeDashboardPermissionsOutput) { +// 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: opDescribeDashboardPermissions, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", + Name: opDeleteTemplateAlias, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", } if input == nil { - input = &DescribeDashboardPermissionsInput{} + input = &DeleteTemplateAliasInput{} } - output = &DescribeDashboardPermissionsOutput{} + output = &DeleteTemplateAliasOutput{} req = c.newRequest(op, input, output) return } -// DescribeDashboardPermissions API operation for Amazon QuickSight. +// DeleteTemplateAlias API operation for Amazon QuickSight. // -// Describes read and write permissions for a dashboard. +// Deletes the item that the specified template alias points to. If you provide +// a specific alias, you delete the version of the template that the alias points +// 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 // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeDashboardPermissions for usage and error information. +// API operation DeleteTemplateAlias for usage and error information. // // Returned Error Types: -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. +// * ThrottlingException +// Access is throttled. // // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. -// // * 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. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * 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) +// 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() } -// DescribeDashboardPermissionsWithContext is the same as DescribeDashboardPermissions with the addition of +// DeleteTemplateAliasWithContext is the same as DeleteTemplateAlias 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. +// 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) DescribeDashboardPermissionsWithContext(ctx aws.Context, input *DescribeDashboardPermissionsInput, opts ...request.Option) (*DescribeDashboardPermissionsOutput, error) { - req, out := c.DescribeDashboardPermissionsRequest(input) +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 opDescribeDataSet = "DescribeDataSet" +const opDeleteTheme = "DeleteTheme" -// DescribeDataSetRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDataSet operation. The "output" return +// DeleteThemeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTheme operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See DeleteTheme for more information on using the DeleteTheme // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the DeleteThemeRequest method. +// req, resp := client.DeleteThemeRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTheme +func (c *QuickSight) DeleteThemeRequest(input *DeleteThemeInput) (req *request.Request, output *DeleteThemeOutput) { op := &request.Operation{ - Name: opDescribeDataSet, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", + Name: opDeleteTheme, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}", } if input == nil { - input = &DescribeDataSetInput{} + input = &DeleteThemeInput{} } - output = &DescribeDataSetOutput{} + output = &DeleteThemeOutput{} req = c.newRequest(op, input, output) return } -// DescribeDataSet API operation for Amazon QuickSight. +// DeleteTheme API operation for Amazon QuickSight. // -// Describes a dataset. +// Deletes a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation DeleteTheme for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2310,189 +2564,202 @@ func (c *QuickSight) DescribeDataSetRequest(input *DescribeDataSetInput) (req *r // your policies have the correct permissions, and that you are using the correct // access keys. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. +// * 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. // // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTheme +func (c *QuickSight) DeleteTheme(input *DeleteThemeInput) (*DeleteThemeOutput, error) { + req, out := c.DeleteThemeRequest(input) return out, req.Send() } -// DescribeDataSetWithContext is the same as DescribeDataSet with the addition of +// DeleteThemeWithContext is the same as DeleteTheme 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. +// See DeleteTheme for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) DeleteThemeWithContext(ctx aws.Context, input *DeleteThemeInput, opts ...request.Option) (*DeleteThemeOutput, error) { + req, out := c.DeleteThemeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDataSetPermissions = "DescribeDataSetPermissions" +const opDeleteThemeAlias = "DeleteThemeAlias" -// DescribeDataSetPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDataSetPermissions operation. The "output" return +// DeleteThemeAliasRequest generates a "aws/request.Request" representing the +// client's request for the DeleteThemeAlias operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See DeleteThemeAlias for more information on using the DeleteThemeAlias // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the DeleteThemeAliasRequest method. +// req, resp := client.DeleteThemeAliasRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteThemeAlias +func (c *QuickSight) DeleteThemeAliasRequest(input *DeleteThemeAliasInput) (req *request.Request, output *DeleteThemeAliasOutput) { op := &request.Operation{ - Name: opDescribeDataSetPermissions, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", + Name: opDeleteThemeAlias, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}", } if input == nil { - input = &DescribeDataSetPermissionsInput{} + input = &DeleteThemeAliasInput{} } - output = &DescribeDataSetPermissionsOutput{} + output = &DeleteThemeAliasOutput{} req = c.newRequest(op, input, output) return } -// DescribeDataSetPermissions API operation for Amazon QuickSight. +// DeleteThemeAlias 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. +// Deletes the version of the theme that the specified theme alias points to. +// If you provide a specific alias, you delete the version of the theme that +// the alias points 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 // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeDataSetPermissions for usage and error information. +// API operation DeleteThemeAlias for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. +// * 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. // // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteThemeAlias +func (c *QuickSight) DeleteThemeAlias(input *DeleteThemeAliasInput) (*DeleteThemeAliasOutput, error) { + req, out := c.DeleteThemeAliasRequest(input) return out, req.Send() } -// DescribeDataSetPermissionsWithContext is the same as DescribeDataSetPermissions with the addition of +// DeleteThemeAliasWithContext is the same as DeleteThemeAlias 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. +// See DeleteThemeAlias for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) DeleteThemeAliasWithContext(ctx aws.Context, input *DeleteThemeAliasInput, opts ...request.Option) (*DeleteThemeAliasOutput, error) { + req, out := c.DeleteThemeAliasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDataSource = "DescribeDataSource" +const opDeleteUser = "DeleteUser" -// DescribeDataSourceRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDataSource operation. The "output" return +// 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 DescribeDataSource for more information on using the DescribeDataSource +// 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 DescribeDataSourceRequest method. -// req, resp := client.DescribeDataSourceRequest(params) +// // 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/DescribeDataSource -func (c *QuickSight) DescribeDataSourceRequest(input *DescribeDataSourceInput) (req *request.Request, output *DescribeDataSourceOutput) { +// 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: opDescribeDataSource, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", + Name: opDeleteUser, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", } if input == nil { - input = &DescribeDataSourceInput{} + input = &DeleteUserInput{} } - output = &DescribeDataSourceOutput{} + output = &DeleteUserOutput{} req = c.newRequest(op, input, output) return } -// DescribeDataSource API operation for Amazon QuickSight. +// DeleteUser API operation for Amazon QuickSight. // -// Describes a data source. +// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation DeleteUser for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2505,89 +2772,95 @@ func (c *QuickSight) DescribeDataSourceRequest(input *DescribeDataSourceInput) ( // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * 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) +// * 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() } -// DescribeDataSourceWithContext is the same as DescribeDataSource with the addition of +// DeleteUserWithContext is the same as DeleteUser 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. +// 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) DescribeDataSourceWithContext(ctx aws.Context, input *DescribeDataSourceInput, opts ...request.Option) (*DescribeDataSourceOutput, error) { - req, out := c.DescribeDataSourceRequest(input) +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 opDescribeDataSourcePermissions = "DescribeDataSourcePermissions" +const opDeleteUserByPrincipalId = "DeleteUserByPrincipalId" -// DescribeDataSourcePermissionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDataSourcePermissions operation. The "output" return +// 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 DescribeDataSourcePermissions for more information on using the DescribeDataSourcePermissions +// 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 DescribeDataSourcePermissionsRequest method. -// req, resp := client.DescribeDataSourcePermissionsRequest(params) +// // 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/DescribeDataSourcePermissions -func (c *QuickSight) DescribeDataSourcePermissionsRequest(input *DescribeDataSourcePermissionsInput) (req *request.Request, output *DescribeDataSourcePermissionsOutput) { +// 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: opDescribeDataSourcePermissions, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", + Name: opDeleteUserByPrincipalId, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}", } if input == nil { - input = &DescribeDataSourcePermissionsInput{} + input = &DeleteUserByPrincipalIdInput{} } - output = &DescribeDataSourcePermissionsOutput{} + output = &DeleteUserByPrincipalIdOutput{} req = c.newRequest(op, input, output) return } -// DescribeDataSourcePermissions API operation for Amazon QuickSight. +// DeleteUserByPrincipalId API operation for Amazon QuickSight. // -// Describes the resource permissions for a data source. +// Deletes a user identified by its principal 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. +// API operation DeleteUserByPrincipalId for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2600,90 +2873,95 @@ func (c *QuickSight) DescribeDataSourcePermissionsRequest(input *DescribeDataSou // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * 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) +// * 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() } -// DescribeDataSourcePermissionsWithContext is the same as DescribeDataSourcePermissions with the addition of +// DeleteUserByPrincipalIdWithContext is the same as DeleteUserByPrincipalId 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. +// 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) DescribeDataSourcePermissionsWithContext(ctx aws.Context, input *DescribeDataSourcePermissionsInput, opts ...request.Option) (*DescribeDataSourcePermissionsOutput, error) { - req, out := c.DescribeDataSourcePermissionsRequest(input) +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 opDescribeGroup = "DescribeGroup" +const opDescribeAccountCustomization = "DescribeAccountCustomization" -// DescribeGroupRequest generates a "aws/request.Request" representing the -// client's request for the DescribeGroup operation. The "output" return +// DescribeAccountCustomizationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccountCustomization operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 DescribeAccountCustomization for more information on using the DescribeAccountCustomization // API call, and error handling. // // This method is useful when you want to 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 DescribeAccountCustomizationRequest method. +// req, resp := client.DescribeAccountCustomizationRequest(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/DescribeAccountCustomization +func (c *QuickSight) DescribeAccountCustomizationRequest(input *DescribeAccountCustomizationInput) (req *request.Request, output *DescribeAccountCustomizationOutput) { op := &request.Operation{ - Name: opDescribeGroup, + Name: opDescribeAccountCustomization, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + HTTPPath: "/accounts/{AwsAccountId}/customizations", } if input == nil { - input = &DescribeGroupInput{} + input = &DescribeAccountCustomizationInput{} } - output = &DescribeGroupOutput{} + output = &DescribeAccountCustomizationOutput{} req = c.newRequest(op, input, output) return } -// DescribeGroup API operation for Amazon QuickSight. +// DescribeAccountCustomization API operation for Amazon QuickSight. // -// Returns an Amazon QuickSight group's description and Amazon Resource Name -// (ARN). +// Describes the customizations associated with 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 Amazon QuickSight's -// API operation DescribeGroup for usage and error information. +// API operation DescribeAccountCustomization for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2702,90 +2980,87 @@ func (c *QuickSight) DescribeGroupRequest(input *DescribeGroupInput) (req *reque // * ThrottlingException // Access is throttled. // -// * PreconditionNotMetException -// One or more preconditions aren't met. -// // * InternalFailureException // An internal failure occurred. // // * 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/DescribeAccountCustomization +func (c *QuickSight) DescribeAccountCustomization(input *DescribeAccountCustomizationInput) (*DescribeAccountCustomizationOutput, error) { + req, out := c.DescribeAccountCustomizationRequest(input) return out, req.Send() } -// DescribeGroupWithContext is the same as DescribeGroup with the addition of +// DescribeAccountCustomizationWithContext is the same as DescribeAccountCustomization 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 DescribeAccountCustomization for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) DescribeAccountCustomizationWithContext(ctx aws.Context, input *DescribeAccountCustomizationInput, opts ...request.Option) (*DescribeAccountCustomizationOutput, error) { + req, out := c.DescribeAccountCustomizationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeIAMPolicyAssignment = "DescribeIAMPolicyAssignment" +const opDescribeAccountSettings = "DescribeAccountSettings" -// DescribeIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the -// client's request for the DescribeIAMPolicyAssignment operation. The "output" return +// DescribeAccountSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccountSettings operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See DescribeAccountSettings for more information on using the DescribeAccountSettings // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the DescribeAccountSettingsRequest method. +// req, resp := client.DescribeAccountSettingsRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAccountSettings +func (c *QuickSight) DescribeAccountSettingsRequest(input *DescribeAccountSettingsInput) (req *request.Request, output *DescribeAccountSettingsOutput) { op := &request.Operation{ - Name: opDescribeIAMPolicyAssignment, + Name: opDescribeAccountSettings, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", + HTTPPath: "/accounts/{AwsAccountId}/settings", } if input == nil { - input = &DescribeIAMPolicyAssignmentInput{} + input = &DescribeAccountSettingsInput{} } - output = &DescribeIAMPolicyAssignmentOutput{} + output = &DescribeAccountSettingsOutput{} req = c.newRequest(op, input, output) return } -// DescribeIAMPolicyAssignment API operation for Amazon QuickSight. +// DescribeAccountSettings API operation for Amazon QuickSight. // -// Describes an existing IAM policy assignment, as specified by the assignment -// name. +// Describes the settings that were used when your QuickSight subscription was +// first created in this AWS Account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeIAMPolicyAssignment for usage and error information. +// API operation DescribeAccountSettings for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2804,88 +3079,94 @@ func (c *QuickSight) DescribeIAMPolicyAssignmentRequest(input *DescribeIAMPolicy // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. -// // * 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) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAccountSettings +func (c *QuickSight) DescribeAccountSettings(input *DescribeAccountSettingsInput) (*DescribeAccountSettingsOutput, error) { + req, out := c.DescribeAccountSettingsRequest(input) return out, req.Send() } -// DescribeIAMPolicyAssignmentWithContext is the same as DescribeIAMPolicyAssignment with the addition of +// DescribeAccountSettingsWithContext is the same as DescribeAccountSettings 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. +// See DescribeAccountSettings for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) DescribeAccountSettingsWithContext(ctx aws.Context, input *DescribeAccountSettingsInput, opts ...request.Option) (*DescribeAccountSettingsOutput, error) { + req, out := c.DescribeAccountSettingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeIngestion = "DescribeIngestion" +const opDescribeDashboard = "DescribeDashboard" -// DescribeIngestionRequest generates a "aws/request.Request" representing the -// client's request for the DescribeIngestion operation. The "output" return +// 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 DescribeIngestion for more information on using the DescribeIngestion +// 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 DescribeIngestionRequest method. -// req, resp := client.DescribeIngestionRequest(params) +// // 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/DescribeIngestion -func (c *QuickSight) DescribeIngestionRequest(input *DescribeIngestionInput) (req *request.Request, output *DescribeIngestionOutput) { +// 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: opDescribeIngestion, + Name: opDescribeDashboard, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", } if input == nil { - input = &DescribeIngestionInput{} + input = &DescribeDashboardInput{} } - output = &DescribeIngestionOutput{} + output = &DescribeDashboardOutput{} req = c.newRequest(op, input, output) return } -// DescribeIngestion API operation for Amazon QuickSight. +// DescribeDashboard API operation for Amazon QuickSight. // -// Describes a SPICE ingestion. +// Provides a summary for a 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 DescribeIngestion for usage and error information. +// API operation DescribeDashboard for usage and error information. // // Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// // * AccessDeniedException // You don't have access to this item. The provided credentials couldn't be // validated. You might not be authorized to carry out the request. Make sure @@ -2893,119 +3174,103 @@ func (c *QuickSight) DescribeIngestionRequest(input *DescribeIngestionInput) (re // your policies have the correct permissions, and that you are using the correct // access keys. // -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * ResourceExistsException -// The resource specified already exists. +// * 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. // // * 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) +// 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() } -// DescribeIngestionWithContext is the same as DescribeIngestion with the addition of +// DescribeDashboardWithContext is the same as DescribeDashboard 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. +// 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) DescribeIngestionWithContext(ctx aws.Context, input *DescribeIngestionInput, opts ...request.Option) (*DescribeIngestionOutput, error) { - req, out := c.DescribeIngestionRequest(input) +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 opDescribeTemplate = "DescribeTemplate" +const opDescribeDashboardPermissions = "DescribeDashboardPermissions" -// DescribeTemplateRequest generates a "aws/request.Request" representing the -// client's request for the DescribeTemplate operation. The "output" return +// 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 DescribeTemplate for more information on using the DescribeTemplate +// 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 DescribeTemplateRequest method. -// req, resp := client.DescribeTemplateRequest(params) +// // 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/DescribeTemplate -func (c *QuickSight) DescribeTemplateRequest(input *DescribeTemplateInput) (req *request.Request, output *DescribeTemplateOutput) { +// 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: opDescribeTemplate, + Name: opDescribeDashboardPermissions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", } if input == nil { - input = &DescribeTemplateInput{} + input = &DescribeDashboardPermissionsInput{} } - output = &DescribeTemplateOutput{} + output = &DescribeDashboardPermissionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeTemplate API operation for Amazon QuickSight. +// DescribeDashboardPermissions API operation for Amazon QuickSight. // -// Describes a template's metadata. +// Describes read and write permissions for a 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. +// API operation DescribeDashboardPermissions for usage and error information. // // Returned Error Types: // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. -// -// * ResourceExistsException -// The resource specified already exists. -// // * ResourceNotFoundException // One or more resources can't be found. // // * ThrottlingException // Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // * 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. @@ -3015,268 +3280,272 @@ func (c *QuickSight) DescribeTemplateRequest(input *DescribeTemplateInput) (req // * 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) +// 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() } -// DescribeTemplateWithContext is the same as DescribeTemplate with the addition of +// DescribeDashboardPermissionsWithContext is the same as DescribeDashboardPermissions 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. +// 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) DescribeTemplateWithContext(ctx aws.Context, input *DescribeTemplateInput, opts ...request.Option) (*DescribeTemplateOutput, error) { - req, out := c.DescribeTemplateRequest(input) +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 opDescribeTemplateAlias = "DescribeTemplateAlias" +const opDescribeDataSet = "DescribeDataSet" -// DescribeTemplateAliasRequest generates a "aws/request.Request" representing the -// client's request for the DescribeTemplateAlias operation. The "output" return +// 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 DescribeTemplateAlias for more information on using the DescribeTemplateAlias +// 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 DescribeTemplateAliasRequest method. -// req, resp := client.DescribeTemplateAliasRequest(params) +// // 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/DescribeTemplateAlias -func (c *QuickSight) DescribeTemplateAliasRequest(input *DescribeTemplateAliasInput) (req *request.Request, output *DescribeTemplateAliasOutput) { +// 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: opDescribeTemplateAlias, + Name: opDescribeDataSet, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", } if input == nil { - input = &DescribeTemplateAliasInput{} + input = &DescribeDataSetInput{} } - output = &DescribeTemplateAliasOutput{} + output = &DescribeDataSetOutput{} req = c.newRequest(op, input, output) return } -// DescribeTemplateAlias API operation for Amazon QuickSight. +// DescribeDataSet API operation for Amazon QuickSight. // -// Describes the template alias for a template. +// Describes 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 DescribeTemplateAlias for usage and error information. +// API operation DescribeDataSet for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// // * ThrottlingException // Access is throttled. // // * ResourceNotFoundException // One or more resources can't be found. // -// * 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. -// // * 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) +// 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() } -// DescribeTemplateAliasWithContext is the same as DescribeTemplateAlias with the addition of +// DescribeDataSetWithContext is the same as DescribeDataSet 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. +// 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) DescribeTemplateAliasWithContext(ctx aws.Context, input *DescribeTemplateAliasInput, opts ...request.Option) (*DescribeTemplateAliasOutput, error) { - req, out := c.DescribeTemplateAliasRequest(input) +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 opDescribeTemplatePermissions = "DescribeTemplatePermissions" +const opDescribeDataSetPermissions = "DescribeDataSetPermissions" -// DescribeTemplatePermissionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeTemplatePermissions operation. The "output" return +// 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 DescribeTemplatePermissions for more information on using the DescribeTemplatePermissions +// 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 DescribeTemplatePermissionsRequest method. -// req, resp := client.DescribeTemplatePermissionsRequest(params) +// // 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/DescribeTemplatePermissions -func (c *QuickSight) DescribeTemplatePermissionsRequest(input *DescribeTemplatePermissionsInput) (req *request.Request, output *DescribeTemplatePermissionsOutput) { +// 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: opDescribeTemplatePermissions, + Name: opDescribeDataSetPermissions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", } if input == nil { - input = &DescribeTemplatePermissionsInput{} + input = &DescribeDataSetPermissionsInput{} } - output = &DescribeTemplatePermissionsOutput{} + output = &DescribeDataSetPermissionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeTemplatePermissions API operation for Amazon QuickSight. +// DescribeDataSetPermissions API operation for Amazon QuickSight. // -// Describes read and write permissions on a template. +// Describes the permissions on a dataset. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/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 DescribeTemplatePermissions for usage and error information. +// API operation DescribeDataSetPermissions for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * ThrottlingException +// Access is throttled. // // * ResourceNotFoundException // One or more resources can't be found. // -// * 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. -// // * 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) +// 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() } -// DescribeTemplatePermissionsWithContext is the same as DescribeTemplatePermissions with the addition of +// DescribeDataSetPermissionsWithContext is the same as DescribeDataSetPermissions 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. +// 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) DescribeTemplatePermissionsWithContext(ctx aws.Context, input *DescribeTemplatePermissionsInput, opts ...request.Option) (*DescribeTemplatePermissionsOutput, error) { - req, out := c.DescribeTemplatePermissionsRequest(input) +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 opDescribeUser = "DescribeUser" +const opDescribeDataSource = "DescribeDataSource" -// DescribeUserRequest generates a "aws/request.Request" representing the -// client's request for the DescribeUser operation. The "output" return +// 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 DescribeUser for more information on using the DescribeUser +// 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 DescribeUserRequest method. -// req, resp := client.DescribeUserRequest(params) +// // 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/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/DescribeDataSource +func (c *QuickSight) DescribeDataSourceRequest(input *DescribeDataSourceInput) (req *request.Request, output *DescribeDataSourceOutput) { op := &request.Operation{ - Name: opDescribeUser, + Name: opDescribeDataSource, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", } if input == nil { - input = &DescribeUserInput{} + input = &DescribeDataSourceInput{} } - output = &DescribeUserOutput{} + output = &DescribeDataSourceOutput{} req = c.newRequest(op, input, output) return } -// DescribeUser API operation for Amazon QuickSight. +// DescribeDataSource API operation for Amazon QuickSight. // -// Returns information about a user, given the user name. +// Describes a data source. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 DescribeDataSource for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -3289,111 +3558,89 @@ func (c *QuickSight) DescribeUserRequest(input *DescribeUserInput) (req *request // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * InternalFailureException // An internal failure occurred. // -// * 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/DescribeDataSource +func (c *QuickSight) DescribeDataSource(input *DescribeDataSourceInput) (*DescribeDataSourceOutput, error) { + req, out := c.DescribeDataSourceRequest(input) return out, req.Send() } -// DescribeUserWithContext is the same as DescribeUser with the addition of +// DescribeDataSourceWithContext is the same as DescribeDataSource 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 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) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) { - req, out := c.DescribeUserRequest(input) +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 opGetDashboardEmbedUrl = "GetDashboardEmbedUrl" +const opDescribeDataSourcePermissions = "DescribeDataSourcePermissions" -// GetDashboardEmbedUrlRequest generates a "aws/request.Request" representing the -// client's request for the GetDashboardEmbedUrl operation. The "output" return +// 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 GetDashboardEmbedUrl for more information on using the GetDashboardEmbedUrl +// 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 GetDashboardEmbedUrlRequest method. -// req, resp := client.GetDashboardEmbedUrlRequest(params) +// // 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/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/DescribeDataSourcePermissions +func (c *QuickSight) DescribeDataSourcePermissionsRequest(input *DescribeDataSourcePermissionsInput) (req *request.Request, output *DescribeDataSourcePermissionsOutput) { op := &request.Operation{ - Name: opGetDashboardEmbedUrl, + Name: opDescribeDataSourcePermissions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/embed-url", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", } if input == nil { - input = &GetDashboardEmbedUrlInput{} + input = &DescribeDataSourcePermissionsInput{} } - output = &GetDashboardEmbedUrlOutput{} + output = &DescribeDataSourcePermissionsOutput{} req = c.newRequest(op, input, output) return } -// GetDashboardEmbedUrl API operation for Amazon QuickSight. -// -// Generates a URL and authorization code that you can embed in your web server -// code. Before you use this command, make sure that you have configured the -// dashboards and permissions. -// -// Currently, you can use GetDashboardEmbedURL only from the server, not from -// the user's browser. The following rules apply to the combination of URL and -// authorization code: -// -// * They must be used together. -// -// * They can be used one time only. -// -// * They are valid for 5 minutes after you run this command. -// -// * The resulting user session is valid for 10 hours. +// DescribeDataSourcePermissions API operation for Amazon QuickSight. // -// For more information, see Embedding Amazon QuickSight Dashboards (https://docs.aws.amazon.com/quicksight/latest/user/embedding-dashboards.html) -// in the Amazon QuickSight User Guide or Embedding Amazon QuickSight Dashboards -// (https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-dev-embedded-dashboards.html) -// in the Amazon QuickSight API Reference. +// Describes the resource permissions for a data source. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 DescribeDataSourcePermissions for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -3406,123 +3653,99 @@ func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInpu // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceExistsException -// The resource specified already exists. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * DomainNotWhitelistedException -// The domain specified isn't on the allow list. All domains for embedded dashboards -// must be added to the approved list by an Amazon QuickSight admin. -// -// * UserNotFoundException -// The user with the provided name isn't 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. -// -// * IdentityTypeNotSupportedException -// The identity type specified isn't supported. Supported identity types include -// IAM and QUICKSIGHT. -// -// * SessionLifetimeInMinutesInvalidException -// The number of minutes specified for the lifetime of a session isn't valid. -// The session lifetime must be 15-600 minutes. -// -// * 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. +// * ResourceNotFoundException +// One or more resources can't be found. // // * 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) +// 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() } -// GetDashboardEmbedUrlWithContext is the same as GetDashboardEmbedUrl with the addition of +// DescribeDataSourcePermissionsWithContext is the same as DescribeDataSourcePermissions 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 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) GetDashboardEmbedUrlWithContext(ctx aws.Context, input *GetDashboardEmbedUrlInput, opts ...request.Option) (*GetDashboardEmbedUrlOutput, error) { - req, out := c.GetDashboardEmbedUrlRequest(input) +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 opListDashboardVersions = "ListDashboardVersions" +const opDescribeGroup = "DescribeGroup" -// ListDashboardVersionsRequest generates a "aws/request.Request" representing the -// client's request for the ListDashboardVersions operation. The "output" return +// 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 ListDashboardVersions for more information on using the ListDashboardVersions +// 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 ListDashboardVersionsRequest method. -// req, resp := client.ListDashboardVersionsRequest(params) +// // 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/ListDashboardVersions -func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsInput) (req *request.Request, output *ListDashboardVersionsOutput) { +// 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: opListDashboardVersions, + Name: opDescribeGroup, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", } if input == nil { - input = &ListDashboardVersionsInput{} + input = &DescribeGroupInput{} } - output = &ListDashboardVersionsOutput{} + output = &DescribeGroupOutput{} req = c.newRequest(op, input, output) return } -// ListDashboardVersions API operation for Amazon QuickSight. +// DescribeGroup API operation for Amazon QuickSight. // -// Lists all the versions of the dashboards in the QuickSight subscription. +// Returns an Amazon QuickSight group's description and Amazon Resource Name +// (ARN). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListDashboardVersions for usage and error information. +// API operation DescribeGroup for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // @@ -3532,302 +3755,188 @@ func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsIn // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. -// -// * 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. +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * 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) +// * 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() } -// ListDashboardVersionsWithContext is the same as ListDashboardVersions with the addition of +// DescribeGroupWithContext is the same as DescribeGroup 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. +// 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) ListDashboardVersionsWithContext(ctx aws.Context, input *ListDashboardVersionsInput, opts ...request.Option) (*ListDashboardVersionsOutput, error) { - req, out := c.ListDashboardVersionsRequest(input) +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() } -// 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" +const opDescribeIAMPolicyAssignment = "DescribeIAMPolicyAssignment" -// ListDashboardsRequest generates a "aws/request.Request" representing the -// client's request for the ListDashboards operation. The "output" return +// 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 ListDashboards for more information on using the ListDashboards +// 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 ListDashboardsRequest method. -// req, resp := client.ListDashboardsRequest(params) +// // 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/ListDashboards -func (c *QuickSight) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { +// 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: opListDashboards, + Name: opDescribeIAMPolicyAssignment, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", } if input == nil { - input = &ListDashboardsInput{} + input = &DescribeIAMPolicyAssignmentInput{} } - output = &ListDashboardsOutput{} + output = &DescribeIAMPolicyAssignmentOutput{} req = c.newRequest(op, input, output) return } -// ListDashboards API operation for Amazon QuickSight. +// DescribeIAMPolicyAssignment API operation for Amazon QuickSight. // -// Lists dashboards in an AWS account. +// Describes an existing IAM policy assignment, as specified by the assignment +// name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListDashboards for usage and error information. +// API operation DescribeIAMPolicyAssignment for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // // * InvalidNextTokenException // The NextToken value isn't valid. // -// * 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. -// // * 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) +// 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() } -// ListDashboardsWithContext is the same as ListDashboards with the addition of +// DescribeIAMPolicyAssignmentWithContext is the same as DescribeIAMPolicyAssignment 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. +// 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) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) { - req, out := c.ListDashboardsRequest(input) +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() } -// 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" +const opDescribeIngestion = "DescribeIngestion" -// ListDataSetsRequest generates a "aws/request.Request" representing the -// client's request for the ListDataSets operation. The "output" return +// 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 ListDataSets for more information on using the ListDataSets +// 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 ListDataSetsRequest method. -// req, resp := client.ListDataSetsRequest(params) +// // 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/ListDataSets -func (c *QuickSight) ListDataSetsRequest(input *ListDataSetsInput) (req *request.Request, output *ListDataSetsOutput) { +// 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: opListDataSets, + Name: opDescribeIngestion, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", } if input == nil { - input = &ListDataSetsInput{} + input = &DescribeIngestionInput{} } - output = &ListDataSetsOutput{} + output = &DescribeIngestionOutput{} req = c.newRequest(op, input, output) return } -// ListDataSets API operation for Amazon QuickSight. -// -// Lists all of the datasets belonging to the current AWS account in an AWS -// Region. +// DescribeIngestion API operation for Amazon QuickSight. // -// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/*. +// 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 ListDataSets for usage and error information. +// API operation DescribeIngestion for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -3840,147 +3949,92 @@ func (c *QuickSight) ListDataSetsRequest(input *ListDataSetsInput) (req *request // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * ResourceExistsException +// The resource specified already exists. // // * 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) +// 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() } -// ListDataSetsWithContext is the same as ListDataSets with the addition of +// DescribeIngestionWithContext is the same as DescribeIngestion 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. +// 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) ListDataSetsWithContext(ctx aws.Context, input *ListDataSetsInput, opts ...request.Option) (*ListDataSetsOutput, error) { - req, out := c.ListDataSetsRequest(input) +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() } -// 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. +const opDescribeNamespace = "DescribeNamespace" + +// DescribeNamespaceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNamespace operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListDataSets method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. +// See DescribeNamespace for more information on using the DescribeNamespace +// API call, and error handling. // -// // 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 -// }) +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -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) +// // Example sending a request using the DescribeNamespaceRequest method. +// req, resp := client.DescribeNamespaceRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeNamespace +func (c *QuickSight) DescribeNamespaceRequest(input *DescribeNamespaceInput) (req *request.Request, output *DescribeNamespaceOutput) { op := &request.Operation{ - Name: opListDataSources, + Name: opDescribeNamespace, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sources", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}", } if input == nil { - input = &ListDataSourcesInput{} + input = &DescribeNamespaceInput{} } - output = &ListDataSourcesOutput{} + output = &DescribeNamespaceOutput{} req = c.newRequest(op, input, output) return } -// ListDataSources API operation for Amazon QuickSight. +// DescribeNamespace API operation for Amazon QuickSight. // -// Lists data sources in current AWS Region that belong to this AWS account. +// Describes the current namespace. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation DescribeNamespace for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -3993,143 +4047,97 @@ func (c *QuickSight) ListDataSourcesRequest(input *ListDataSourcesInput) (req *r // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. -// // * 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) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeNamespace +func (c *QuickSight) DescribeNamespace(input *DescribeNamespaceInput) (*DescribeNamespaceOutput, error) { + req, out := c.DescribeNamespaceRequest(input) return out, req.Send() } -// ListDataSourcesWithContext is the same as ListDataSources with the addition of +// DescribeNamespaceWithContext is the same as DescribeNamespace 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. +// See DescribeNamespace for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) DescribeNamespaceWithContext(ctx aws.Context, input *DescribeNamespaceInput, opts ...request.Option) (*DescribeNamespaceOutput, error) { + req, out := c.DescribeNamespaceRequest(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" +const opDescribeTemplate = "DescribeTemplate" -// ListGroupMembershipsRequest generates a "aws/request.Request" representing the -// client's request for the ListGroupMemberships operation. The "output" return +// 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 ListGroupMemberships for more information on using the ListGroupMemberships +// 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 ListGroupMembershipsRequest method. -// req, resp := client.ListGroupMembershipsRequest(params) +// // 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/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/DescribeTemplate +func (c *QuickSight) DescribeTemplateRequest(input *DescribeTemplateInput) (req *request.Request, output *DescribeTemplateOutput) { op := &request.Operation{ - Name: opListGroupMemberships, + Name: opDescribeTemplate, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", } if input == nil { - input = &ListGroupMembershipsInput{} + input = &DescribeTemplateInput{} } - output = &ListGroupMembershipsOutput{} + output = &DescribeTemplateOutput{} req = c.newRequest(op, input, output) return } -// ListGroupMemberships API operation for Amazon QuickSight. +// DescribeTemplate API operation for Amazon QuickSight. // -// Lists member users in a group. +// Describes a template's 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 Amazon QuickSight's -// API operation ListGroupMemberships for usage and error information. +// API operation DescribeTemplate for usage and error information. // // Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// // * AccessDeniedException // You don't have access to this item. The provided credentials couldn't be // validated. You might not be authorized to carry out the request. Make sure @@ -4137,8 +4145,8 @@ func (c *QuickSight) ListGroupMembershipsRequest(input *ListGroupMembershipsInpu // your policies have the correct permissions, and that you are using the correct // access keys. // -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. +// * ResourceExistsException +// The resource specified already exists. // // * ResourceNotFoundException // One or more resources can't be found. @@ -4146,296 +4154,280 @@ func (c *QuickSight) ListGroupMembershipsRequest(input *ListGroupMembershipsInpu // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. // -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * 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. // // * InternalFailureException // An internal failure occurred. // -// * 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/DescribeTemplate +func (c *QuickSight) DescribeTemplate(input *DescribeTemplateInput) (*DescribeTemplateOutput, error) { + req, out := c.DescribeTemplateRequest(input) return out, req.Send() } -// ListGroupMembershipsWithContext is the same as ListGroupMemberships with the addition of +// DescribeTemplateWithContext is the same as DescribeTemplate 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 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) ListGroupMembershipsWithContext(ctx aws.Context, input *ListGroupMembershipsInput, opts ...request.Option) (*ListGroupMembershipsOutput, error) { - req, out := c.ListGroupMembershipsRequest(input) +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 opListGroups = "ListGroups" +const opDescribeTemplateAlias = "DescribeTemplateAlias" -// ListGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListGroups operation. The "output" return +// 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 ListGroups for more information on using the ListGroups +// 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 ListGroupsRequest method. -// req, resp := client.ListGroupsRequest(params) +// // 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/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/DescribeTemplateAlias +func (c *QuickSight) DescribeTemplateAliasRequest(input *DescribeTemplateAliasInput) (req *request.Request, output *DescribeTemplateAliasOutput) { op := &request.Operation{ - Name: opListGroups, + Name: opDescribeTemplateAlias, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", } if input == nil { - input = &ListGroupsInput{} + input = &DescribeTemplateAliasInput{} } - output = &ListGroupsOutput{} + output = &DescribeTemplateAliasOutput{} req = c.newRequest(op, input, output) return } -// ListGroups API operation for Amazon QuickSight. +// DescribeTemplateAlias API operation for Amazon QuickSight. // -// Lists all user groups in Amazon QuickSight. +// Describes the template alias for a 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 ListGroups for usage and error information. +// API operation DescribeTemplateAlias for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. -// -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * ResourceNotFoundException +// One or more resources can't be found. // -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * 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. // // * InternalFailureException // An internal failure occurred. // -// * 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() +// 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() } -// ListGroupsWithContext is the same as ListGroups with the addition of +// DescribeTemplateAliasWithContext is the same as DescribeTemplateAlias 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 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) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { - req, out := c.ListGroupsRequest(input) +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 opListIAMPolicyAssignments = "ListIAMPolicyAssignments" +const opDescribeTemplatePermissions = "DescribeTemplatePermissions" -// ListIAMPolicyAssignmentsRequest generates a "aws/request.Request" representing the -// client's request for the ListIAMPolicyAssignments operation. The "output" return +// 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 ListIAMPolicyAssignments for more information on using the ListIAMPolicyAssignments +// 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 ListIAMPolicyAssignmentsRequest method. -// req, resp := client.ListIAMPolicyAssignmentsRequest(params) +// // 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/ListIAMPolicyAssignments -func (c *QuickSight) ListIAMPolicyAssignmentsRequest(input *ListIAMPolicyAssignmentsInput) (req *request.Request, output *ListIAMPolicyAssignmentsOutput) { +// 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: opListIAMPolicyAssignments, + Name: opDescribeTemplatePermissions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", } if input == nil { - input = &ListIAMPolicyAssignmentsInput{} + input = &DescribeTemplatePermissionsInput{} } - output = &ListIAMPolicyAssignmentsOutput{} + output = &DescribeTemplatePermissionsOutput{} req = c.newRequest(op, input, output) return } -// ListIAMPolicyAssignments API operation for Amazon QuickSight. +// DescribeTemplatePermissions API operation for Amazon QuickSight. // -// Lists IAM policy assignments in the current Amazon QuickSight account. +// Describes read and write permissions on a 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 ListIAMPolicyAssignments for usage and error information. +// API operation DescribeTemplatePermissions for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. +// * ThrottlingException +// Access is throttled. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. -// -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * 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. // // * 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) +// 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() } -// ListIAMPolicyAssignmentsWithContext is the same as ListIAMPolicyAssignments with the addition of +// DescribeTemplatePermissionsWithContext is the same as DescribeTemplatePermissions 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. +// 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) ListIAMPolicyAssignmentsWithContext(ctx aws.Context, input *ListIAMPolicyAssignmentsInput, opts ...request.Option) (*ListIAMPolicyAssignmentsOutput, error) { - req, out := c.ListIAMPolicyAssignmentsRequest(input) +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 opListIAMPolicyAssignmentsForUser = "ListIAMPolicyAssignmentsForUser" +const opDescribeTheme = "DescribeTheme" -// ListIAMPolicyAssignmentsForUserRequest generates a "aws/request.Request" representing the -// client's request for the ListIAMPolicyAssignmentsForUser operation. The "output" return +// DescribeThemeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTheme operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See DescribeTheme for more information on using the DescribeTheme // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the DescribeThemeRequest method. +// req, resp := client.DescribeThemeRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTheme +func (c *QuickSight) DescribeThemeRequest(input *DescribeThemeInput) (req *request.Request, output *DescribeThemeOutput) { op := &request.Operation{ - Name: opListIAMPolicyAssignmentsForUser, + Name: opDescribeTheme, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/iam-policy-assignments", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}", } if input == nil { - input = &ListIAMPolicyAssignmentsForUserInput{} + input = &DescribeThemeInput{} } - output = &ListIAMPolicyAssignmentsForUserOutput{} + output = &DescribeThemeOutput{} req = c.newRequest(op, input, output) return } -// ListIAMPolicyAssignmentsForUser API operation for Amazon QuickSight. +// DescribeTheme API operation for Amazon QuickSight. // -// Lists all the IAM policy assignments, including the Amazon Resource Names -// (ARNs) for the IAM policies assigned to the specified user and group or groups -// that the user belongs to. +// Describes a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation DescribeTheme for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -4457,101 +4449,93 @@ func (c *QuickSight) ListIAMPolicyAssignmentsForUserRequest(input *ListIAMPolicy // * ThrottlingException // Access is throttled. // -// * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// * 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. // // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTheme +func (c *QuickSight) DescribeTheme(input *DescribeThemeInput) (*DescribeThemeOutput, error) { + req, out := c.DescribeThemeRequest(input) return out, req.Send() } -// ListIAMPolicyAssignmentsForUserWithContext is the same as ListIAMPolicyAssignmentsForUser with the addition of +// DescribeThemeWithContext is the same as DescribeTheme 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. +// See DescribeTheme for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) DescribeThemeWithContext(ctx aws.Context, input *DescribeThemeInput, opts ...request.Option) (*DescribeThemeOutput, error) { + req, out := c.DescribeThemeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListIngestions = "ListIngestions" +const opDescribeThemeAlias = "DescribeThemeAlias" -// ListIngestionsRequest generates a "aws/request.Request" representing the -// client's request for the ListIngestions operation. The "output" return +// DescribeThemeAliasRequest generates a "aws/request.Request" representing the +// client's request for the DescribeThemeAlias operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See DescribeThemeAlias for more information on using the DescribeThemeAlias // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the DescribeThemeAliasRequest method. +// req, resp := client.DescribeThemeAliasRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeThemeAlias +func (c *QuickSight) DescribeThemeAliasRequest(input *DescribeThemeAliasInput) (req *request.Request, output *DescribeThemeAliasOutput) { op := &request.Operation{ - Name: opListIngestions, + Name: opDescribeThemeAlias, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}", } if input == nil { - input = &ListIngestionsInput{} + input = &DescribeThemeAliasInput{} } - output = &ListIngestionsOutput{} + output = &DescribeThemeAliasOutput{} req = c.newRequest(op, input, output) return } -// ListIngestions API operation for Amazon QuickSight. +// DescribeThemeAlias API operation for Amazon QuickSight. // -// Lists the history of SPICE ingestions for a dataset. +// Describes the alias for a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation DescribeThemeAlias for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. @@ -4562,141 +4546,89 @@ func (c *QuickSight) ListIngestionsRequest(input *ListIngestionsInput) (req *req // * ThrottlingException // Access is throttled. // -// * ResourceExistsException -// The resource specified already exists. -// -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * 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. // // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeThemeAlias +func (c *QuickSight) DescribeThemeAlias(input *DescribeThemeAliasInput) (*DescribeThemeAliasOutput, error) { + req, out := c.DescribeThemeAliasRequest(input) return out, req.Send() } -// ListIngestionsWithContext is the same as ListIngestions with the addition of +// DescribeThemeAliasWithContext is the same as DescribeThemeAlias 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. +// See DescribeThemeAlias for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) DescribeThemeAliasWithContext(ctx aws.Context, input *DescribeThemeAliasInput, opts ...request.Option) (*DescribeThemeAliasOutput, error) { + req, out := c.DescribeThemeAliasRequest(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" +const opDescribeThemePermissions = "DescribeThemePermissions" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// DescribeThemePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeThemePermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 DescribeThemePermissions for more information on using the DescribeThemePermissions // API call, and error handling. // // This method is useful when you want to 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 DescribeThemePermissionsRequest method. +// req, resp := client.DescribeThemePermissionsRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeThemePermissions +func (c *QuickSight) DescribeThemePermissionsRequest(input *DescribeThemePermissionsInput) (req *request.Request, output *DescribeThemePermissionsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opDescribeThemePermissions, HTTPMethod: "GET", - HTTPPath: "/resources/{ResourceArn}/tags", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/permissions", } if input == nil { - input = &ListTagsForResourceInput{} + input = &DescribeThemePermissionsInput{} } - output = &ListTagsForResourceOutput{} + output = &DescribeThemePermissionsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Amazon QuickSight. +// DescribeThemePermissions API operation for Amazon QuickSight. // -// Lists the tags assigned to a resource. +// Describes the read and write permissions for a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation DescribeThemePermissions for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -4715,252 +4647,246 @@ func (c *QuickSight) ListTagsForResourceRequest(input *ListTagsForResourceInput) // * ThrottlingException // Access is throttled. // +// * 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. +// // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeThemePermissions +func (c *QuickSight) DescribeThemePermissions(input *DescribeThemePermissionsInput) (*DescribeThemePermissionsOutput, error) { + req, out := c.DescribeThemePermissionsRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// DescribeThemePermissionsWithContext is the same as DescribeThemePermissions 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 DescribeThemePermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) DescribeThemePermissionsWithContext(ctx aws.Context, input *DescribeThemePermissionsInput, opts ...request.Option) (*DescribeThemePermissionsOutput, error) { + req, out := c.DescribeThemePermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListTemplateAliases = "ListTemplateAliases" +const opDescribeUser = "DescribeUser" -// ListTemplateAliasesRequest generates a "aws/request.Request" representing the -// client's request for the ListTemplateAliases operation. The "output" return +// 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 ListTemplateAliases for more information on using the ListTemplateAliases +// 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 ListTemplateAliasesRequest method. -// req, resp := client.ListTemplateAliasesRequest(params) +// // 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/ListTemplateAliases -func (c *QuickSight) ListTemplateAliasesRequest(input *ListTemplateAliasesInput) (req *request.Request, output *ListTemplateAliasesOutput) { +// 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: opListTemplateAliases, + Name: opDescribeUser, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", } if input == nil { - input = &ListTemplateAliasesInput{} + input = &DescribeUserInput{} } - output = &ListTemplateAliasesOutput{} + output = &DescribeUserOutput{} req = c.newRequest(op, input, output) return } -// ListTemplateAliases API operation for Amazon QuickSight. +// DescribeUser API operation for Amazon QuickSight. // -// Lists all the aliases of a template. +// Returns information about a user, given the user name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListTemplateAliases for usage and error information. +// API operation DescribeUser for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // -// * 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. +// * ThrottlingException +// Access is throttled. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * 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) +// * 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() } -// ListTemplateAliasesWithContext is the same as ListTemplateAliases with the addition of +// DescribeUserWithContext is the same as DescribeUser 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. +// 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) ListTemplateAliasesWithContext(ctx aws.Context, input *ListTemplateAliasesInput, opts ...request.Option) (*ListTemplateAliasesOutput, error) { - req, out := c.ListTemplateAliasesRequest(input) +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() } -// 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" +const opGetDashboardEmbedUrl = "GetDashboardEmbedUrl" -// ListTemplateVersionsRequest generates a "aws/request.Request" representing the -// client's request for the ListTemplateVersions operation. The "output" return +// 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 ListTemplateVersions for more information on using the ListTemplateVersions +// 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 ListTemplateVersionsRequest method. -// req, resp := client.ListTemplateVersionsRequest(params) +// // 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/ListTemplateVersions -func (c *QuickSight) ListTemplateVersionsRequest(input *ListTemplateVersionsInput) (req *request.Request, output *ListTemplateVersionsOutput) { +// 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: opListTemplateVersions, + Name: opGetDashboardEmbedUrl, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/versions", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/embed-url", } if input == nil { - input = &ListTemplateVersionsInput{} + input = &GetDashboardEmbedUrlInput{} } - output = &ListTemplateVersionsOutput{} + output = &GetDashboardEmbedUrlOutput{} req = c.newRequest(op, input, output) return } -// ListTemplateVersions API operation for Amazon QuickSight. +// GetDashboardEmbedUrl API operation for Amazon QuickSight. // -// Lists all the versions of the templates in the current Amazon QuickSight -// account. +// Generates a URL and authorization code that you can embed in your web server +// code. Before you use this command, make sure that you have configured the +// dashboards and permissions. +// +// Currently, you can use GetDashboardEmbedURL only from the server, not from +// the user's browser. The following rules apply to the combination of URL and +// authorization code: +// +// * They must be used together. +// +// * They can be used one time only. +// +// * They are valid for 5 minutes after you run this command. +// +// * The resulting user session is valid for 10 hours. +// +// For more information, see Embedding Amazon QuickSight Dashboards (https://docs.aws.amazon.com/quicksight/latest/user/embedding-dashboards.html) +// in the Amazon QuickSight User Guide or Embedding Amazon QuickSight Dashboards +// (https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-dev-embedded-dashboards.html) +// in the Amazon QuickSight API Reference. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation GetDashboardEmbedUrl for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceExistsException +// The resource specified already exists. +// // * ResourceNotFoundException // One or more resources can't be found. // -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * ThrottlingException +// Access is throttled. +// +// * DomainNotWhitelistedException +// The domain specified isn't on the allow list. All domains for embedded dashboards +// must be added to the approved list by an Amazon QuickSight admin. +// +// * UserNotFoundException +// The user with the provided name isn't 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. +// +// * IdentityTypeNotSupportedException +// The identity type specified isn't supported. Supported identity types include +// IAM and QUICKSIGHT. +// +// * SessionLifetimeInMinutesInvalidException +// The number of minutes specified for the lifetime of a session isn't valid. +// The session lifetime must be 15-600 minutes. // // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight @@ -4971,111 +4897,173 @@ func (c *QuickSight) ListTemplateVersionsRequest(input *ListTemplateVersionsInpu // * 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) +// 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() } -// ListTemplateVersionsWithContext is the same as ListTemplateVersions with the addition of +// GetDashboardEmbedUrlWithContext is the same as GetDashboardEmbedUrl 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. +// 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) ListTemplateVersionsWithContext(ctx aws.Context, input *ListTemplateVersionsInput, opts ...request.Option) (*ListTemplateVersionsOutput, error) { - req, out := c.ListTemplateVersionsRequest(input) +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() } -// 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. +const opGetSessionEmbedUrl = "GetSessionEmbedUrl" + +// GetSessionEmbedUrlRequest generates a "aws/request.Request" representing the +// client's request for the GetSessionEmbedUrl operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListTemplateVersions method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. +// See GetSessionEmbedUrl for more information on using the GetSessionEmbedUrl +// API call, and error handling. // -// // 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 -// }) +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -func (c *QuickSight) ListTemplateVersionsPages(input *ListTemplateVersionsInput, fn func(*ListTemplateVersionsOutput, bool) bool) error { - return c.ListTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +// +// // Example sending a request using the GetSessionEmbedUrlRequest method. +// req, resp := client.GetSessionEmbedUrlRequest(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/GetSessionEmbedUrl +func (c *QuickSight) GetSessionEmbedUrlRequest(input *GetSessionEmbedUrlInput) (req *request.Request, output *GetSessionEmbedUrlOutput) { + op := &request.Operation{ + Name: opGetSessionEmbedUrl, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/session-embed-url", + } + + if input == nil { + input = &GetSessionEmbedUrlInput{} + } + + output = &GetSessionEmbedUrlOutput{} + req = c.newRequest(op, input, output) + return } -// ListTemplateVersionsPagesWithContext same as ListTemplateVersionsPages except -// it takes a Context and allows setting request options on the pages. +// GetSessionEmbedUrl API operation for Amazon QuickSight. // -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the 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 - } - } +// Generates a session URL and authorization code that you can embed in your +// web server code. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 GetSessionEmbedUrl for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * UserNotFoundException +// The user with the provided name isn't 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. +// +// * SessionLifetimeInMinutesInvalidException +// The number of minutes specified for the lifetime of a session isn't valid. +// The session lifetime must be 15-600 minutes. +// +// * 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. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetSessionEmbedUrl +func (c *QuickSight) GetSessionEmbedUrl(input *GetSessionEmbedUrlInput) (*GetSessionEmbedUrlOutput, error) { + req, out := c.GetSessionEmbedUrlRequest(input) + return out, req.Send() +} - return p.Err() +// GetSessionEmbedUrlWithContext is the same as GetSessionEmbedUrl with the addition of +// the ability to pass a context and additional request options. +// +// See GetSessionEmbedUrl for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) GetSessionEmbedUrlWithContext(ctx aws.Context, input *GetSessionEmbedUrlInput, opts ...request.Option) (*GetSessionEmbedUrlOutput, error) { + req, out := c.GetSessionEmbedUrlRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -const opListTemplates = "ListTemplates" +const opListDashboardVersions = "ListDashboardVersions" -// ListTemplatesRequest generates a "aws/request.Request" representing the -// client's request for the ListTemplates operation. The "output" return +// 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 ListTemplates for more information on using the ListTemplates +// 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 ListTemplatesRequest method. -// req, resp := client.ListTemplatesRequest(params) +// // 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/ListTemplates -func (c *QuickSight) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) { +// 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: opListTemplates, + Name: opListDashboardVersions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -5085,35 +5073,35 @@ func (c *QuickSight) ListTemplatesRequest(input *ListTemplatesInput) (req *reque } if input == nil { - input = &ListTemplatesInput{} + input = &ListDashboardVersionsInput{} } - output = &ListTemplatesOutput{} + output = &ListDashboardVersionsOutput{} req = c.newRequest(op, input, output) return } -// ListTemplates API operation for Amazon QuickSight. +// ListDashboardVersions API operation for Amazon QuickSight. // -// Lists all the templates in the current Amazon QuickSight account. +// Lists all the versions of the dashboards in the QuickSight subscription. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation ListDashboardVersions for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. -// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * InvalidNextTokenException // The NextToken value isn't valid. // @@ -5126,65 +5114,65 @@ func (c *QuickSight) ListTemplatesRequest(input *ListTemplatesInput) (req *reque // * 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) +// 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() } -// ListTemplatesWithContext is the same as ListTemplates with the addition of +// ListDashboardVersionsWithContext is the same as ListDashboardVersions 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. +// 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) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) { - req, out := c.ListTemplatesRequest(input) +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() } -// ListTemplatesPages iterates over the pages of a ListTemplates operation, +// 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 ListTemplates method for more information on how to use this operation. +// 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 ListTemplates operation. +// // Example iterating over at most 3 pages of a ListDashboardVersions operation. // pageNum := 0 -// err := client.ListTemplatesPages(params, -// func(page *quicksight.ListTemplatesOutput, lastPage bool) bool { +// err := client.ListDashboardVersionsPages(params, +// func(page *quicksight.ListDashboardVersionsOutput, 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) +func (c *QuickSight) ListDashboardVersionsPages(input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool) error { + return c.ListDashboardVersionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListTemplatesPagesWithContext same as ListTemplatesPages except +// 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) ListTemplatesPagesWithContext(ctx aws.Context, input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool, opts ...request.Option) error { +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 *ListTemplatesInput + var inCpy *ListDashboardVersionsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListTemplatesRequest(inCpy) + req, _ := c.ListDashboardVersionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5192,7 +5180,7 @@ func (c *QuickSight) ListTemplatesPagesWithContext(ctx aws.Context, input *ListT } for p.Next() { - if !fn(p.Page().(*ListTemplatesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDashboardVersionsOutput), !p.HasNextPage()) { break } } @@ -5200,157 +5188,216 @@ func (c *QuickSight) ListTemplatesPagesWithContext(ctx aws.Context, input *ListT return p.Err() } -const opListUserGroups = "ListUserGroups" +const opListDashboards = "ListDashboards" -// ListUserGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListUserGroups operation. The "output" return +// 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 ListUserGroups for more information on using the ListUserGroups +// 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 ListUserGroupsRequest method. -// req, resp := client.ListUserGroupsRequest(params) +// // 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/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/ListDashboards +func (c *QuickSight) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { op := &request.Operation{ - Name: opListUserGroups, + Name: opListDashboards, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups", + HTTPPath: "/accounts/{AwsAccountId}/dashboards", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListUserGroupsInput{} + input = &ListDashboardsInput{} } - output = &ListUserGroupsOutput{} + output = &ListDashboardsOutput{} req = c.newRequest(op, input, output) return } -// ListUserGroups API operation for Amazon QuickSight. +// ListDashboards API operation for Amazon QuickSight. // -// Lists the Amazon QuickSight groups that an Amazon QuickSight user is a member -// of. +// Lists dashboards in an AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListUserGroups for usage and error information. +// API operation ListDashboards for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. -// -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * 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. +// // * InternalFailureException // An internal failure occurred. // -// * 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/ListDashboards +func (c *QuickSight) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) { + req, out := c.ListDashboardsRequest(input) return out, req.Send() } -// ListUserGroupsWithContext is the same as ListUserGroups with the addition of +// ListDashboardsWithContext is the same as ListDashboards 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 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) ListUserGroupsWithContext(ctx aws.Context, input *ListUserGroupsInput, opts ...request.Option) (*ListUserGroupsOutput, error) { - req, out := c.ListUserGroupsRequest(input) +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() } -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. +// 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. // -// Use "Send" method on the 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 method for more information on how to use this operation. // -// See ListUsers for more information on using the ListUsers -// API call, and error handling. +// Note: This operation can generate multiple requests to a service. // -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// // 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. // -// // Example sending a request using the ListUsersRequest method. -// req, resp := client.ListUsersRequest(params) +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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/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/ListDataSets +func (c *QuickSight) ListDataSetsRequest(input *ListDataSetsInput) (req *request.Request, output *ListDataSetsOutput) { op := &request.Operation{ - Name: opListUsers, + Name: opListDataSets, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + HTTPPath: "/accounts/{AwsAccountId}/data-sets", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListUsersInput{} + input = &ListDataSetsInput{} } - output = &ListUsersOutput{} + output = &ListDataSetsOutput{} req = c.newRequest(op, input, output) return } -// ListUsers API operation for Amazon QuickSight. +// ListDataSets API operation for Amazon QuickSight. // -// Returns a list of all of the Amazon QuickSight users belonging to this account. +// Lists all of the datasets belonging to the current AWS account in an AWS +// Region. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id: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 ListUsers for usage and error information. +// API operation ListDataSets for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -5363,9 +5410,6 @@ func (c *QuickSight) ListUsersRequest(input *ListUsersInput) (req *request.Reque // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // @@ -5375,85 +5419,138 @@ func (c *QuickSight) ListUsersRequest(input *ListUsersInput) (req *request.Reque // * InternalFailureException // An internal failure occurred. // -// * 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/ListDataSets +func (c *QuickSight) ListDataSets(input *ListDataSetsInput) (*ListDataSetsOutput, error) { + req, out := c.ListDataSetsRequest(input) return out, req.Send() } -// ListUsersWithContext is the same as ListUsers with the addition of +// ListDataSetsWithContext is the same as ListDataSets 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 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) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { - req, out := c.ListUsersRequest(input) +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() } -const opRegisterUser = "RegisterUser" +// 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) +} -// RegisterUserRequest generates a "aws/request.Request" representing the -// client's request for the RegisterUser operation. The "output" return +// 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 RegisterUser for more information on using the RegisterUser +// 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 RegisterUserRequest method. -// req, resp := client.RegisterUserRequest(params) +// // 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/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/ListDataSources +func (c *QuickSight) ListDataSourcesRequest(input *ListDataSourcesInput) (req *request.Request, output *ListDataSourcesOutput) { op := &request.Operation{ - Name: opRegisterUser, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + 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 = &RegisterUserInput{} + input = &ListDataSourcesInput{} } - output = &RegisterUserOutput{} + output = &ListDataSourcesOutput{} req = c.newRequest(op, input, output) return } -// RegisterUser API operation for Amazon QuickSight. +// ListDataSources 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. +// Lists data sources in current AWS Region that belong to this AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation RegisterUser for usage and error information. +// API operation ListDataSources for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -5466,189 +5563,74 @@ func (c *QuickSight) RegisterUserRequest(input *RegisterUserInput) (req *request // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * LimitExceededException -// A limit is exceeded. -// -// * ResourceExistsException -// The resource specified already exists. -// -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * InvalidNextTokenException +// The NextToken value isn't valid. // // * InternalFailureException // An internal failure occurred. // -// * 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/ListDataSources +func (c *QuickSight) ListDataSources(input *ListDataSourcesInput) (*ListDataSourcesOutput, error) { + req, out := c.ListDataSourcesRequest(input) return out, req.Send() } -// RegisterUserWithContext is the same as RegisterUser with the addition of +// ListDataSourcesWithContext is the same as ListDataSources 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 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) RegisterUserWithContext(ctx aws.Context, input *RegisterUserInput, opts ...request.Option) (*RegisterUserOutput, error) { - req, out := c.RegisterUserRequest(input) +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() } -const opSearchDashboards = "SearchDashboards" - -// SearchDashboardsRequest generates a "aws/request.Request" representing the -// client's request for the SearchDashboards operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See SearchDashboards for more information on using the SearchDashboards -// API call, and error handling. +// 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. // -// This method 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 ListDataSources 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 SearchDashboardsRequest method. -// req, resp := client.SearchDashboardsRequest(params) +// // 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 +// }) // -// 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/SearchDashboards -func (c *QuickSight) SearchDashboardsRequest(input *SearchDashboardsInput) (req *request.Request, output *SearchDashboardsOutput) { - op := &request.Operation{ - Name: opSearchDashboards, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/search/dashboards", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &SearchDashboardsInput{} - } - - output = &SearchDashboardsOutput{} - req = c.newRequest(op, input, output) - return -} - -// SearchDashboards API operation for Amazon QuickSight. -// -// Searchs for dashboards that belong to a user. -// -// Returns awserr.Error for service API and SDK errors. Use runtime 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 SearchDashboards for usage and error information. -// -// Returned Error Types: -// * ThrottlingException -// Access is throttled. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * 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. -// -// * InvalidNextTokenException -// The NextToken value isn't valid. -// -// * InternalFailureException -// An internal failure occurred. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards -func (c *QuickSight) SearchDashboards(input *SearchDashboardsInput) (*SearchDashboardsOutput, error) { - req, out := c.SearchDashboardsRequest(input) - return out, req.Send() -} - -// SearchDashboardsWithContext is the same as SearchDashboards with the addition of -// the ability to pass a context and additional request options. -// -// See SearchDashboards for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the 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) SearchDashboardsWithContext(ctx aws.Context, input *SearchDashboardsInput, opts ...request.Option) (*SearchDashboardsOutput, error) { - req, out := c.SearchDashboardsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// SearchDashboardsPages iterates over the pages of a SearchDashboards operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See SearchDashboards 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 SearchDashboards operation. -// pageNum := 0 -// err := client.SearchDashboardsPages(params, -// func(page *quicksight.SearchDashboardsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *QuickSight) SearchDashboardsPages(input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool) error { - return c.SearchDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// SearchDashboardsPagesWithContext same as SearchDashboardsPages except -// it takes a Context and allows setting request options on the pages. +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) SearchDashboardsPagesWithContext(ctx aws.Context, input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool, opts ...request.Option) error { +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 *SearchDashboardsInput + var inCpy *ListDataSourcesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.SearchDashboardsRequest(inCpy) + req, _ := c.ListDataSourcesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5656,7 +5638,7 @@ func (c *QuickSight) SearchDashboardsPagesWithContext(ctx aws.Context, input *Se } for p.Next() { - if !fn(p.Page().(*SearchDashboardsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDataSourcesOutput), !p.HasNextPage()) { break } } @@ -5664,85 +5646,60 @@ func (c *QuickSight) SearchDashboardsPagesWithContext(ctx aws.Context, input *Se return p.Err() } -const opTagResource = "TagResource" +const opListGroupMemberships = "ListGroupMemberships" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// 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 TagResource for more information on using the TagResource +// 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 TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // 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/TagResource -func (c *QuickSight) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// 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: opTagResource, - HTTPMethod: "POST", - HTTPPath: "/resources/{ResourceArn}/tags", + Name: opListGroupMemberships, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members", } if input == nil { - input = &TagResourceInput{} + input = &ListGroupMembershipsInput{} } - output = &TagResourceOutput{} + output = &ListGroupMembershipsOutput{} req = c.newRequest(op, input, output) return } -// TagResource API operation for Amazon QuickSight. -// -// 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 -// operation 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, and template. -// -// Tagging for QuickSight works in a similar way to tagging for other AWS services, -// except for the following: -// -// * You can't use tags to track AWS costs for QuickSight. This restriction -// is because QuickSight costs are based on users and SPICE capacity, which -// aren't taggable resources. +// ListGroupMemberships API operation for Amazon QuickSight. // -// * QuickSight doesn't currently support the Tag Editor for AWS Resource -// Groups. +// Lists member users in a group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation TagResource for usage and error information. +// API operation ListGroupMemberships for usage and error information. // // Returned Error Types: -// * LimitExceededException -// A limit is exceeded. -// // * AccessDeniedException // You don't have access to this item. The provided credentials couldn't be // validated. You might not be authorized to carry out the request. Make sure @@ -5759,83 +5716,92 @@ func (c *QuickSight) TagResourceRequest(input *TagResourceInput) (req *request.R // * ThrottlingException // Access is throttled. // +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * 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) +// * 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() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListGroupMembershipsWithContext is the same as ListGroupMemberships 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 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) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +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 opUntagResource = "UntagResource" +const opListGroups = "ListGroups" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// 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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // 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/UntagResource -func (c *QuickSight) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// 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: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/resources/{ResourceArn}/tags", + Name: opListGroups, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", } if input == nil { - input = &UntagResourceInput{} + input = &ListGroupsInput{} } - output = &UntagResourceOutput{} + output = &ListGroupsOutput{} req = c.newRequest(op, input, output) return } -// UntagResource API operation for Amazon QuickSight. +// ListGroups API operation for Amazon QuickSight. // -// Removes a tag or tags from a resource. +// Lists all user groups in Amazon QuickSight. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation ListGroups for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -5854,87 +5820,100 @@ func (c *QuickSight) UntagResourceRequest(input *UntagResourceInput) (req *reque // * ThrottlingException // Access is throttled. // +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * 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) +// * 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() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// ListGroupsWithContext is the same as ListGroups 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. +// 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) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +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 opUpdateDashboard = "UpdateDashboard" +const opListIAMPolicyAssignments = "ListIAMPolicyAssignments" -// UpdateDashboardRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDashboard operation. The "output" return +// 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 UpdateDashboard for more information on using the UpdateDashboard +// 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 UpdateDashboardRequest method. -// req, resp := client.UpdateDashboardRequest(params) -// +// // 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/UpdateDashboard -func (c *QuickSight) UpdateDashboardRequest(input *UpdateDashboardInput) (req *request.Request, output *UpdateDashboardOutput) { +// 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: opUpdateDashboard, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + Name: opListIAMPolicyAssignments, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments", } if input == nil { - input = &UpdateDashboardInput{} + input = &ListIAMPolicyAssignmentsInput{} } - output = &UpdateDashboardOutput{} + output = &ListIAMPolicyAssignmentsOutput{} req = c.newRequest(op, input, output) return } -// UpdateDashboard API operation for Amazon QuickSight. +// ListIAMPolicyAssignments API operation for Amazon QuickSight. // -// Updates a dashboard in an AWS account. +// Lists IAM policy assignments in the current Amazon QuickSight account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateDashboard for usage and error information. +// API operation ListIAMPolicyAssignments for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. @@ -5942,398 +5921,358 @@ func (c *QuickSight) UpdateDashboardRequest(input *UpdateDashboardInput) (req *r // * ResourceNotFoundException // One or more resources can't be found. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * LimitExceededException -// A limit is exceeded. +// * ThrottlingException +// Access is throttled. // -// * 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. +// * InvalidNextTokenException +// The NextToken value isn't valid. // // * 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) +// 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() } -// UpdateDashboardWithContext is the same as UpdateDashboard with the addition of +// ListIAMPolicyAssignmentsWithContext is the same as ListIAMPolicyAssignments 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. +// 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) UpdateDashboardWithContext(ctx aws.Context, input *UpdateDashboardInput, opts ...request.Option) (*UpdateDashboardOutput, error) { - req, out := c.UpdateDashboardRequest(input) +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 opUpdateDashboardPermissions = "UpdateDashboardPermissions" +const opListIAMPolicyAssignmentsForUser = "ListIAMPolicyAssignmentsForUser" -// UpdateDashboardPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDashboardPermissions operation. The "output" return +// 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 UpdateDashboardPermissions for more information on using the UpdateDashboardPermissions +// 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 UpdateDashboardPermissionsRequest method. -// req, resp := client.UpdateDashboardPermissionsRequest(params) +// // 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/UpdateDashboardPermissions -func (c *QuickSight) UpdateDashboardPermissionsRequest(input *UpdateDashboardPermissionsInput) (req *request.Request, output *UpdateDashboardPermissionsOutput) { +// 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: opUpdateDashboardPermissions, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", + Name: opListIAMPolicyAssignmentsForUser, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/iam-policy-assignments", } if input == nil { - input = &UpdateDashboardPermissionsInput{} + input = &ListIAMPolicyAssignmentsForUserInput{} } - output = &UpdateDashboardPermissionsOutput{} + output = &ListIAMPolicyAssignmentsForUserOutput{} req = c.newRequest(op, input, output) return } -// UpdateDashboardPermissions API operation for Amazon QuickSight. +// ListIAMPolicyAssignmentsForUser API operation for Amazon QuickSight. // -// Updates read and write permissions on a dashboard. +// Lists all the IAM policy assignments, including the Amazon Resource Names +// (ARNs) for the IAM policies assigned to the specified user and group or groups +// that the user belongs 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 // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateDashboardPermissions for usage and error information. +// API operation ListIAMPolicyAssignmentsForUser for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceExistsException +// The resource specified already exists. +// // * ResourceNotFoundException // One or more resources can't be found. // -// * 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. +// * ThrottlingException +// Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * ConcurrentUpdatingException +// A resource is already in a state that indicates an action is happening that +// must complete before a new update can be applied. // // * 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) +// 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() } -// UpdateDashboardPermissionsWithContext is the same as UpdateDashboardPermissions with the addition of +// ListIAMPolicyAssignmentsForUserWithContext is the same as ListIAMPolicyAssignmentsForUser 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. +// 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) UpdateDashboardPermissionsWithContext(ctx aws.Context, input *UpdateDashboardPermissionsInput, opts ...request.Option) (*UpdateDashboardPermissionsOutput, error) { - req, out := c.UpdateDashboardPermissionsRequest(input) +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 opUpdateDashboardPublishedVersion = "UpdateDashboardPublishedVersion" +const opListIngestions = "ListIngestions" -// UpdateDashboardPublishedVersionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDashboardPublishedVersion operation. The "output" return +// 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 UpdateDashboardPublishedVersion for more information on using the UpdateDashboardPublishedVersion +// 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 UpdateDashboardPublishedVersionRequest method. -// req, resp := client.UpdateDashboardPublishedVersionRequest(params) +// // 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/UpdateDashboardPublishedVersion -func (c *QuickSight) UpdateDashboardPublishedVersionRequest(input *UpdateDashboardPublishedVersionInput) (req *request.Request, output *UpdateDashboardPublishedVersionOutput) { +// 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: opUpdateDashboardPublishedVersion, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions/{VersionNumber}", + 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 = &UpdateDashboardPublishedVersionInput{} + input = &ListIngestionsInput{} } - output = &UpdateDashboardPublishedVersionOutput{} + output = &ListIngestionsOutput{} req = c.newRequest(op, input, output) return } -// UpdateDashboardPublishedVersion API operation for Amazon QuickSight. +// ListIngestions API operation for Amazon QuickSight. // -// Updates the published version of a dashboard. +// 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 UpdateDashboardPublishedVersion for usage and error information. +// API operation ListIngestions for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * ResourceNotFoundException -// One or more resources can't be found. +// * ResourceExistsException +// The resource specified already exists. // -// * 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. +// * InvalidNextTokenException +// The NextToken value isn't valid. // // * 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) +// 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() } -// UpdateDashboardPublishedVersionWithContext is the same as UpdateDashboardPublishedVersion with the addition of +// ListIngestionsWithContext is the same as ListIngestions 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. +// 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) UpdateDashboardPublishedVersionWithContext(ctx aws.Context, input *UpdateDashboardPublishedVersionInput, opts ...request.Option) (*UpdateDashboardPublishedVersionOutput, error) { - req, out := c.UpdateDashboardPublishedVersionRequest(input) +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() } -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. +// 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. // -// // Example sending a request using the UpdateDataSetRequest method. -// req, resp := client.UpdateDataSetRequest(params) +// Note: This operation can generate multiple requests to a service. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// // 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 +// }) // -// 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{} - } +func (c *QuickSight) ListIngestionsPages(input *ListIngestionsInput, fn func(*ListIngestionsOutput, bool) bool) error { + return c.ListIngestionsPagesWithContext(aws.BackgroundContext(), input, fn) +} - output = &UpdateDataSetOutput{} - req = c.newRequest(op, input, output) - return -} - -// UpdateDataSet API operation for Amazon QuickSight. -// -// Updates 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 UpdateDataSet for usage and error information. -// -// Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. -// -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * LimitExceededException -// A limit is exceeded. -// -// * ThrottlingException -// Access is throttled. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// -// * 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. -// -// * 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. +// 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) 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() +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 opUpdateDataSetPermissions = "UpdateDataSetPermissions" +const opListNamespaces = "ListNamespaces" -// UpdateDataSetPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDataSetPermissions operation. The "output" return +// ListNamespacesRequest generates a "aws/request.Request" representing the +// client's request for the ListNamespaces operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See ListNamespaces for more information on using the ListNamespaces // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the ListNamespacesRequest method. +// req, resp := client.ListNamespacesRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListNamespaces +func (c *QuickSight) ListNamespacesRequest(input *ListNamespacesInput) (req *request.Request, output *ListNamespacesOutput) { op := &request.Operation{ - Name: opUpdateDataSetPermissions, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", + Name: opListNamespaces, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateDataSetPermissionsInput{} + input = &ListNamespacesInput{} } - output = &UpdateDataSetPermissionsOutput{} + output = &ListNamespacesOutput{} req = c.newRequest(op, input, output) return } -// UpdateDataSetPermissions API operation for Amazon QuickSight. -// -// Updates the permissions on a dataset. +// ListNamespaces API operation for Amazon QuickSight. // -// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-id. +// Lists the namespaces for the specified AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateDataSetPermissions for usage and error information. +// API operation ListNamespaces for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -6343,9 +6282,6 @@ func (c *QuickSight) UpdateDataSetPermissionsRequest(input *UpdateDataSetPermiss // your policies have the correct permissions, and that you are using the correct // access keys. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // @@ -6355,83 +6291,144 @@ func (c *QuickSight) UpdateDataSetPermissionsRequest(input *UpdateDataSetPermiss // * ThrottlingException // Access is throttled. // +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * 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) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListNamespaces +func (c *QuickSight) ListNamespaces(input *ListNamespacesInput) (*ListNamespacesOutput, error) { + req, out := c.ListNamespacesRequest(input) return out, req.Send() } -// UpdateDataSetPermissionsWithContext is the same as UpdateDataSetPermissions with the addition of +// ListNamespacesWithContext is the same as ListNamespaces 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. +// See ListNamespaces for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) ListNamespacesWithContext(ctx aws.Context, input *ListNamespacesInput, opts ...request.Option) (*ListNamespacesOutput, error) { + req, out := c.ListNamespacesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDataSource = "UpdateDataSource" +// ListNamespacesPages iterates over the pages of a ListNamespaces operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListNamespaces 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 ListNamespaces operation. +// pageNum := 0 +// err := client.ListNamespacesPages(params, +// func(page *quicksight.ListNamespacesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListNamespacesPages(input *ListNamespacesInput, fn func(*ListNamespacesOutput, bool) bool) error { + return c.ListNamespacesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateDataSourceRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDataSource operation. The "output" return +// ListNamespacesPagesWithContext same as ListNamespacesPages 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) ListNamespacesPagesWithContext(ctx aws.Context, input *ListNamespacesInput, fn func(*ListNamespacesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNamespacesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNamespacesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListNamespacesOutput), !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 UpdateDataSource for more information on using the UpdateDataSource +// 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 UpdateDataSourceRequest method. -// req, resp := client.UpdateDataSourceRequest(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/quicksight-2018-04-01/UpdateDataSource -func (c *QuickSight) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req *request.Request, output *UpdateDataSourceOutput) { +// 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: opUpdateDataSource, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/resources/{ResourceArn}/tags", } if input == nil { - input = &UpdateDataSourceInput{} + input = &ListTagsForResourceInput{} } - output = &UpdateDataSourceOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } -// UpdateDataSource API operation for Amazon QuickSight. +// ListTagsForResource API operation for Amazon QuickSight. // -// Updates a data source. +// Lists the tags assigned to 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 Amazon QuickSight's -// API operation UpdateDataSource for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -6441,201 +6438,255 @@ func (c *QuickSight) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req // your policies have the correct permissions, and that you are using the correct // access keys. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ThrottlingException -// Access is throttled. -// // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * 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) +// 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() } -// UpdateDataSourceWithContext is the same as UpdateDataSource 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 UpdateDataSource 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 *QuickSight) UpdateDataSourceWithContext(ctx aws.Context, input *UpdateDataSourceInput, opts ...request.Option) (*UpdateDataSourceOutput, error) { - req, out := c.UpdateDataSourceRequest(input) +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 opUpdateDataSourcePermissions = "UpdateDataSourcePermissions" +const opListTemplateAliases = "ListTemplateAliases" -// UpdateDataSourcePermissionsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDataSourcePermissions operation. The "output" return +// 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 UpdateDataSourcePermissions for more information on using the UpdateDataSourcePermissions +// 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 UpdateDataSourcePermissionsRequest method. -// req, resp := client.UpdateDataSourcePermissionsRequest(params) +// // 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/UpdateDataSourcePermissions -func (c *QuickSight) UpdateDataSourcePermissionsRequest(input *UpdateDataSourcePermissionsInput) (req *request.Request, output *UpdateDataSourcePermissionsOutput) { +// 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: opUpdateDataSourcePermissions, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", + 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 = &UpdateDataSourcePermissionsInput{} + input = &ListTemplateAliasesInput{} } - output = &UpdateDataSourcePermissionsOutput{} + output = &ListTemplateAliasesOutput{} req = c.newRequest(op, input, output) return } -// UpdateDataSourcePermissions API operation for Amazon QuickSight. +// ListTemplateAliases API operation for Amazon QuickSight. // -// Updates the permissions to a data source. +// Lists all the aliases of a 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 UpdateDataSourcePermissions for usage and error information. +// API operation ListTemplateAliases for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. -// -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * InvalidNextTokenException +// The NextToken value isn't valid. // -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. +// * ThrottlingException +// Access is throttled. // // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. +// * 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. // // * 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) +// 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() } -// UpdateDataSourcePermissionsWithContext is the same as UpdateDataSourcePermissions with the addition of +// ListTemplateAliasesWithContext is the same as ListTemplateAliases 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. +// 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) UpdateDataSourcePermissionsWithContext(ctx aws.Context, input *UpdateDataSourcePermissionsInput, opts ...request.Option) (*UpdateDataSourcePermissionsOutput, error) { - req, out := c.UpdateDataSourcePermissionsRequest(input) +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() } -const opUpdateGroup = "UpdateGroup" +// 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) +} -// UpdateGroupRequest generates a "aws/request.Request" representing the -// client's request for the UpdateGroup operation. The "output" return +// 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 UpdateGroup for more information on using the UpdateGroup +// 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 UpdateGroupRequest method. -// req, resp := client.UpdateGroupRequest(params) +// // 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/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/ListTemplateVersions +func (c *QuickSight) ListTemplateVersionsRequest(input *ListTemplateVersionsInput) (req *request.Request, output *ListTemplateVersionsOutput) { op := &request.Operation{ - Name: opUpdateGroup, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + 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 = &UpdateGroupInput{} + input = &ListTemplateVersionsInput{} } - output = &UpdateGroupOutput{} + output = &ListTemplateVersionsOutput{} req = c.newRequest(op, input, output) return } -// UpdateGroup API operation for Amazon QuickSight. +// ListTemplateVersions API operation for Amazon QuickSight. // -// Changes a group description. +// Lists all the versions of the templates in the current Amazon QuickSight +// account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateGroup for usage and error information. +// API operation ListTemplateVersions for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. +// * ThrottlingException +// Access is throttled. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. @@ -6643,216 +6694,316 @@ func (c *QuickSight) UpdateGroupRequest(input *UpdateGroupInput) (req *request.R // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. +// * InvalidNextTokenException +// The NextToken value isn't valid. // -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * 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. // // * InternalFailureException // An internal failure occurred. // -// * 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/ListTemplateVersions +func (c *QuickSight) ListTemplateVersions(input *ListTemplateVersionsInput) (*ListTemplateVersionsOutput, error) { + req, out := c.ListTemplateVersionsRequest(input) return out, req.Send() } -// UpdateGroupWithContext is the same as UpdateGroup with the addition of +// ListTemplateVersionsWithContext is the same as ListTemplateVersions 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 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) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { - req, out := c.UpdateGroupRequest(input) +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() } -const opUpdateIAMPolicyAssignment = "UpdateIAMPolicyAssignment" +// 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) +} -// UpdateIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the -// client's request for the UpdateIAMPolicyAssignment operation. The "output" return +// 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 UpdateIAMPolicyAssignment for more information on using the UpdateIAMPolicyAssignment +// 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 UpdateIAMPolicyAssignmentRequest method. -// req, resp := client.UpdateIAMPolicyAssignmentRequest(params) +// // 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/UpdateIAMPolicyAssignment -func (c *QuickSight) UpdateIAMPolicyAssignmentRequest(input *UpdateIAMPolicyAssignmentInput) (req *request.Request, output *UpdateIAMPolicyAssignmentOutput) { +// 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: opUpdateIAMPolicyAssignment, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", + Name: opListTemplates, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateIAMPolicyAssignmentInput{} + input = &ListTemplatesInput{} } - output = &UpdateIAMPolicyAssignmentOutput{} + output = &ListTemplatesOutput{} req = c.newRequest(op, input, output) return } -// UpdateIAMPolicyAssignment API operation for Amazon QuickSight. +// ListTemplates API operation for Amazon QuickSight. // -// Updates an existing IAM policy assignment. This operation updates only the -// optional parameter or parameters that are specified in the request. +// Lists all the templates in the current Amazon QuickSight account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateIAMPolicyAssignment for usage and error information. +// API operation ListTemplates for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. +// * ThrottlingException +// Access is throttled. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceExistsException -// The resource specified already exists. -// // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. +// * InvalidNextTokenException +// The NextToken value isn't valid. // -// * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// * 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. // // * 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) +// 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() } -// UpdateIAMPolicyAssignmentWithContext is the same as UpdateIAMPolicyAssignment with the addition of +// ListTemplatesWithContext is the same as ListTemplates 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. +// 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) UpdateIAMPolicyAssignmentWithContext(ctx aws.Context, input *UpdateIAMPolicyAssignmentInput, opts ...request.Option) (*UpdateIAMPolicyAssignmentOutput, error) { - req, out := c.UpdateIAMPolicyAssignmentRequest(input) +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() } -const opUpdateTemplate = "UpdateTemplate" +// 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) +} -// UpdateTemplateRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTemplate operation. The "output" return +// 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 opListThemeAliases = "ListThemeAliases" + +// ListThemeAliasesRequest generates a "aws/request.Request" representing the +// client's request for the ListThemeAliases operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See ListThemeAliases for more information on using the ListThemeAliases // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the ListThemeAliasesRequest method. +// req, resp := client.ListThemeAliasesRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemeAliases +func (c *QuickSight) ListThemeAliasesRequest(input *ListThemeAliasesInput) (req *request.Request, output *ListThemeAliasesOutput) { op := &request.Operation{ - Name: opUpdateTemplate, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + Name: opListThemeAliases, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases", } if input == nil { - input = &UpdateTemplateInput{} + input = &ListThemeAliasesInput{} } - output = &UpdateTemplateOutput{} + output = &ListThemeAliasesOutput{} req = c.newRequest(op, input, output) return } -// UpdateTemplate API operation for Amazon QuickSight. +// ListThemeAliases API operation for Amazon QuickSight. // -// Updates a template from an existing Amazon QuickSight analysis or another -// template. +// Lists all the aliases of a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime 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. +// API operation ListThemeAliases for usage and error information. // // Returned Error Types: +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceExistsException -// The resource specified already exists. -// // * ResourceNotFoundException // One or more resources can't be found. // // * ThrottlingException // Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * LimitExceededException -// A limit is exceeded. -// // * 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. @@ -6862,90 +7013,100 @@ func (c *QuickSight) UpdateTemplateRequest(input *UpdateTemplateInput) (req *req // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemeAliases +func (c *QuickSight) ListThemeAliases(input *ListThemeAliasesInput) (*ListThemeAliasesOutput, error) { + req, out := c.ListThemeAliasesRequest(input) return out, req.Send() } -// UpdateTemplateWithContext is the same as UpdateTemplate with the addition of +// ListThemeAliasesWithContext is the same as ListThemeAliases 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. +// See ListThemeAliases for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) ListThemeAliasesWithContext(ctx aws.Context, input *ListThemeAliasesInput, opts ...request.Option) (*ListThemeAliasesOutput, error) { + req, out := c.ListThemeAliasesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTemplateAlias = "UpdateTemplateAlias" +const opListThemeVersions = "ListThemeVersions" -// UpdateTemplateAliasRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTemplateAlias operation. The "output" return +// ListThemeVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListThemeVersions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See ListThemeVersions for more information on using the ListThemeVersions // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the ListThemeVersionsRequest method. +// req, resp := client.ListThemeVersionsRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemeVersions +func (c *QuickSight) ListThemeVersionsRequest(input *ListThemeVersionsInput) (req *request.Request, output *ListThemeVersionsOutput) { op := &request.Operation{ - Name: opUpdateTemplateAlias, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + Name: opListThemeVersions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/versions", } if input == nil { - input = &UpdateTemplateAliasInput{} + input = &ListThemeVersionsInput{} } - output = &UpdateTemplateAliasOutput{} + output = &ListThemeVersionsOutput{} req = c.newRequest(op, input, output) return } -// UpdateTemplateAlias API operation for Amazon QuickSight. +// ListThemeVersions API operation for Amazon QuickSight. // -// Updates the template alias of a template. +// Lists all the versions of the themes in the current AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateTemplateAlias for usage and error information. +// API operation ListThemeVersions for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * ThrottlingException +// Access is throttled. // // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight @@ -6956,94 +7117,101 @@ func (c *QuickSight) UpdateTemplateAliasRequest(input *UpdateTemplateAliasInput) // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemeVersions +func (c *QuickSight) ListThemeVersions(input *ListThemeVersionsInput) (*ListThemeVersionsOutput, error) { + req, out := c.ListThemeVersionsRequest(input) return out, req.Send() } -// UpdateTemplateAliasWithContext is the same as UpdateTemplateAlias with the addition of +// ListThemeVersionsWithContext is the same as ListThemeVersions 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. +// See ListThemeVersions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) ListThemeVersionsWithContext(ctx aws.Context, input *ListThemeVersionsInput, opts ...request.Option) (*ListThemeVersionsOutput, error) { + req, out := c.ListThemeVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTemplatePermissions = "UpdateTemplatePermissions" +const opListThemes = "ListThemes" -// UpdateTemplatePermissionsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTemplatePermissions operation. The "output" return +// ListThemesRequest generates a "aws/request.Request" representing the +// client's request for the ListThemes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See ListThemes for more information on using the ListThemes // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the ListThemesRequest method. +// req, resp := client.ListThemesRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemes +func (c *QuickSight) ListThemesRequest(input *ListThemesInput) (req *request.Request, output *ListThemesOutput) { op := &request.Operation{ - Name: opUpdateTemplatePermissions, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", + Name: opListThemes, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/themes", } if input == nil { - input = &UpdateTemplatePermissionsInput{} + input = &ListThemesInput{} } - output = &UpdateTemplatePermissionsOutput{} + output = &ListThemesOutput{} req = c.newRequest(op, input, output) return } -// UpdateTemplatePermissions API operation for Amazon QuickSight. +// ListThemes API operation for Amazon QuickSight. // -// Updates the resource permissions for a template. +// Lists all the themes in the current AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateTemplatePermissions for usage and error information. +// API operation ListThemes for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * InvalidNextTokenException +// The NextToken value isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * 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. @@ -7053,80 +7221,81 @@ func (c *QuickSight) UpdateTemplatePermissionsRequest(input *UpdateTemplatePermi // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemes +func (c *QuickSight) ListThemes(input *ListThemesInput) (*ListThemesOutput, error) { + req, out := c.ListThemesRequest(input) return out, req.Send() } -// UpdateTemplatePermissionsWithContext is the same as UpdateTemplatePermissions with the addition of +// ListThemesWithContext is the same as ListThemes 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. +// See ListThemes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the 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) +func (c *QuickSight) ListThemesWithContext(ctx aws.Context, input *ListThemesInput, opts ...request.Option) (*ListThemesOutput, error) { + req, out := c.ListThemesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateUser = "UpdateUser" +const opListUserGroups = "ListUserGroups" -// UpdateUserRequest generates a "aws/request.Request" representing the -// client's request for the UpdateUser operation. The "output" return +// 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 UpdateUser for more information on using the UpdateUser +// 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 UpdateUserRequest method. -// req, resp := client.UpdateUserRequest(params) +// // 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/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/ListUserGroups +func (c *QuickSight) ListUserGroupsRequest(input *ListUserGroupsInput) (req *request.Request, output *ListUserGroupsOutput) { op := &request.Operation{ - Name: opUpdateUser, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + Name: opListUserGroups, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups", } if input == nil { - input = &UpdateUserInput{} + input = &ListUserGroupsInput{} } - output = &UpdateUserOutput{} + output = &ListUserGroupsOutput{} req = c.newRequest(op, input, output) return } -// UpdateUser API operation for Amazon QuickSight. +// ListUserGroups API operation for Amazon QuickSight. // -// Updates an Amazon QuickSight user. +// Lists the Amazon QuickSight groups that an Amazon QuickSight user is a member +// of. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 ListUserGroups for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -7145,182 +7314,6984 @@ func (c *QuickSight) UpdateUserRequest(input *UpdateUserInput) (req *request.Req // * ThrottlingException // Access is throttled. // +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * InternalFailureException // An internal failure occurred. // // * 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) +// 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() } -// UpdateUserWithContext is the same as UpdateUser with the addition of +// ListUserGroupsWithContext is the same as ListUserGroups 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 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) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { - req, out := c.UpdateUserRequest(input) +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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * InternalFailureException +// An internal failure occurred. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * LimitExceededException +// A limit is exceeded. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * InternalFailureException +// An internal failure occurred. +// +// * 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() } -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// 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. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +const opSearchDashboards = "SearchDashboards" + +// SearchDashboardsRequest generates a "aws/request.Request" representing the +// client's request for the SearchDashboards operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SearchDashboards for more information on using the SearchDashboards +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SearchDashboardsRequest method. +// req, resp := client.SearchDashboardsRequest(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/SearchDashboards +func (c *QuickSight) SearchDashboardsRequest(input *SearchDashboardsInput) (req *request.Request, output *SearchDashboardsOutput) { + op := &request.Operation{ + Name: opSearchDashboards, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/search/dashboards", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchDashboardsInput{} + } + + output = &SearchDashboardsOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchDashboards API operation for Amazon QuickSight. +// +// Searchs for dashboards that belong to a user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 SearchDashboards for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * 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. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards +func (c *QuickSight) SearchDashboards(input *SearchDashboardsInput) (*SearchDashboardsOutput, error) { + req, out := c.SearchDashboardsRequest(input) + return out, req.Send() +} + +// SearchDashboardsWithContext is the same as SearchDashboards with the addition of +// the ability to pass a context and additional request options. +// +// See SearchDashboards for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) SearchDashboardsWithContext(ctx aws.Context, input *SearchDashboardsInput, opts ...request.Option) (*SearchDashboardsOutput, error) { + req, out := c.SearchDashboardsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchDashboardsPages iterates over the pages of a SearchDashboards operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchDashboards 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 SearchDashboards operation. +// pageNum := 0 +// err := client.SearchDashboardsPages(params, +// func(page *quicksight.SearchDashboardsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) SearchDashboardsPages(input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool) error { + return c.SearchDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchDashboardsPagesWithContext same as SearchDashboardsPages 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) SearchDashboardsPagesWithContext(ctx aws.Context, input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchDashboardsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchDashboardsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchDashboardsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +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 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 +// operation 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, and template. +// +// Tagging for QuickSight works in a similar way to tagging for other AWS services, +// except for the following: +// +// * You can't use tags to track AWS costs for QuickSight. This restriction +// is 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * LimitExceededException +// A limit is exceeded. +// +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * 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 opUpdateAccountCustomization = "UpdateAccountCustomization" + +// UpdateAccountCustomizationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccountCustomization operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAccountCustomization for more information on using the UpdateAccountCustomization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateAccountCustomizationRequest method. +// req, resp := client.UpdateAccountCustomizationRequest(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/UpdateAccountCustomization +func (c *QuickSight) UpdateAccountCustomizationRequest(input *UpdateAccountCustomizationInput) (req *request.Request, output *UpdateAccountCustomizationOutput) { + op := &request.Operation{ + Name: opUpdateAccountCustomization, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/customizations", + } + + if input == nil { + input = &UpdateAccountCustomizationInput{} + } + + output = &UpdateAccountCustomizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAccountCustomization API operation for Amazon QuickSight. +// +// Updates customizations associated with the QuickSight subscription on 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 Amazon QuickSight's +// API operation UpdateAccountCustomization for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountCustomization +func (c *QuickSight) UpdateAccountCustomization(input *UpdateAccountCustomizationInput) (*UpdateAccountCustomizationOutput, error) { + req, out := c.UpdateAccountCustomizationRequest(input) + return out, req.Send() +} + +// UpdateAccountCustomizationWithContext is the same as UpdateAccountCustomization with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccountCustomization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) UpdateAccountCustomizationWithContext(ctx aws.Context, input *UpdateAccountCustomizationInput, opts ...request.Option) (*UpdateAccountCustomizationOutput, error) { + req, out := c.UpdateAccountCustomizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAccountSettings = "UpdateAccountSettings" + +// UpdateAccountSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccountSettings operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAccountSettings for more information on using the UpdateAccountSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateAccountSettingsRequest method. +// req, resp := client.UpdateAccountSettingsRequest(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/UpdateAccountSettings +func (c *QuickSight) UpdateAccountSettingsRequest(input *UpdateAccountSettingsInput) (req *request.Request, output *UpdateAccountSettingsOutput) { + op := &request.Operation{ + Name: opUpdateAccountSettings, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/settings", + } + + if input == nil { + input = &UpdateAccountSettingsInput{} + } + + output = &UpdateAccountSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAccountSettings API operation for Amazon QuickSight. +// +// Updates the settings for the Amazon QuickSight subscription 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 Amazon QuickSight's +// API operation UpdateAccountSettings for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountSettings +func (c *QuickSight) UpdateAccountSettings(input *UpdateAccountSettingsInput) (*UpdateAccountSettingsOutput, error) { + req, out := c.UpdateAccountSettingsRequest(input) + return out, req.Send() +} + +// UpdateAccountSettingsWithContext is the same as UpdateAccountSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccountSettings for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) UpdateAccountSettingsWithContext(ctx aws.Context, input *UpdateAccountSettingsInput, opts ...request.Option) (*UpdateAccountSettingsOutput, error) { + req, out := c.UpdateAccountSettingsRequest(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 an AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateDashboard for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * LimitExceededException +// A limit is exceeded. +// +// * 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. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * ThrottlingException +// Access is throttled. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * 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. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ThrottlingException +// Access is throttled. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * 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. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * LimitExceededException +// A limit is exceeded. +// +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * 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. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * InternalFailureException +// An internal failure occurred. +// +// * 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 IAM policy assignment. This operation updates only the +// optional parameter or parameters that are specified in the request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateIAMPolicyAssignment for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * ConcurrentUpdatingException +// A resource is already in a state that indicates an action is happening that +// must complete before a new update can be applied. +// +// * 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 Amazon QuickSight analysis or another +// 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 UpdateTemplate for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * LimitExceededException +// A limit is exceeded. +// +// * 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. +// +// * 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * 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. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * 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 resource permissions for a 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 UpdateTemplatePermissions for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * 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. +// +// * 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 opUpdateTheme = "UpdateTheme" + +// UpdateThemeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTheme operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTheme for more information on using the UpdateTheme +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateThemeRequest method. +// req, resp := client.UpdateThemeRequest(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/UpdateTheme +func (c *QuickSight) UpdateThemeRequest(input *UpdateThemeInput) (req *request.Request, output *UpdateThemeOutput) { + op := &request.Operation{ + Name: opUpdateTheme, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}", + } + + if input == nil { + input = &UpdateThemeInput{} + } + + output = &UpdateThemeOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTheme API operation for Amazon QuickSight. +// +// Updates a theme. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 UpdateTheme for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * LimitExceededException +// A limit is exceeded. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * 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. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTheme +func (c *QuickSight) UpdateTheme(input *UpdateThemeInput) (*UpdateThemeOutput, error) { + req, out := c.UpdateThemeRequest(input) + return out, req.Send() +} + +// UpdateThemeWithContext is the same as UpdateTheme with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTheme for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) UpdateThemeWithContext(ctx aws.Context, input *UpdateThemeInput, opts ...request.Option) (*UpdateThemeOutput, error) { + req, out := c.UpdateThemeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateThemeAlias = "UpdateThemeAlias" + +// UpdateThemeAliasRequest generates a "aws/request.Request" representing the +// client's request for the UpdateThemeAlias operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateThemeAlias for more information on using the UpdateThemeAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateThemeAliasRequest method. +// req, resp := client.UpdateThemeAliasRequest(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/UpdateThemeAlias +func (c *QuickSight) UpdateThemeAliasRequest(input *UpdateThemeAliasInput) (req *request.Request, output *UpdateThemeAliasOutput) { + op := &request.Operation{ + Name: opUpdateThemeAlias, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}", + } + + if input == nil { + input = &UpdateThemeAliasInput{} + } + + output = &UpdateThemeAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateThemeAlias API operation for Amazon QuickSight. +// +// Updates an alias of a theme. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 UpdateThemeAlias for usage and error information. +// +// Returned Error Types: +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * 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. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateThemeAlias +func (c *QuickSight) UpdateThemeAlias(input *UpdateThemeAliasInput) (*UpdateThemeAliasOutput, error) { + req, out := c.UpdateThemeAliasRequest(input) + return out, req.Send() +} + +// UpdateThemeAliasWithContext is the same as UpdateThemeAlias with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateThemeAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) UpdateThemeAliasWithContext(ctx aws.Context, input *UpdateThemeAliasInput, opts ...request.Option) (*UpdateThemeAliasOutput, error) { + req, out := c.UpdateThemeAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateThemePermissions = "UpdateThemePermissions" + +// UpdateThemePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateThemePermissions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateThemePermissions for more information on using the UpdateThemePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateThemePermissionsRequest method. +// req, resp := client.UpdateThemePermissionsRequest(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/UpdateThemePermissions +func (c *QuickSight) UpdateThemePermissionsRequest(input *UpdateThemePermissionsInput) (req *request.Request, output *UpdateThemePermissionsOutput) { + op := &request.Operation{ + Name: opUpdateThemePermissions, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/permissions", + } + + if input == nil { + input = &UpdateThemePermissionsInput{} + } + + output = &UpdateThemePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateThemePermissions API operation for Amazon QuickSight. +// +// Updates the resource permissions for a theme. Permissions apply to the action +// to grant or revoke permissions on, for example "quicksight:DescribeTheme". +// +// Theme permissions apply in groupings. Valid groupings include the following +// for the three levels of permissions, which are user, owner, or no permissions: +// +// * User "quicksight:DescribeTheme" "quicksight:DescribeThemeAlias" "quicksight:ListThemeAliases" +// "quicksight:ListThemeVersions" +// +// * Owner "quicksight:DescribeTheme" "quicksight:DescribeThemeAlias" "quicksight:ListThemeAliases" +// "quicksight:ListThemeVersions" "quicksight:DeleteTheme" "quicksight:UpdateTheme" +// "quicksight:CreateThemeAlias" "quicksight:DeleteThemeAlias" "quicksight:UpdateThemeAlias" +// "quicksight:UpdateThemePermissions" "quicksight:DescribeThemePermissions" +// +// * To specify no permissions, omit the permissions list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 UpdateThemePermissions for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * 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. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateThemePermissions +func (c *QuickSight) UpdateThemePermissions(input *UpdateThemePermissionsInput) (*UpdateThemePermissionsOutput, error) { + req, out := c.UpdateThemePermissionsRequest(input) + return out, req.Send() +} + +// UpdateThemePermissionsWithContext is the same as UpdateThemePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateThemePermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) UpdateThemePermissionsWithContext(ctx aws.Context, input *UpdateThemePermissionsInput, opts ...request.Option) (*UpdateThemePermissionsOutput, error) { + req, out := c.UpdateThemePermissionsRequest(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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * InternalFailureException +// An internal failure occurred. +// +// * 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() +} + +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// 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. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The customizations associated with your AWS account for QuickSight. +type AccountCustomization struct { + _ struct{} `type:"structure"` + + // The default theme for this QuickSight subscription. + DefaultTheme *string `type:"string"` +} + +// String returns the string representation +func (s AccountCustomization) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountCustomization) GoString() string { + return s.String() +} + +// SetDefaultTheme sets the DefaultTheme field's value. +func (s *AccountCustomization) SetDefaultTheme(v string) *AccountCustomization { + s.DefaultTheme = &v + return s +} + +// The QuickSight settings associated with your AWS account. +type AccountSettings struct { + _ struct{} `type:"structure"` + + // The name associated with the QuickSight subscription in your AWS account. + AccountName *string `type:"string"` + + // The default QuickSight namespace for your AWS account. + DefaultNamespace *string `type:"string"` + + // The edition of QuickSight that you're currently subscribed to. + Edition *string `type:"string" enum:"Edition"` + + // The main notification email for your QuickSight subscription. + NotificationEmail *string `type:"string"` +} + +// String returns the string representation +func (s AccountSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountSettings) GoString() string { + return s.String() +} + +// SetAccountName sets the AccountName field's value. +func (s *AccountSettings) SetAccountName(v string) *AccountSettings { + s.AccountName = &v + return s +} + +// SetDefaultNamespace sets the DefaultNamespace field's value. +func (s *AccountSettings) SetDefaultNamespace(v string) *AccountSettings { + s.DefaultNamespace = &v + return s +} + +// SetEdition sets the Edition field's value. +func (s *AccountSettings) SetEdition(v string) *AccountSettings { + s.Edition = &v + return s +} + +// SetNotificationEmail sets the NotificationEmail field's value. +func (s *AccountSettings) SetNotificationEmail(v string) *AccountSettings { + s.NotificationEmail = &v + return s +} + +// The active AWS Identity and Access Management (IAM) policy assignment. +type ActiveIAMPolicyAssignment struct { + _ struct{} `type:"structure"` + + // A name for the IAM policy assignment. + AssignmentName *string `min:"1" type:"string"` + + // The Amazon Resource Name (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 (one-time) 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 Service parameters. +type AmazonElasticsearchParameters struct { + _ struct{} `type:"structure"` + + // The Amazon Elasticsearch Service 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 +} + +// Amazon Athena parameters. +type AthenaParameters struct { + _ struct{} `type:"structure"` + + // The workgroup that Amazon 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 +} + +// Amazon 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 +} + +// Amazon Aurora with PostgreSQL compatibility 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 +} + +// The display options for tile borders for visuals. +type BorderStyle struct { + _ struct{} `type:"structure"` + + // The option to enable display of borders for visuals. + Show *bool `type:"boolean"` +} + +// String returns the string representation +func (s BorderStyle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BorderStyle) GoString() string { + return s.String() +} + +// SetShow sets the Show field's value. +func (s *BorderStyle) SetShow(v bool) *BorderStyle { + s.Show = &v + return s +} + +// A calculated column for a dataset. +type CalculatedColumn struct { + _ struct{} `type:"structure"` + + // A unique ID to identify a calculated column. During a dataset update, if + // the column ID of a calculated column matches that of an existing calculated + // column, Amazon 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 string + // in a format supported by Amazon QuickSight 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 Amazon QuickSight features. +// This is a variant type structure. For this structure to be valid, only one +// of the attributes can be non-null. +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, data type, 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 schemas for column group columns. + 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 structure. This is a variant type +// structure. For this structure to be valid, only one of the attributes can +// be non-null. +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 resource is already in a state that indicates an action is happening that +// must complete before a new update can be applied. +type ConcurrentUpdatingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s ConcurrentUpdatingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConcurrentUpdatingException) GoString() string { + return s.String() +} + +func newErrorConcurrentUpdatingException(v protocol.ResponseMetadata) error { + return &ConcurrentUpdatingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConcurrentUpdatingException) Code() string { + return "ConcurrentUpdatingException" +} + +// Message returns the exception's message. +func (s *ConcurrentUpdatingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConcurrentUpdatingException) OrigErr() error { + return nil +} + +func (s *ConcurrentUpdatingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConcurrentUpdatingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConcurrentUpdatingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Updating or deleting a resource can cause an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateAccountCustomizationInput struct { + _ struct{} `type:"structure"` + + // The customizations you're adding to the QuickSight subscription for the AWS + // account. For example, you could add a default theme by setting AccountCustomization + // to the midnight theme (DefaultTheme="arn:aws:quicksight::aws:theme/MIDNIGHT") + // or to a custom theme (DefaultTheme="arn:aws:quicksight:us-west-2:111122223333:theme/bdb844d0-0fe9-4d9d-b520-0fe602d93639"). + // + // AccountCustomization is a required field + AccountCustomization *AccountCustomization `type:"structure" required:"true"` + + // The ID for the AWS account that you want to customize QuickSight for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace associated with the customization that you're creating. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` +} + +// String returns the string representation +func (s CreateAccountCustomizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAccountCustomizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAccountCustomizationInput"} + if s.AccountCustomization == nil { + invalidParams.Add(request.NewErrParamRequired("AccountCustomization")) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *CreateAccountCustomizationInput) SetAccountCustomization(v *AccountCustomization) *CreateAccountCustomizationInput { + s.AccountCustomization = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateAccountCustomizationInput) SetAwsAccountId(v string) *CreateAccountCustomizationInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateAccountCustomizationInput) SetNamespace(v string) *CreateAccountCustomizationInput { + s.Namespace = &v + return s +} + +type CreateAccountCustomizationOutput struct { + _ struct{} `type:"structure"` + + // The customizations you're adding to the QuickSight subscription for the AWS + // account. + AccountCustomization *AccountCustomization `type:"structure"` + + // The ID for the AWS account that you want to customize QuickSight for. + AwsAccountId *string `min:"12" type:"string"` + + // The namespace associated with the customization you're creating. + Namespace *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 CreateAccountCustomizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAccountCustomizationOutput) GoString() string { + return s.String() +} + +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *CreateAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *CreateAccountCustomizationOutput { + s.AccountCustomization = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateAccountCustomizationOutput) SetAwsAccountId(v string) *CreateAccountCustomizationOutput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateAccountCustomizationOutput) SetNamespace(v string) *CreateAccountCustomizationOutput { + s.Namespace = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateAccountCustomizationOutput) SetRequestId(v string) *CreateAccountCustomizationOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateAccountCustomizationOutput) SetStatus(v int64) *CreateAccountCustomizationOutput { + s.Status = &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"` + + // The ID of the AWS account 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 the IAM policy. + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // Options for publishing the dashboard when you create it: + // + // * AvailabilityStatus for AdHocFilteringOption - This status can be either + // ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables + // the left filter pane on the published dashboard, which can be used for + // ad hoc (one-time) filtering. This option is ENABLED by default. + // + // * AvailabilityStatus for ExportToCSVOption - This status can be either + // ENABLED or DISABLED. The visual option to export data to .csv format isn't + // enabled when this is set to DISABLED. This option is ENABLED by default. + // + // * VisibilityState for SheetControlsOption - This visibility state can + // be either COLLAPSED or EXPANDED. This option is 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"` + + // The parameters for the creation of the dashboard, which you want to use to + // override the default settings. A dashboard can have any type of parameters, + // and some parameters might accept multiple values. + Parameters *Parameters `type:"structure"` + + // A structure that contains the permissions of the dashboard. You can use this + // structure for granting permissions with principal and action information. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The entity that you are using as a source when you create the dashboard. + // In SourceEntity, you specify the type of object you're using as source. You + // can only create a dashboard from a template, so you use a SourceTemplate + // entity. If you need to create a dashboard from an analysis, first convert + // the analysis to a template by using the CreateTemplate API operation. For + // SourceTemplate, specify the Amazon Resource Name (ARN) of the source template. + // The SourceTemplateARN can contain any AWS Account and any QuickSight-supported + // AWS Region. + // + // Use the DataSetReferences entity within SourceTemplate to list the replacement + // datasets for the placeholders listed in the original. The schema in each + // dataset must match its placeholder. + // + // 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"` + + // The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. + // If you add a value for this field, it overrides the value that is used in + // the source entity. The theme ARN must exist in the same AWS account where + // you create the dashboard. + ThemeArn *string `type:"string"` + + // 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 +} + +// SetThemeArn sets the ThemeArn field's value. +func (s *CreateDashboardInput) SetThemeArn(v string) *CreateDashboardInput { + s.ThemeArn = &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 status of the dashboard creation 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 that you want to create. This ID is unique per AWS + // Region for each AWS account. + // + // DataSetId is a required field + DataSetId *string `type:"string" required:"true"` + + // Indicates whether 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"` + + // The row-level security configuration for the data that 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 Amazon Resource Name (ARN) of the dataset. + Arn *string `type:"string"` + + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + DataSetId *string `type:"string"` + + // The 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 that uses to connect to your underlying source. + // Currently, only credentials based on user name and password are supported. + Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` + + // An ID for the data source. This ID is unique per AWS Region for each AWS + // account. + // + // DataSourceId is a required field + DataSourceId *string `type:"string" required:"true"` + + // The parameters that 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"` + + // Secure Socket Layer (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"` + + // 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 Amazon Resource Name (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 ID is unique per AWS Region for each 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 the assignment. Possible values are as follows: + // + // * ENABLED - Anything specified in this assignment is used when creating + // the data source. + // + // * DISABLED - This assignment isn't used when creating the data source. + // + // * DRAFT - This assignment is an unfinished draft and isn't used when creating + // the data source. + // + // AssignmentStatus is a required field + AssignmentStatus *string `type:"string" required:"true" enum:"AssignmentStatus"` + + // The ID of the AWS account where you want to assign an IAM policy to QuickSight + // users or groups. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The QuickSight users, groups, or both 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"` + + // The ARN for the IAM policy 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"` + + // The ID for the assignment. + AssignmentId *string `type:"string"` + + // The name of the assignment. This name must be unique within the AWS account. + AssignmentName *string `min:"1" type:"string"` + + // The status of the assignment. Possible values are as follows: + // + // * ENABLED - Anything specified in this assignment is used when creating + // the data source. + // + // * DISABLED - This assignment isn't used when creating the data source. + // + // * DRAFT - This assignment is an unfinished draft and isn't used when creating + // the data source. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // The QuickSight users, groups, or both that the IAM policy is assigned to. + Identities map[string][]*string `type:"map"` + + // The ARN for the IAM policy 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 CreateNamespaceInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that you want to create the QuickSight namespace + // in. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // Specifies the type of your user identity directory. Currently, this supports + // users with an identity type of QUICKSIGHT. + // + // IdentityStore is a required field + IdentityStore *string `type:"string" required:"true" enum:"IdentityStore"` + + // The name that you want to use to describe the new namespace. + // + // Namespace is a required field + Namespace *string `type:"string" required:"true"` + + // The tags that you want to associate with the namespace that you're creating. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s CreateNamespaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNamespaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateNamespaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateNamespaceInput"} + 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.IdentityStore == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityStore")) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + 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 +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateNamespaceInput) SetAwsAccountId(v string) *CreateNamespaceInput { + s.AwsAccountId = &v + return s +} + +// SetIdentityStore sets the IdentityStore field's value. +func (s *CreateNamespaceInput) SetIdentityStore(v string) *CreateNamespaceInput { + s.IdentityStore = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateNamespaceInput) SetNamespace(v string) *CreateNamespaceInput { + s.Namespace = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateNamespaceInput) SetTags(v []*Tag) *CreateNamespaceInput { + s.Tags = v + return s +} + +type CreateNamespaceOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the QuickSight namespace you created. + Arn *string `type:"string"` + + // The AWS Region that you want to use for the free SPICE capacity for the new + // namespace. This is set to the region that you run CreateNamespace in. + CapacityRegion *string `type:"string"` + + // The status of the creation of the namespace. This is an asynchronous process. + // A status of CREATED means that your namespace is ready to use. If an error + // occurs, it indicates if the process is retryable or non-retryable. In the + // case of a non-retryable error, refer to the error message for follow-up actions. + CreationStatus *string `type:"string" enum:"NamespaceStatus"` + + // Specifies the type of your user identity directory. Currently, this supports + // users with an identity type of QUICKSIGHT. + IdentityStore *string `type:"string" enum:"IdentityStore"` + + // The name of the new namespace that you created. + Name *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 CreateNamespaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNamespaceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateNamespaceOutput) SetArn(v string) *CreateNamespaceOutput { + s.Arn = &v + return s +} + +// SetCapacityRegion sets the CapacityRegion field's value. +func (s *CreateNamespaceOutput) SetCapacityRegion(v string) *CreateNamespaceOutput { + s.CapacityRegion = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateNamespaceOutput) SetCreationStatus(v string) *CreateNamespaceOutput { + s.CreationStatus = &v + return s +} + +// SetIdentityStore sets the IdentityStore field's value. +func (s *CreateNamespaceOutput) SetIdentityStore(v string) *CreateNamespaceOutput { + s.IdentityStore = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateNamespaceOutput) SetName(v string) *CreateNamespaceOutput { + s.Name = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateNamespaceOutput) SetRequestId(v string) *CreateNamespaceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateNamespaceOutput) SetStatus(v int64) *CreateNamespaceOutput { + s.Status = &v + return s +} + +type CreateTemplateAliasInput struct { + _ struct{} `type:"structure"` + + // The name that you want to give to the template alias that you're creating. + // Don't start the alias name with the $ character. Alias names that start with + // $ are reserved by QuickSight. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the template that you creating an + // alias for. + // + // 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 about 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. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The entity that you are using as a source when you create the template. In + // SourceEntity, you specify the type of object you're using as source: SourceTemplate + // for a template or SourceAnalysis for an analysis. Both of these require an + // Amazon Resource Name (ARN). For SourceTemplate, specify the ARN of the source + // template. For SourceAnalysis, specify the ARN of the source analysis. The + // SourceTemplate ARN can contain any AWS Account and any QuickSight-supported + // AWS Region. + // + // Use the DataSetReferences entity within SourceTemplate or SourceAnalysis + // to list the replacement datasets for the placeholders listed in the original. + // The schema in each dataset must match its placeholder. + // + // 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 that you want to create. This template is unique per + // AWS Region in each 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 operation + // creates 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 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 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 +} + +type CreateThemeAliasInput struct { + _ struct{} `type:"structure"` + + // The name that you want to give to the theme alias that you are creating. + // The alias name can't begin with a $. Alias names that start with $ are reserved + // by Amazon QuickSight. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the theme for the new theme alias. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // An ID for the theme alias. + // + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` + + // The version number of the theme. + // + // ThemeVersionNumber is a required field + ThemeVersionNumber *int64 `min:"1" type:"long" required:"true"` +} + +// String returns the string representation +func (s CreateThemeAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateThemeAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateThemeAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateThemeAliasInput"} + 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.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) + } + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) + } + if s.ThemeVersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeVersionNumber")) + } + if s.ThemeVersionNumber != nil && *s.ThemeVersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("ThemeVersionNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasName sets the AliasName field's value. +func (s *CreateThemeAliasInput) SetAliasName(v string) *CreateThemeAliasInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateThemeAliasInput) SetAwsAccountId(v string) *CreateThemeAliasInput { + s.AwsAccountId = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *CreateThemeAliasInput) SetThemeId(v string) *CreateThemeAliasInput { + s.ThemeId = &v + return s +} + +// SetThemeVersionNumber sets the ThemeVersionNumber field's value. +func (s *CreateThemeAliasInput) SetThemeVersionNumber(v int64) *CreateThemeAliasInput { + s.ThemeVersionNumber = &v + return s +} + +type CreateThemeAliasOutput 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 theme alias. + ThemeAlias *ThemeAlias `type:"structure"` +} + +// String returns the string representation +func (s CreateThemeAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateThemeAliasOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateThemeAliasOutput) SetRequestId(v string) *CreateThemeAliasOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateThemeAliasOutput) SetStatus(v int64) *CreateThemeAliasOutput { + s.Status = &v + return s +} + +// SetThemeAlias sets the ThemeAlias field's value. +func (s *CreateThemeAliasOutput) SetThemeAlias(v *ThemeAlias) *CreateThemeAliasOutput { + s.ThemeAlias = v + return s +} + +type CreateThemeInput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account where you want to store the new theme. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the theme that a custom theme will inherit from. All themes inherit + // from one of the starting themes defined by Amazon QuickSight. For a list + // of the starting themes, use ListThemes or choose Themes from within a QuickSight + // analysis. + // + // BaseThemeId is a required field + BaseThemeId *string `min:"1" type:"string" required:"true"` + + // The theme configuration, which contains the theme display properties. + // + // Configuration is a required field + Configuration *ThemeConfiguration `type:"structure" required:"true"` + + // A display name for the theme. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A valid grouping of resource permissions to apply to the new theme. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // A map of the key-value pairs for the resource tag or tags that you want to + // add to the resource. + Tags []*Tag `min:"1" type:"list"` + + // An ID for the theme that you want to create. The theme ID is unique per AWS + // Region in each AWS account. + // + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` + + // A description of the first version of the theme that you're creating. Every + // time UpdateTheme is called, a new version is created. Each version of the + // theme has a description of the version in the VersionDescription field. + VersionDescription *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateThemeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateThemeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateThemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateThemeInput"} + 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.BaseThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("BaseThemeId")) + } + if s.BaseThemeId != nil && len(*s.BaseThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BaseThemeId", 1)) + } + if s.Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("Configuration")) + } + 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.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) + } + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 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.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 *CreateThemeInput) SetAwsAccountId(v string) *CreateThemeInput { + s.AwsAccountId = &v + return s +} + +// SetBaseThemeId sets the BaseThemeId field's value. +func (s *CreateThemeInput) SetBaseThemeId(v string) *CreateThemeInput { + s.BaseThemeId = &v + return s +} + +// SetConfiguration sets the Configuration field's value. +func (s *CreateThemeInput) SetConfiguration(v *ThemeConfiguration) *CreateThemeInput { + s.Configuration = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateThemeInput) SetName(v string) *CreateThemeInput { + s.Name = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateThemeInput) SetPermissions(v []*ResourcePermission) *CreateThemeInput { + s.Permissions = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateThemeInput) SetTags(v []*Tag) *CreateThemeInput { + s.Tags = v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *CreateThemeInput) SetThemeId(v string) *CreateThemeInput { + s.ThemeId = &v + return s +} + +// SetVersionDescription sets the VersionDescription field's value. +func (s *CreateThemeInput) SetVersionDescription(v string) *CreateThemeInput { + s.VersionDescription = &v + return s +} + +type CreateThemeOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the theme. + Arn *string `type:"string"` + + // The theme 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 theme. + ThemeId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) for the new theme. + VersionArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateThemeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateThemeOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateThemeOutput) SetArn(v string) *CreateThemeOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateThemeOutput) SetCreationStatus(v string) *CreateThemeOutput { + s.CreationStatus = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateThemeOutput) SetRequestId(v string) *CreateThemeOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateThemeOutput) SetStatus(v int64) *CreateThemeOutput { + s.Status = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *CreateThemeOutput) SetThemeId(v string) *CreateThemeOutput { + s.ThemeId = &v + return s +} + +// SetVersionArn sets the VersionArn field's value. +func (s *CreateThemeOutput) SetVersionArn(v string) *CreateThemeOutput { + s.VersionArn = &v + return s +} + +// The combination of user name and password that are used as credentials. +type CredentialPair struct { + _ struct{} `type:"structure"` + + // A set of alternate data source parameters that you want to share for these + // credentials. The credentials are applied in tandem with the data source parameters + // when you copy a data source by using a create or update request. The API + // compares the DataSourceParameters structure that's in the request with the + // structures in the AlternateDataSourceParameters allowlist. If the structures + // are an exact match, the request is allowed to use the new data source with + // the existing credentials. If the AlternateDataSourceParameters list is null, + // the DataSourceParameters originally used with these Credentials is automatically + // allowed. + AlternateDataSourceParameters []*DataSourceParameters `min:"1" type:"list"` + + // Password. + // + // Password is a required field + Password *string `min:"1" type:"string" required:"true"` + + // User name. + // + // 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.AlternateDataSourceParameters != nil && len(s.AlternateDataSourceParameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlternateDataSourceParameters", 1)) + } + 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 s.AlternateDataSourceParameters != nil { + for i, v := range s.AlternateDataSourceParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AlternateDataSourceParameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlternateDataSourceParameters sets the AlternateDataSourceParameters field's value. +func (s *CredentialPair) SetAlternateDataSourceParameters(v []*DataSourceParameters) *CredentialPair { + s.AlternateDataSourceParameters = v + return s +} + +// 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 Amazon Resource Name (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 that this dataset was created. + CreatedTime *time.Time `type:"timestamp"` + + // Dashboard ID. + DashboardId *string `min:"1" type:"string"` + + // The last time that this dataset was published. + LastPublishedTime *time.Time `type:"timestamp"` + + // The last time that this dataset was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the dashboard. + 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 (one-time) 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 +} + +// A filter that you apply when searching for dashboards. +type DashboardSearchFilter struct { + _ struct{} `type:"structure"` + + // The name of the value that you want to use as a filter, for example, "Name": + // "QUICKSIGHT_USER". + Name *string `type:"string" enum:"DashboardFilterAttribute"` + + // The comparison operator that you want to use as a filter, for example, "Operator": + // "StringEquals". + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"FilterOperator"` + + // The value of the named item, in this case QUICKSIGHT_USER, that you want + // to use as a filter, for example, "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1". + Value *string `type:"string"` +} + +// String returns the string representation +func (s DashboardSearchFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardSearchFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashboardSearchFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashboardSearchFilter"} + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DashboardSearchFilter) SetName(v string) *DashboardSearchFilter { + s.Name = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *DashboardSearchFilter) SetOperator(v string) *DashboardSearchFilter { + s.Operator = &v + return s +} + +// SetValue sets the Value field's value. +func (s *DashboardSearchFilter) SetValue(v string) *DashboardSearchFilter { + s.Value = &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 that this dashboard was created. + CreatedTime *time.Time `type:"timestamp"` + + // Dashboard ID. + DashboardId *string `min:"1" type:"string"` + + // The last time that this dashboard was published. + LastPublishedTime *time.Time `type:"timestamp"` + + // The last time that this dashboard was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the dashboard. + 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 that this dashboard version was created. + CreatedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Numbers (ARNs) for the datasets that are associated with + // a version of the dashboard. + DataSetArns []*string `type:"list"` + + // Description. + Description *string `min:"1" type:"string"` + + // 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 +} + +// SetDataSetArns sets the DataSetArns field's value. +func (s *DashboardVersion) SetDataSetArns(v []*string) *DashboardVersion { + s.DataSetArns = v + return s +} + +// SetDescription sets the Description field's value. +func (s *DashboardVersion) SetDescription(v string) *DashboardVersion { + s.Description = &v + 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 that this dashboard version 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 +} - Message_ *string `locationName:"Message" type:"string"` +// The theme colors that are used for data colors in charts. The colors description +// is a hexidecimal color code that consists of six alphanumerical characters, +// prefixed with #, for example #37BFF5. +type DataColorPalette struct { + _ struct{} `type:"structure"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // The hexadecimal codes for the colors. + Colors []*string `type:"list"` + + // The hexadecimal code of a color that applies to charts where a lack of data + // is highlighted. + EmptyFillColor *string `type:"string"` + + // The minimum and maximum hexadecimal codes that describe a color gradient. + MinMaxGradient []*string `type:"list"` } // String returns the string representation -func (s AccessDeniedException) String() string { +func (s DataColorPalette) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AccessDeniedException) GoString() string { +func (s DataColorPalette) GoString() string { return s.String() } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, - } +// SetColors sets the Colors field's value. +func (s *DataColorPalette) SetColors(v []*string) *DataColorPalette { + s.Colors = v + return s } -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" +// SetEmptyFillColor sets the EmptyFillColor field's value. +func (s *DataColorPalette) SetEmptyFillColor(v string) *DataColorPalette { + s.EmptyFillColor = &v + return s } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetMinMaxGradient sets the MinMaxGradient field's value. +func (s *DataColorPalette) SetMinMaxGradient(v []*string) *DataColorPalette { + s.MinMaxGradient = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil -} +// Dataset. +type DataSet struct { + _ struct{} `type:"structure"` -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode -} + // Groupings of columns that work together in certain Amazon QuickSight features. + // Currently, only geospatial hierarchy is supported. + ColumnGroups []*ColumnGroup `min:"1" type:"list"` -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID -} + // 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 active AWS Identity and Access Management (IAM) policy assignment. -type ActiveIAMPolicyAssignment struct { - _ struct{} `type:"structure"` + // The time that this dataset was created. + CreatedTime *time.Time `type:"timestamp"` - // A name for the IAM policy assignment. - AssignmentName *string `min:"1" type:"string"` + // The ID of the dataset. + DataSetId *string `type:"string"` - // The Amazon Resource Name (ARN) of the resource. - PolicyArn *string `type:"string"` + // Indicates whether you want to import the data into SPICE. + ImportMode *string `type:"string" enum:"DataSetImportMode"` + + // The last time that this dataset 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"` + + // The row-level security configuration for the dataset. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` } // String returns the string representation -func (s ActiveIAMPolicyAssignment) String() string { +func (s DataSet) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ActiveIAMPolicyAssignment) GoString() string { +func (s DataSet) GoString() string { return s.String() } -// SetAssignmentName sets the AssignmentName field's value. -func (s *ActiveIAMPolicyAssignment) SetAssignmentName(v string) *ActiveIAMPolicyAssignment { - s.AssignmentName = &v +// SetArn sets the Arn field's value. +func (s *DataSet) SetArn(v string) *DataSet { + s.Arn = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *ActiveIAMPolicyAssignment) SetPolicyArn(v string) *ActiveIAMPolicyAssignment { - s.PolicyArn = &v +// SetColumnGroups sets the ColumnGroups field's value. +func (s *DataSet) SetColumnGroups(v []*ColumnGroup) *DataSet { + s.ColumnGroups = v return s } -// Ad hoc (one-time) filtering option. -type AdHocFilteringOption struct { +// 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"` - // Availability status. - AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` + // 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 AdHocFilteringOption) String() string { +func (s DataSetConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AdHocFilteringOption) GoString() string { +func (s DataSetConfiguration) GoString() string { return s.String() } -// SetAvailabilityStatus sets the AvailabilityStatus field's value. -func (s *AdHocFilteringOption) SetAvailabilityStatus(v string) *AdHocFilteringOption { - s.AvailabilityStatus = &v +// SetColumnGroupSchemaList sets the ColumnGroupSchemaList field's value. +func (s *DataSetConfiguration) SetColumnGroupSchemaList(v []*ColumnGroupSchema) *DataSetConfiguration { + s.ColumnGroupSchemaList = v return s } -// Amazon Elasticsearch Service parameters. -type AmazonElasticsearchParameters struct { +// 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"` - // The Amazon Elasticsearch Service domain. + // Dataset Amazon Resource Name (ARN). // - // Domain is a required field - Domain *string `min:"1" type:"string" required:"true"` + // 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 AmazonElasticsearchParameters) String() string { +func (s DataSetReference) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AmazonElasticsearchParameters) GoString() string { +func (s DataSetReference) 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")) +func (s *DataSetReference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSetReference"} + if s.DataSetArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetArn")) } - if s.Domain != nil && len(*s.Domain) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Domain", 1)) + if s.DataSetPlaceholder == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetPlaceholder")) } if invalidParams.Len() > 0 { @@ -7329,295 +14300,290 @@ func (s *AmazonElasticsearchParameters) Validate() error { return nil } -// SetDomain sets the Domain field's value. -func (s *AmazonElasticsearchParameters) SetDomain(v string) *AmazonElasticsearchParameters { - s.Domain = &v +// 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 } -// Amazon Athena parameters. -type AthenaParameters struct { +// Dataset schema. +type DataSetSchema struct { _ struct{} `type:"structure"` - // The workgroup that Amazon Athena uses. - WorkGroup *string `min:"1" type:"string"` + // A structure containing the list of column schemas. + ColumnSchemaList []*ColumnSchema `type:"list"` } // String returns the string representation -func (s AthenaParameters) String() string { +func (s DataSetSchema) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AthenaParameters) GoString() string { +func (s DataSetSchema) 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 +// SetColumnSchemaList sets the ColumnSchemaList field's value. +func (s *DataSetSchema) SetColumnSchemaList(v []*ColumnSchema) *DataSetSchema { + s.ColumnSchemaList = v return s } -// Amazon Aurora parameters. -type AuroraParameters struct { +// Dataset summary. +type DataSetSummary struct { _ struct{} `type:"structure"` - // Database. - // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the dataset. + Arn *string `type:"string"` - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // The time that this dataset was created. + CreatedTime *time.Time `type:"timestamp"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // The ID of the dataset. + DataSetId *string `type:"string"` + + // Indicates whether you want to import the data into SPICE. + ImportMode *string `type:"string" enum:"DataSetImportMode"` + + // The last time that this dataset was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the dataset. + Name *string `min:"1" type:"string"` + + // The row-level security configuration for the dataset. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` } // String returns the string representation -func (s AuroraParameters) String() string { +func (s DataSetSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AuroraParameters) GoString() string { +func (s DataSetSummary) 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)) - } +// SetArn sets the Arn field's value. +func (s *DataSetSummary) SetArn(v string) *DataSetSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreatedTime sets the CreatedTime field's value. +func (s *DataSetSummary) SetCreatedTime(v time.Time) *DataSetSummary { + s.CreatedTime = &v + return s } -// SetDatabase sets the Database field's value. -func (s *AuroraParameters) SetDatabase(v string) *AuroraParameters { - s.Database = &v +// SetDataSetId sets the DataSetId field's value. +func (s *DataSetSummary) SetDataSetId(v string) *DataSetSummary { + s.DataSetId = &v return s } -// SetHost sets the Host field's value. -func (s *AuroraParameters) SetHost(v string) *AuroraParameters { - s.Host = &v +// SetImportMode sets the ImportMode field's value. +func (s *DataSetSummary) SetImportMode(v string) *DataSetSummary { + s.ImportMode = &v return s } -// SetPort sets the Port field's value. -func (s *AuroraParameters) SetPort(v int64) *AuroraParameters { - s.Port = &v +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataSetSummary) SetLastUpdatedTime(v time.Time) *DataSetSummary { + s.LastUpdatedTime = &v return s } -// Amazon Aurora with PostgreSQL compatibility parameters. -type AuroraPostgreSqlParameters struct { +// 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"` - // Database. - // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // A set of alternate data source parameters that you want to share for the + // credentials stored with this data source. The credentials are applied in + // tandem with the data source parameters when you copy a data source by using + // a create or update request. The API compares the DataSourceParameters structure + // that's in the request with the structures in the AlternateDataSourceParameters + // allowlist. If the structures are an exact match, the request is allowed to + // use the credentials from this existing data source. If the AlternateDataSourceParameters + // list is null, the Credentials originally used with this DataSourceParameters + // are automatically allowed. + AlternateDataSourceParameters []*DataSourceParameters `min:"1" type:"list"` - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the data source. + Arn *string `type:"string"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // The time that this data source was created. + CreatedTime *time.Time `type:"timestamp"` + + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. + DataSourceId *string `type:"string"` + + // The parameters that Amazon QuickSight uses to connect to your underlying + // source. This is a variant type structure. For this structure to be valid, + // only one of the attributes can be non-null. + DataSourceParameters *DataSourceParameters `type:"structure"` + + // Error information from the last update or the creation of the data source. + ErrorInfo *DataSourceErrorInfo `type:"structure"` + + // The last time that this data source was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the data source. + Name *string `min:"1" type:"string"` + + // Secure Socket Layer (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 type 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 AuroraPostgreSqlParameters) String() string { +func (s DataSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AuroraPostgreSqlParameters) GoString() string { +func (s DataSource) 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)) - } +// SetAlternateDataSourceParameters sets the AlternateDataSourceParameters field's value. +func (s *DataSource) SetAlternateDataSourceParameters(v []*DataSourceParameters) *DataSource { + s.AlternateDataSourceParameters = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *DataSource) SetArn(v string) *DataSource { + s.Arn = &v + return s } -// SetDatabase sets the Database field's value. -func (s *AuroraPostgreSqlParameters) SetDatabase(v string) *AuroraPostgreSqlParameters { - s.Database = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *DataSource) SetCreatedTime(v time.Time) *DataSource { + s.CreatedTime = &v return s } -// SetHost sets the Host field's value. -func (s *AuroraPostgreSqlParameters) SetHost(v string) *AuroraPostgreSqlParameters { - s.Host = &v +// 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 } -// SetPort sets the Port field's value. -func (s *AuroraPostgreSqlParameters) SetPort(v int64) *AuroraPostgreSqlParameters { - s.Port = &v +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataSource) SetLastUpdatedTime(v time.Time) *DataSource { + s.LastUpdatedTime = &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"` +// SetName sets the Name field's value. +func (s *DataSource) SetName(v string) *DataSource { + s.Name = &v + return s } -// String returns the string representation -func (s AwsIotAnalyticsParameters) String() string { - return awsutil.Prettify(s) +// SetSslProperties sets the SslProperties field's value. +func (s *DataSource) SetSslProperties(v *SslProperties) *DataSource { + s.SslProperties = v + return s } -// GoString returns the string representation -func (s AwsIotAnalyticsParameters) GoString() string { - return s.String() +// SetStatus sets the Status field's value. +func (s *DataSource) SetStatus(v string) *DataSource { + s.Status = &v + return s } -// 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 +// SetType sets the Type field's value. +func (s *DataSource) SetType(v string) *DataSource { + s.Type = &v + return s } -// SetDataSetName sets the DataSetName field's value. -func (s *AwsIotAnalyticsParameters) SetDataSetName(v string) *AwsIotAnalyticsParameters { - s.DataSetName = &v +// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. +func (s *DataSource) SetVpcConnectionProperties(v *VpcConnectionProperties) *DataSource { + s.VpcConnectionProperties = v return s } -// A calculated column for a dataset. -type CalculatedColumn struct { - _ struct{} `type:"structure"` - - // A unique ID to identify a calculated column. During a dataset update, if - // the column ID of a calculated column matches that of an existing calculated - // column, Amazon QuickSight preserves the existing calculated column. - // - // ColumnId is a required field - ColumnId *string `min:"1" type:"string" required:"true"` +// Data source credentials. This is a variant type structure. For this structure +// to be valid, only one of the attributes can be non-null. +type DataSourceCredentials struct { + _ struct{} `type:"structure" sensitive:"true"` - // Column name. - // - // ColumnName is a required field - ColumnName *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of a data source that has the credential pair + // that you want to use. When CopySourceArn is not null, the credential pair + // from the data source in the ARN is used as the credentials for the DataSourceCredentials + // structure. + CopySourceArn *string `type:"string"` - // An expression that defines the calculated column. - // - // Expression is a required field - Expression *string `min:"1" type:"string" required:"true"` + // Credential pair. For more information, see CredentialPair. + CredentialPair *CredentialPair `type:"structure"` } // String returns the string representation -func (s CalculatedColumn) String() string { +func (s DataSourceCredentials) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CalculatedColumn) GoString() string { +func (s DataSourceCredentials) 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)) +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 { @@ -7626,189 +14592,222 @@ func (s *CalculatedColumn) Validate() error { 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 +// SetCopySourceArn sets the CopySourceArn field's value. +func (s *DataSourceCredentials) SetCopySourceArn(v string) *DataSourceCredentials { + s.CopySourceArn = &v return s } -// SetExpression sets the Expression field's value. -func (s *CalculatedColumn) SetExpression(v string) *CalculatedColumn { - s.Expression = &v +// SetCredentialPair sets the CredentialPair field's value. +func (s *DataSourceCredentials) SetCredentialPair(v *CredentialPair) *DataSourceCredentials { + s.CredentialPair = v return s } -type CancelIngestionInput struct { +// Error information for the data source creation or update. +type DataSourceErrorInfo 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"` + // Error message. + Message *string `type:"string"` - // An ID for the ingestion. - // - // IngestionId is a required field - IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` + // Error type. + Type *string `type:"string" enum:"DataSourceErrorInfoType"` } // String returns the string representation -func (s CancelIngestionInput) String() string { +func (s DataSourceErrorInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CancelIngestionInput) GoString() string { +func (s DataSourceErrorInfo) 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 +// SetMessage sets the Message field's value. +func (s *DataSourceErrorInfo) SetMessage(v string) *DataSourceErrorInfo { + s.Message = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *CancelIngestionInput) SetIngestionId(v string) *CancelIngestionInput { - s.IngestionId = &v +// SetType sets the Type field's value. +func (s *DataSourceErrorInfo) SetType(v string) *DataSourceErrorInfo { + s.Type = &v return s } -type CancelIngestionOutput struct { +// The parameters that Amazon QuickSight uses to connect to your underlying +// data source. This is a variant type structure. For this structure to be valid, +// only one of the attributes can be non-null. +type DataSourceParameters struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the data ingestion. - Arn *string `type:"string"` + // Amazon Elasticsearch Service parameters. + AmazonElasticsearchParameters *AmazonElasticsearchParameters `type:"structure"` - // An ID for the ingestion. - IngestionId *string `min:"1" type:"string"` + // Amazon Athena parameters. + AthenaParameters *AthenaParameters `type:"structure"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Amazon Aurora MySQL parameters. + AuroraParameters *AuroraParameters `type:"structure"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` -} + // Aurora PostgreSQL parameters. + AuroraPostgreSqlParameters *AuroraPostgreSqlParameters `type:"structure"` -// String returns the string representation -func (s CancelIngestionOutput) String() string { - return awsutil.Prettify(s) -} + // AWS IoT Analytics parameters. + AwsIotAnalyticsParameters *AwsIotAnalyticsParameters `type:"structure"` -// GoString returns the string representation -func (s CancelIngestionOutput) GoString() string { - return s.String() -} + // Jira parameters. + JiraParameters *JiraParameters `type:"structure"` -// SetArn sets the Arn field's value. -func (s *CancelIngestionOutput) SetArn(v string) *CancelIngestionOutput { - s.Arn = &v - return s -} + // MariaDB parameters. + MariaDbParameters *MariaDbParameters `type:"structure"` + + // MySQL parameters. + MySqlParameters *MySqlParameters `type:"structure"` + + // PostgreSQL parameters. + PostgreSqlParameters *PostgreSqlParameters `type:"structure"` + + // Presto parameters. + PrestoParameters *PrestoParameters `type:"structure"` + + // Amazon RDS parameters. + RdsParameters *RdsParameters `type:"structure"` -// SetIngestionId sets the IngestionId field's value. -func (s *CancelIngestionOutput) SetIngestionId(v string) *CancelIngestionOutput { - s.IngestionId = &v - return s -} + // Amazon Redshift parameters. + RedshiftParameters *RedshiftParameters `type:"structure"` -// SetRequestId sets the RequestId field's value. -func (s *CancelIngestionOutput) SetRequestId(v string) *CancelIngestionOutput { - s.RequestId = &v - return s -} + // S3 parameters. + S3Parameters *S3Parameters `type:"structure"` -// SetStatus sets the Status field's value. -func (s *CancelIngestionOutput) SetStatus(v int64) *CancelIngestionOutput { - s.Status = &v - return s -} + // ServiceNow parameters. + ServiceNowParameters *ServiceNowParameters `type:"structure"` -// A transform operation that casts a column to a different type. -type CastColumnTypeOperation struct { - _ struct{} `type:"structure"` + // Snowflake parameters. + SnowflakeParameters *SnowflakeParameters `type:"structure"` - // Column name. - // - // ColumnName is a required field - ColumnName *string `min:"1" type:"string" required:"true"` + // Spark parameters. + SparkParameters *SparkParameters `type:"structure"` - // When casting a column from string to datetime type, you can supply a string - // in a format supported by Amazon QuickSight to denote the source data format. - Format *string `type:"string"` + // SQL Server parameters. + SqlServerParameters *SqlServerParameters `type:"structure"` - // New column data type. - // - // NewColumnType is a required field - NewColumnType *string `type:"string" required:"true" enum:"ColumnDataType"` + // Teradata parameters. + TeradataParameters *TeradataParameters `type:"structure"` + + // Twitter parameters. + TwitterParameters *TwitterParameters `type:"structure"` } // String returns the string representation -func (s CastColumnTypeOperation) String() string { +func (s DataSourceParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CastColumnTypeOperation) GoString() string { +func (s DataSourceParameters) 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")) +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.ColumnName != nil && len(*s.ColumnName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + if s.AthenaParameters != nil { + if err := s.AthenaParameters.Validate(); err != nil { + invalidParams.AddNested("AthenaParameters", err.(request.ErrInvalidParams)) + } } - if s.NewColumnType == nil { - invalidParams.Add(request.NewErrParamRequired("NewColumnType")) + 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 { @@ -7817,440 +14816,340 @@ func (s *CastColumnTypeOperation) Validate() error { return nil } -// SetColumnName sets the ColumnName field's value. -func (s *CastColumnTypeOperation) SetColumnName(v string) *CastColumnTypeOperation { - s.ColumnName = &v +// SetAmazonElasticsearchParameters sets the AmazonElasticsearchParameters field's value. +func (s *DataSourceParameters) SetAmazonElasticsearchParameters(v *AmazonElasticsearchParameters) *DataSourceParameters { + s.AmazonElasticsearchParameters = v return s } -// SetFormat sets the Format field's value. -func (s *CastColumnTypeOperation) SetFormat(v string) *CastColumnTypeOperation { - s.Format = &v +// SetAthenaParameters sets the AthenaParameters field's value. +func (s *DataSourceParameters) SetAthenaParameters(v *AthenaParameters) *DataSourceParameters { + s.AthenaParameters = v return s } -// SetNewColumnType sets the NewColumnType field's value. -func (s *CastColumnTypeOperation) SetNewColumnType(v string) *CastColumnTypeOperation { - s.NewColumnType = &v +// SetAuroraParameters sets the AuroraParameters field's value. +func (s *DataSourceParameters) SetAuroraParameters(v *AuroraParameters) *DataSourceParameters { + s.AuroraParameters = v return s } -// Groupings of columns that work together in certain Amazon QuickSight features. -// This is a variant type structure. For this structure to be valid, only one -// of the attributes can be non-null. -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 +// SetAuroraPostgreSqlParameters sets the AuroraPostgreSqlParameters field's value. +func (s *DataSourceParameters) SetAuroraPostgreSqlParameters(v *AuroraPostgreSqlParameters) *DataSourceParameters { + s.AuroraPostgreSqlParameters = v return s } -// A structure describing the name, data type, 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"` +// SetAwsIotAnalyticsParameters sets the AwsIotAnalyticsParameters field's value. +func (s *DataSourceParameters) SetAwsIotAnalyticsParameters(v *AwsIotAnalyticsParameters) *DataSourceParameters { + s.AwsIotAnalyticsParameters = v + return s } -// String returns the string representation -func (s ColumnGroupColumnSchema) String() string { - return awsutil.Prettify(s) +// SetJiraParameters sets the JiraParameters field's value. +func (s *DataSourceParameters) SetJiraParameters(v *JiraParameters) *DataSourceParameters { + s.JiraParameters = v + return s } -// GoString returns the string representation -func (s ColumnGroupColumnSchema) GoString() string { - return s.String() +// SetMariaDbParameters sets the MariaDbParameters field's value. +func (s *DataSourceParameters) SetMariaDbParameters(v *MariaDbParameters) *DataSourceParameters { + s.MariaDbParameters = v + return s } -// SetName sets the Name field's value. -func (s *ColumnGroupColumnSchema) SetName(v string) *ColumnGroupColumnSchema { - s.Name = &v +// SetMySqlParameters sets the MySqlParameters field's value. +func (s *DataSourceParameters) SetMySqlParameters(v *MySqlParameters) *DataSourceParameters { + s.MySqlParameters = v return s } -// The column group schema. -type ColumnGroupSchema struct { - _ struct{} `type:"structure"` - - // A structure containing the list of schemas for column group columns. - ColumnGroupColumnSchemaList []*ColumnGroupColumnSchema `type:"list"` - - // The name of the column group schema. - Name *string `type:"string"` +// SetPostgreSqlParameters sets the PostgreSqlParameters field's value. +func (s *DataSourceParameters) SetPostgreSqlParameters(v *PostgreSqlParameters) *DataSourceParameters { + s.PostgreSqlParameters = v + return s } -// String returns the string representation -func (s ColumnGroupSchema) String() string { - return awsutil.Prettify(s) +// SetPrestoParameters sets the PrestoParameters field's value. +func (s *DataSourceParameters) SetPrestoParameters(v *PrestoParameters) *DataSourceParameters { + s.PrestoParameters = v + return s } -// GoString returns the string representation -func (s ColumnGroupSchema) GoString() string { - return s.String() +// SetRdsParameters sets the RdsParameters field's value. +func (s *DataSourceParameters) SetRdsParameters(v *RdsParameters) *DataSourceParameters { + s.RdsParameters = v + return s } -// SetColumnGroupColumnSchemaList sets the ColumnGroupColumnSchemaList field's value. -func (s *ColumnGroupSchema) SetColumnGroupColumnSchemaList(v []*ColumnGroupColumnSchema) *ColumnGroupSchema { - s.ColumnGroupColumnSchemaList = v +// SetRedshiftParameters sets the RedshiftParameters field's value. +func (s *DataSourceParameters) SetRedshiftParameters(v *RedshiftParameters) *DataSourceParameters { + s.RedshiftParameters = v return s } -// SetName sets the Name field's value. -func (s *ColumnGroupSchema) SetName(v string) *ColumnGroupSchema { - s.Name = &v +// SetS3Parameters sets the S3Parameters field's value. +func (s *DataSourceParameters) SetS3Parameters(v *S3Parameters) *DataSourceParameters { + s.S3Parameters = 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"` +// SetServiceNowParameters sets the ServiceNowParameters field's value. +func (s *DataSourceParameters) SetServiceNowParameters(v *ServiceNowParameters) *DataSourceParameters { + s.ServiceNowParameters = v + return s } -// String returns the string representation -func (s ColumnSchema) String() string { - return awsutil.Prettify(s) +// SetSnowflakeParameters sets the SnowflakeParameters field's value. +func (s *DataSourceParameters) SetSnowflakeParameters(v *SnowflakeParameters) *DataSourceParameters { + s.SnowflakeParameters = v + return s } -// GoString returns the string representation -func (s ColumnSchema) GoString() string { - return s.String() +// SetSparkParameters sets the SparkParameters field's value. +func (s *DataSourceParameters) SetSparkParameters(v *SparkParameters) *DataSourceParameters { + s.SparkParameters = v + return s } -// SetDataType sets the DataType field's value. -func (s *ColumnSchema) SetDataType(v string) *ColumnSchema { - s.DataType = &v +// SetSqlServerParameters sets the SqlServerParameters field's value. +func (s *DataSourceParameters) SetSqlServerParameters(v *SqlServerParameters) *DataSourceParameters { + s.SqlServerParameters = v return s } -// SetGeographicRole sets the GeographicRole field's value. -func (s *ColumnSchema) SetGeographicRole(v string) *ColumnSchema { - s.GeographicRole = &v +// SetTeradataParameters sets the TeradataParameters field's value. +func (s *DataSourceParameters) SetTeradataParameters(v *TeradataParameters) *DataSourceParameters { + s.TeradataParameters = v return s } -// SetName sets the Name field's value. -func (s *ColumnSchema) SetName(v string) *ColumnSchema { - s.Name = &v +// SetTwitterParameters sets the TwitterParameters field's value. +func (s *DataSourceParameters) SetTwitterParameters(v *TwitterParameters) *DataSourceParameters { + s.TwitterParameters = v return s } -// A tag for a column in a TagColumnOperation structure. This is a variant type -// structure. For this structure to be valid, only one of the attributes can -// be non-null. -type ColumnTag struct { +// Date time parameter. +type DateTimeParameter struct { _ struct{} `type:"structure"` - // A geospatial role for a column. - ColumnGeographicRole *string `type:"string" enum:"GeoSpatialDataRole"` + // 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 ColumnTag) String() string { +func (s DateTimeParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ColumnTag) GoString() string { +func (s DateTimeParameter) GoString() string { return s.String() } -// SetColumnGeographicRole sets the ColumnGeographicRole field's value. -func (s *ColumnTag) SetColumnGeographicRole(v string) *ColumnTag { - s.ColumnGeographicRole = &v +// 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 } -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. -type ConcurrentUpdatingException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetValues sets the Values field's value. +func (s *DateTimeParameter) SetValues(v []*time.Time) *DateTimeParameter { + s.Values = v + return s +} - Message_ *string `locationName:"Message" type:"string"` +// Decimal parameter. +type DecimalParameter struct { + _ struct{} `type:"structure"` - RequestId *string `type:"string"` + // 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 ConcurrentUpdatingException) String() string { +func (s DecimalParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ConcurrentUpdatingException) GoString() string { +func (s DecimalParameter) GoString() string { return s.String() } -func newErrorConcurrentUpdatingException(v protocol.ResponseMetadata) error { - return &ConcurrentUpdatingException{ - RespMetadata: v, +// 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")) } -} - -// Code returns the exception type name. -func (s *ConcurrentUpdatingException) Code() string { - return "ConcurrentUpdatingException" -} - -// Message returns the exception's message. -func (s *ConcurrentUpdatingException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConcurrentUpdatingException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ConcurrentUpdatingException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ConcurrentUpdatingException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetName sets the Name field's value. +func (s *DecimalParameter) SetName(v string) *DecimalParameter { + s.Name = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConcurrentUpdatingException) RequestID() string { - return s.RespMetadata.RequestID +// SetValues sets the Values field's value. +func (s *DecimalParameter) SetValues(v []*float64) *DecimalParameter { + s.Values = v + return s } -// Updating or deleting a resource can cause an inconsistent state. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type DeleteAccountCustomizationInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The ID for the AWS account that you want to delete QuickSight customizations + // from. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // The namespace associated with the customization that you're deleting. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` } // String returns the string representation -func (s ConflictException) String() string { +func (s DeleteAccountCustomizationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ConflictException) GoString() string { +func (s DeleteAccountCustomizationInput) GoString() string { return s.String() } -func newErrorConflictException(v protocol.ResponseMetadata) error { - return &ConflictException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAccountCustomizationInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } -} - -// Code returns the exception type name. -func (s *ConflictException) Code() string { - return "ConflictException" -} - -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteAccountCustomizationInput) SetAwsAccountId(v string) *DeleteAccountCustomizationInput { + s.AwsAccountId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetNamespace sets the Namespace field's value. +func (s *DeleteAccountCustomizationInput) SetNamespace(v string) *DeleteAccountCustomizationInput { + s.Namespace = &v + return s } -// A transform operation that creates calculated columns. Columns created in -// one such operation form a lexical closure. -type CreateColumnsOperation struct { +type DeleteAccountCustomizationOutput struct { _ struct{} `type:"structure"` - // Calculated columns to create. - // - // Columns is a required field - Columns []*CalculatedColumn `min:"1" type:"list" required:"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 CreateColumnsOperation) String() string { +func (s DeleteAccountCustomizationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateColumnsOperation) GoString() string { +func (s DeleteAccountCustomizationOutput) 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 +// SetRequestId sets the RequestId field's value. +func (s *DeleteAccountCustomizationOutput) SetRequestId(v string) *DeleteAccountCustomizationOutput { + s.RequestId = &v + return s } -// SetColumns sets the Columns field's value. -func (s *CreateColumnsOperation) SetColumns(v []*CalculatedColumn) *CreateColumnsOperation { - s.Columns = v +// SetStatus sets the Status field's value. +func (s *DeleteAccountCustomizationOutput) SetStatus(v int64) *DeleteAccountCustomizationOutput { + s.Status = &v return s } -type CreateDashboardInput struct { +type DeleteDashboardInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account where you want to create the dashboard. + // The ID of the AWS account that contains the dashboard that you're deleting. // // 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 the IAM policy. + // The ID for the dashboard. // // DashboardId is a required field DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // Options for publishing the dashboard when you create it: - // - // * AvailabilityStatus for AdHocFilteringOption - This status can be either - // ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables - // the left filter pane on the published dashboard, which can be used for - // ad hoc (one-time) filtering. This option is ENABLED by default. - // - // * AvailabilityStatus for ExportToCSVOption - This status can be either - // ENABLED or DISABLED. The visual option to export data to .csv format isn't - // enabled when this is set to DISABLED. This option is ENABLED by default. - // - // * VisibilityState for SheetControlsOption - This visibility state can - // be either COLLAPSED or EXPANDED. This option is 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. These are parameter - // overrides for a dashboard. A dashboard can have any type of parameters, and - // some parameters might accept multiple values. - Parameters *Parameters `type:"structure"` - - // A structure that contains the permissions of the dashboard. You can use this - // structure for granting permissions with principal and action information. - Permissions []*ResourcePermission `min:"1" type:"list"` - - // The entity that you are using as a source when you create the dashboard. - // In SourceEntity, you specify the type of object you're using as source. You - // can only create a dashboard from a template, so you use a SourceTemplate - // entity. If you need to create a dashboard from an analysis, first convert - // the analysis to a template by using the CreateTemplate API operation. For - // SourceTemplate, specify the Amazon Resource Name (ARN) of the source template. - // The SourceTemplateARN can contain any AWS Account and any QuickSight-supported - // AWS Region. - // - // Use the DataSetReferences entity within SourceTemplate to list the replacement - // datasets for the placeholders listed in the original. The schema in each - // dataset must match its placeholder. - // - // 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"` + // The version number of the dashboard. If the 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 CreateDashboardInput) String() string { +func (s DeleteDashboardInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDashboardInput) GoString() string { +func (s DeleteDashboardInput) 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"} +func (s *DeleteDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -8263,53 +15162,8 @@ func (s *CreateDashboardInput) Validate() error { 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 s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -8319,129 +15173,184 @@ func (s *CreateDashboardInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateDashboardInput) SetAwsAccountId(v string) *CreateDashboardInput { +func (s *DeleteDashboardInput) SetAwsAccountId(v string) *DeleteDashboardInput { s.AwsAccountId = &v return s } // SetDashboardId sets the DashboardId field's value. -func (s *CreateDashboardInput) SetDashboardId(v string) *CreateDashboardInput { +func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput { s.DashboardId = &v return s } -// SetDashboardPublishOptions sets the DashboardPublishOptions field's value. -func (s *CreateDashboardInput) SetDashboardPublishOptions(v *DashboardPublishOptions) *CreateDashboardInput { - s.DashboardPublishOptions = v +// SetVersionNumber sets the VersionNumber field's value. +func (s *DeleteDashboardInput) SetVersionNumber(v int64) *DeleteDashboardInput { + s.VersionNumber = &v return s } -// SetName sets the Name field's value. -func (s *CreateDashboardInput) SetName(v string) *CreateDashboardInput { - s.Name = &v +type DeleteDashboardOutput struct { + _ struct{} `type:"structure"` + + // The Secure Socket Layer (SSL) properties that apply for 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 } -// SetParameters sets the Parameters field's value. -func (s *CreateDashboardInput) SetParameters(v *Parameters) *CreateDashboardInput { - s.Parameters = v +// SetDashboardId sets the DashboardId field's value. +func (s *DeleteDashboardOutput) SetDashboardId(v string) *DeleteDashboardOutput { + s.DashboardId = &v return s } -// SetPermissions sets the Permissions field's value. -func (s *CreateDashboardInput) SetPermissions(v []*ResourcePermission) *CreateDashboardInput { - s.Permissions = v +// SetRequestId sets the RequestId field's value. +func (s *DeleteDashboardOutput) SetRequestId(v string) *DeleteDashboardOutput { + s.RequestId = &v return s } -// SetSourceEntity sets the SourceEntity field's value. -func (s *CreateDashboardInput) SetSourceEntity(v *DashboardSourceEntity) *CreateDashboardInput { - s.SourceEntity = v +// SetStatus sets the Status field's value. +func (s *DeleteDashboardOutput) SetStatus(v int64) *DeleteDashboardOutput { + s.Status = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateDashboardInput) SetTags(v []*Tag) *CreateDashboardInput { - s.Tags = v +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 that you want to create. This ID is unique per AWS + // Region for each 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 } -// SetVersionDescription sets the VersionDescription field's value. -func (s *CreateDashboardInput) SetVersionDescription(v string) *CreateDashboardInput { - s.VersionDescription = &v +// SetDataSetId sets the DataSetId field's value. +func (s *DeleteDataSetInput) SetDataSetId(v string) *DeleteDataSetInput { + s.DataSetId = &v return s } -type CreateDashboardOutput struct { +type DeleteDataSetOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dashboard. + // The Amazon Resource Name (ARN) of the dataset. Arn *string `type:"string"` - // The status of the dashboard creation request. - CreationStatus *string `type:"string" enum:"ResourceStatus"` - - // The ID for the dashboard. - DashboardId *string `min:"1" type:"string"` + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each 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"` - - // 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 { +func (s DeleteDataSetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDashboardOutput) GoString() string { +func (s DeleteDataSetOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CreateDashboardOutput) SetArn(v string) *CreateDashboardOutput { +func (s *DeleteDataSetOutput) SetArn(v string) *DeleteDataSetOutput { 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 +// 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 *CreateDashboardOutput) SetRequestId(v string) *CreateDashboardOutput { +func (s *DeleteDataSetOutput) SetRequestId(v string) *DeleteDataSetOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateDashboardOutput) SetStatus(v int64) *CreateDashboardOutput { +func (s *DeleteDataSetOutput) SetStatus(v int64) *DeleteDataSetOutput { 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 { +type DeleteDataSourceInput struct { _ struct{} `type:"structure"` // The AWS account ID. @@ -8449,149 +15358,37 @@ type CreateDataSetInput struct { // 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 that you want to create. This ID is unique per AWS - // Region for each AWS account. - // - // DataSetId is a required field - DataSetId *string `type:"string" required:"true"` - - // Indicates whether 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. + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. // - // PhysicalTableMap is a required field - PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map" required:"true"` - - // The row-level security configuration for the data that 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"` + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` } // String returns the string representation -func (s CreateDataSetInput) String() string { +func (s DeleteDataSourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDataSetInput) GoString() string { +func (s DeleteDataSourceInput) 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"} +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.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.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) } - 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.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) } if invalidParams.Len() > 0 { @@ -8601,82 +15398,26 @@ func (s *CreateDataSetInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateDataSetInput) SetAwsAccountId(v string) *CreateDataSetInput { +func (s *DeleteDataSourceInput) SetAwsAccountId(v string) *DeleteDataSourceInput { 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 +// SetDataSourceId sets the DataSourceId field's value. +func (s *DeleteDataSourceInput) SetDataSourceId(v string) *DeleteDataSourceInput { + s.DataSourceId = &v return s } -type CreateDataSetOutput struct { +type DeleteDataSourceOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dataset. + // The Amazon Resource Name (ARN) of the data source that you deleted. Arn *string `type:"string"` - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - DataSetId *string `type:"string"` - - // The 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 ID of the data source. This ID is unique per AWS Region for each AWS + // account. + DataSourceId *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -8686,172 +15427,89 @@ type CreateDataSetOutput struct { } // String returns the string representation -func (s CreateDataSetOutput) String() string { +func (s DeleteDataSourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDataSetOutput) GoString() string { +func (s DeleteDataSourceOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CreateDataSetOutput) SetArn(v string) *CreateDataSetOutput { +func (s *DeleteDataSourceOutput) SetArn(v string) *DeleteDataSourceOutput { 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 +// 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 *CreateDataSetOutput) SetRequestId(v string) *CreateDataSetOutput { +func (s *DeleteDataSourceOutput) SetRequestId(v string) *DeleteDataSourceOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateDataSetOutput) SetStatus(v int64) *CreateDataSetOutput { +func (s *DeleteDataSourceOutput) SetStatus(v int64) *DeleteDataSourceOutput { s.Status = &v return s } -type CreateDataSourceInput struct { +type DeleteGroupInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // 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 credentials QuickSight that uses to connect to your underlying source. - // Currently, only credentials based on user name and password are supported. - Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` - - // An ID for the data source. This ID is unique per AWS Region for each AWS - // account. - // - // DataSourceId is a required field - DataSourceId *string `type:"string" required:"true"` - - // The parameters that QuickSight uses to connect to your underlying source. - DataSourceParameters *DataSourceParameters `type:"structure"` - - // A display name for the data source. + // The name of the group that you want to delete. // - // 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"` - - // Secure Socket Layer (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"` + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` - // 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. + // The namespace. Currently, you should set this to default. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"DataSourceType"` - - // Use this parameter only when you want QuickSight to use a VPC connection - // when connecting to your underlying source. - VpcConnectionProperties *VpcConnectionProperties `type:"structure"` + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` } // String returns the string representation -func (s CreateDataSourceInput) String() string { +func (s DeleteGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDataSourceInput) GoString() string { +func (s DeleteGroupInput) 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"} +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.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.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) } - 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.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 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 s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.VpcConnectionProperties != nil { - if err := s.VpcConnectionProperties.Validate(); err != nil { - invalidParams.AddNested("VpcConnectionProperties", err.(request.ErrInvalidParams)) - } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } if invalidParams.Len() > 0 { @@ -8861,78 +15519,119 @@ func (s *CreateDataSourceInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateDataSourceInput) SetAwsAccountId(v string) *CreateDataSourceInput { +func (s *DeleteGroupInput) SetAwsAccountId(v string) *DeleteGroupInput { s.AwsAccountId = &v return s } -// SetCredentials sets the Credentials field's value. -func (s *CreateDataSourceInput) SetCredentials(v *DataSourceCredentials) *CreateDataSourceInput { - s.Credentials = v +// SetGroupName sets the GroupName field's value. +func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { + s.GroupName = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *CreateDataSourceInput) SetDataSourceId(v string) *CreateDataSourceInput { - s.DataSourceId = &v +// SetNamespace sets the Namespace field's value. +func (s *DeleteGroupInput) SetNamespace(v string) *DeleteGroupInput { + s.Namespace = &v return s } -// SetDataSourceParameters sets the DataSourceParameters field's value. -func (s *CreateDataSourceInput) SetDataSourceParameters(v *DataSourceParameters) *CreateDataSourceInput { - s.DataSourceParameters = 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"` } -// SetName sets the Name field's value. -func (s *CreateDataSourceInput) SetName(v string) *CreateDataSourceInput { - s.Name = &v - return s +// String returns the string representation +func (s DeleteGroupMembershipInput) String() string { + return awsutil.Prettify(s) } -// SetPermissions sets the Permissions field's value. -func (s *CreateDataSourceInput) SetPermissions(v []*ResourcePermission) *CreateDataSourceInput { - s.Permissions = v - return s +// GoString returns the string representation +func (s DeleteGroupMembershipInput) GoString() string { + return s.String() } -// SetSslProperties sets the SslProperties field's value. -func (s *CreateDataSourceInput) SetSslProperties(v *SslProperties) *CreateDataSourceInput { - s.SslProperties = v - return s +// 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 } -// SetTags sets the Tags field's value. -func (s *CreateDataSourceInput) SetTags(v []*Tag) *CreateDataSourceInput { - s.Tags = v +// 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 } -// SetType sets the Type field's value. -func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput { - s.Type = &v +// SetMemberName sets the MemberName field's value. +func (s *DeleteGroupMembershipInput) SetMemberName(v string) *DeleteGroupMembershipInput { + s.MemberName = &v return s } -// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. -func (s *CreateDataSourceInput) SetVpcConnectionProperties(v *VpcConnectionProperties) *CreateDataSourceInput { - s.VpcConnectionProperties = v +// SetNamespace sets the Namespace field's value. +func (s *DeleteGroupMembershipInput) SetNamespace(v string) *DeleteGroupMembershipInput { + s.Namespace = &v return s } -type CreateDataSourceOutput struct { +type DeleteGroupMembershipOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (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 ID is unique per AWS Region for each AWS - // account. - DataSourceId *string `type:"string"` - // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -8941,97 +15640,103 @@ type CreateDataSourceOutput struct { } // String returns the string representation -func (s CreateDataSourceOutput) String() string { +func (s DeleteGroupMembershipOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDataSourceOutput) GoString() string { +func (s DeleteGroupMembershipOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CreateDataSourceOutput) SetArn(v string) *CreateDataSourceOutput { - s.Arn = &v +// SetRequestId sets the RequestId field's value. +func (s *DeleteGroupMembershipOutput) SetRequestId(v string) *DeleteGroupMembershipOutput { + s.RequestId = &v return s } -// SetCreationStatus sets the CreationStatus field's value. -func (s *CreateDataSourceOutput) SetCreationStatus(v string) *CreateDataSourceOutput { - s.CreationStatus = &v +// SetStatus sets the Status field's value. +func (s *DeleteGroupMembershipOutput) SetStatus(v int64) *DeleteGroupMembershipOutput { + s.Status = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *CreateDataSourceOutput) SetDataSourceId(v string) *CreateDataSourceOutput { - s.DataSourceId = &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 *CreateDataSourceOutput) SetRequestId(v string) *CreateDataSourceOutput { +func (s *DeleteGroupOutput) SetRequestId(v string) *DeleteGroupOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateDataSourceOutput) SetStatus(v int64) *CreateDataSourceOutput { +func (s *DeleteGroupOutput) SetStatus(v int64) *DeleteGroupOutput { s.Status = &v return s } -// The request object for this operation. -type CreateGroupInput struct { +type DeleteIAMPolicyAssignmentInput 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 name of the assignment. // - // 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"` + // AssignmentName is a required field + AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` - // A name for the group that you want to create. + // The AWS account ID where you want to delete the IAM policy assignment. // - // GroupName is a required field - GroupName *string `min:"1" type:"string" required:"true"` + // 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 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 CreateGroupInput) String() string { +func (s DeleteIAMPolicyAssignmentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupInput) GoString() string { +func (s DeleteIAMPolicyAssignmentInput) 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"} +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.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")) } @@ -9045,86 +15750,99 @@ func (s *CreateGroupInput) Validate() error { 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 *CreateGroupInput) SetAwsAccountId(v string) *CreateGroupInput { +func (s *DeleteIAMPolicyAssignmentInput) SetAwsAccountId(v string) *DeleteIAMPolicyAssignmentInput { s.AwsAccountId = &v return s } -// SetDescription sets the Description field's value. -func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { - s.Description = &v +// SetNamespace sets the Namespace field's value. +func (s *DeleteIAMPolicyAssignmentInput) SetNamespace(v string) *DeleteIAMPolicyAssignmentInput { + s.Namespace = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput { - s.GroupName = &v +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 } -// SetNamespace sets the Namespace field's value. -func (s *CreateGroupInput) SetNamespace(v string) *CreateGroupInput { - s.Namespace = &v +// SetRequestId sets the RequestId field's value. +func (s *DeleteIAMPolicyAssignmentOutput) SetRequestId(v string) *DeleteIAMPolicyAssignmentOutput { + s.RequestId = &v return s } -type CreateGroupMembershipInput struct { +// SetStatus sets the Status field's value. +func (s *DeleteIAMPolicyAssignmentOutput) SetStatus(v int64) *DeleteIAMPolicyAssignmentOutput { + s.Status = &v + return s +} + +type DeleteNamespaceInput 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 ID for the AWS account that you want to delete the QuickSight namespace + // from. // // 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. + // The namespace that you want to delete. // // 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 { +func (s DeleteNamespaceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupMembershipInput) GoString() string { +func (s DeleteNamespaceInput) 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"} +func (s *DeleteNamespaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteNamespaceInput"} 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")) } @@ -9139,186 +15857,231 @@ func (s *CreateGroupMembershipInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateGroupMembershipInput) SetAwsAccountId(v string) *CreateGroupMembershipInput { +func (s *DeleteNamespaceInput) SetAwsAccountId(v string) *DeleteNamespaceInput { s.AwsAccountId = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *CreateGroupMembershipInput) SetGroupName(v string) *CreateGroupMembershipInput { - s.GroupName = &v +// SetNamespace sets the Namespace field's value. +func (s *DeleteNamespaceInput) SetNamespace(v string) *DeleteNamespaceInput { + s.Namespace = &v return s } -// SetMemberName sets the MemberName field's value. -func (s *CreateGroupMembershipInput) SetMemberName(v string) *CreateGroupMembershipInput { - s.MemberName = &v +type DeleteNamespaceOutput 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 DeleteNamespaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNamespaceOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteNamespaceOutput) SetRequestId(v string) *DeleteNamespaceOutput { + s.RequestId = &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 *DeleteNamespaceOutput) SetStatus(v int64) *DeleteNamespaceOutput { + s.Status = &v return s } -type CreateGroupMembershipOutput struct { +type DeleteTemplateAliasInput struct { _ struct{} `type:"structure"` - // The group member. - GroupMember *GroupMember `type:"structure"` + // The name for the template alias. To delete a specific alias, you delete the + // version that the alias points to. You can specify the alias name, or specify + // the latest version of the template by providing the keyword $LATEST in the + // AliasName parameter. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The ID of the AWS account that contains the item to delete. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The ID for the template that the specified alias is for. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateGroupMembershipOutput) String() string { +func (s DeleteTemplateAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupMembershipOutput) GoString() string { +func (s DeleteTemplateAliasInput) GoString() string { return s.String() } -// SetGroupMember sets the GroupMember field's value. -func (s *CreateGroupMembershipOutput) SetGroupMember(v *GroupMember) *CreateGroupMembershipOutput { - s.GroupMember = v +// 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 } -// SetRequestId sets the RequestId field's value. -func (s *CreateGroupMembershipOutput) SetRequestId(v string) *CreateGroupMembershipOutput { - s.RequestId = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteTemplateAliasInput) SetAwsAccountId(v string) *DeleteTemplateAliasInput { + s.AwsAccountId = &v return s } -// SetStatus sets the Status field's value. -func (s *CreateGroupMembershipOutput) SetStatus(v int64) *CreateGroupMembershipOutput { - s.Status = &v +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateAliasInput) SetTemplateId(v string) *DeleteTemplateAliasInput { + s.TemplateId = &v return s } -// The response object for this operation. -type CreateGroupOutput struct { +type DeleteTemplateAliasOutput struct { _ struct{} `type:"structure"` - // The name of the group. - Group *Group `type:"structure"` + // The name for the template alias. + AliasName *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the template you want to delete. + 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 associated with the deletion. + TemplateId *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateGroupOutput) String() string { +func (s DeleteTemplateAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupOutput) GoString() string { +func (s DeleteTemplateAliasOutput) GoString() string { return s.String() } -// SetGroup sets the Group field's value. -func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { - s.Group = v +// 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 *CreateGroupOutput) SetRequestId(v string) *CreateGroupOutput { +func (s *DeleteTemplateAliasOutput) SetRequestId(v string) *DeleteTemplateAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateGroupOutput) SetStatus(v int64) *CreateGroupOutput { +func (s *DeleteTemplateAliasOutput) SetStatus(v int64) *DeleteTemplateAliasOutput { 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"` +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateAliasOutput) SetTemplateId(v string) *DeleteTemplateAliasOutput { + s.TemplateId = &v + return s +} - // The status of the assignment. Possible values are as follows: - // - // * ENABLED - Anything specified in this assignment is used when creating - // the data source. - // - // * DISABLED - This assignment isn't used when creating the data source. - // - // * DRAFT - This assignment is an unfinished draft and isn't used when creating - // the data source. - // - // AssignmentStatus is a required field - AssignmentStatus *string `type:"string" required:"true" enum:"AssignmentStatus"` +type DeleteTemplateInput struct { + _ struct{} `type:"structure"` - // The ID of the AWS account where you want to assign an IAM policy to QuickSight - // users or groups. + // The ID of the AWS account that contains the template that you're deleting. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The QuickSight users, groups, or both that you want to assign the policy - // to. - Identities map[string][]*string `type:"map"` - - // The namespace that contains the assignment. + // An ID for the template you want to delete. // - // 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"` - // The ARN for the IAM policy to apply to the QuickSight users and groups specified - // in this assignment. - PolicyArn *string `type:"string"` + // Specifies the version of the template that you want to delete. If you don't + // provide a version number, DeleteTemplate deletes all versions of the template. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` } // String returns the string representation -func (s CreateIAMPolicyAssignmentInput) String() string { +func (s DeleteTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateIAMPolicyAssignmentInput) GoString() string { +func (s DeleteTemplateInput) 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")) - } +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.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + 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 { @@ -9327,177 +16090,123 @@ func (s *CreateIAMPolicyAssignmentInput) Validate() error { 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 { +func (s *DeleteTemplateInput) SetAwsAccountId(v string) *DeleteTemplateInput { 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 +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateInput) SetTemplateId(v string) *DeleteTemplateInput { + s.TemplateId = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *CreateIAMPolicyAssignmentInput) SetPolicyArn(v string) *CreateIAMPolicyAssignmentInput { - s.PolicyArn = &v +// SetVersionNumber sets the VersionNumber field's value. +func (s *DeleteTemplateInput) SetVersionNumber(v int64) *DeleteTemplateInput { + s.VersionNumber = &v return s } -type CreateIAMPolicyAssignmentOutput struct { +type DeleteTemplateOutput struct { _ struct{} `type:"structure"` - // The ID for the assignment. - AssignmentId *string `type:"string"` - - // The name of the assignment. This name must be unique within the AWS account. - AssignmentName *string `min:"1" type:"string"` - - // The status of the assignment. Possible values are as follows: - // - // * ENABLED - Anything specified in this assignment is used when creating - // the data source. - // - // * DISABLED - This assignment isn't used when creating the data source. - // - // * DRAFT - This assignment is an unfinished draft and isn't used when creating - // the data source. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - - // The QuickSight users, groups, or both that the IAM policy is assigned to. - Identities map[string][]*string `type:"map"` - - // The ARN for the IAM policy that is applied to the QuickSight users and groups - // specified in this assignment. - PolicyArn *string `type:"string"` + // The Amazon Resource Name (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 CreateIAMPolicyAssignmentOutput) String() string { +func (s DeleteTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateIAMPolicyAssignmentOutput) GoString() string { +func (s DeleteTemplateOutput) 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 +// 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 *CreateIAMPolicyAssignmentOutput) SetRequestId(v string) *CreateIAMPolicyAssignmentOutput { +func (s *DeleteTemplateOutput) SetRequestId(v string) *DeleteTemplateOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateIAMPolicyAssignmentOutput) SetStatus(v int64) *CreateIAMPolicyAssignmentOutput { +func (s *DeleteTemplateOutput) SetStatus(v int64) *DeleteTemplateOutput { s.Status = &v return s } -type CreateIngestionInput struct { +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateOutput) SetTemplateId(v string) *DeleteTemplateOutput { + s.TemplateId = &v + return s +} + +type DeleteThemeAliasInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The unique name for the theme alias to delete. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` - // The ID of the dataset used in the ingestion. + // The ID of the AWS account that contains the theme alias to delete. // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // An ID for the ingestion. + // The ID for the theme that the specified alias is for. // - // IngestionId is a required field - IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateIngestionInput) String() string { +func (s DeleteThemeAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateIngestionInput) GoString() string { +func (s DeleteThemeAliasInput) 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"} +func (s *DeleteThemeAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteThemeAliasInput"} + 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.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.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.IngestionId != nil && len(*s.IngestionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if invalidParams.Len() > 0 { @@ -9506,146 +16215,130 @@ func (s *CreateIngestionInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateIngestionInput) SetAwsAccountId(v string) *CreateIngestionInput { - s.AwsAccountId = &v +// SetAliasName sets the AliasName field's value. +func (s *DeleteThemeAliasInput) SetAliasName(v string) *DeleteThemeAliasInput { + s.AliasName = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *CreateIngestionInput) SetDataSetId(v string) *CreateIngestionInput { - s.DataSetId = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteThemeAliasInput) SetAwsAccountId(v string) *DeleteThemeAliasInput { + s.AwsAccountId = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *CreateIngestionInput) SetIngestionId(v string) *CreateIngestionInput { - s.IngestionId = &v +// SetThemeId sets the ThemeId field's value. +func (s *DeleteThemeAliasInput) SetThemeId(v string) *DeleteThemeAliasInput { + s.ThemeId = &v return s } -type CreateIngestionOutput struct { +type DeleteThemeAliasOutput 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 name for the theme alias. + AliasName *string `min:"1" type:"string"` - // The ingestion status. - IngestionStatus *string `type:"string" enum:"IngestionStatus"` + // The Amazon Resource Name (ARN) of the theme resource using the deleted alias. + 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 theme associated with the deletion. + ThemeId *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateIngestionOutput) String() string { +func (s DeleteThemeAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateIngestionOutput) GoString() string { +func (s DeleteThemeAliasOutput) 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 +// SetAliasName sets the AliasName field's value. +func (s *DeleteThemeAliasOutput) SetAliasName(v string) *DeleteThemeAliasOutput { + s.AliasName = &v return s } -// SetIngestionStatus sets the IngestionStatus field's value. -func (s *CreateIngestionOutput) SetIngestionStatus(v string) *CreateIngestionOutput { - s.IngestionStatus = &v +// SetArn sets the Arn field's value. +func (s *DeleteThemeAliasOutput) SetArn(v string) *DeleteThemeAliasOutput { + s.Arn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CreateIngestionOutput) SetRequestId(v string) *CreateIngestionOutput { +func (s *DeleteThemeAliasOutput) SetRequestId(v string) *DeleteThemeAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateIngestionOutput) SetStatus(v int64) *CreateIngestionOutput { +func (s *DeleteThemeAliasOutput) SetStatus(v int64) *DeleteThemeAliasOutput { s.Status = &v return s } -type CreateTemplateAliasInput struct { - _ struct{} `type:"structure"` +// SetThemeId sets the ThemeId field's value. +func (s *DeleteThemeAliasOutput) SetThemeId(v string) *DeleteThemeAliasOutput { + s.ThemeId = &v + return s +} - // The name that you want to give to the template alias that you're creating. - // Don't start the alias name with the $ character. Alias names that start with - // $ are reserved by QuickSight. - // - // AliasName is a required field - AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` +type DeleteThemeInput struct { + _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template that you creating an - // alias for. + // The ID of the AWS account that contains the theme that you're deleting. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // An ID for the template. + // An ID for the theme that you want to delete. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` - // The version number of the template. + // The version of the theme that you want to delete. // - // TemplateVersionNumber is a required field - TemplateVersionNumber *int64 `min:"1" type:"long" required:"true"` + // Note: If you don't provide a version number, you're using this call to DeleteTheme + // to delete all versions of the theme. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` } // String returns the string representation -func (s CreateTemplateAliasInput) String() string { +func (s DeleteThemeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTemplateAliasInput) GoString() string { +func (s DeleteThemeInput) 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)) - } +func (s *DeleteThemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteThemeInput"} 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.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.TemplateVersionNumber == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateVersionNumber")) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } - if s.TemplateVersionNumber != nil && *s.TemplateVersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("TemplateVersionNumber", 1)) + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -9654,182 +16347,124 @@ func (s *CreateTemplateAliasInput) Validate() error { 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 { +func (s *DeleteThemeInput) SetAwsAccountId(v string) *DeleteThemeInput { s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *CreateTemplateAliasInput) SetTemplateId(v string) *CreateTemplateAliasInput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *DeleteThemeInput) SetThemeId(v string) *DeleteThemeInput { + s.ThemeId = &v return s } -// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. -func (s *CreateTemplateAliasInput) SetTemplateVersionNumber(v int64) *CreateTemplateAliasInput { - s.TemplateVersionNumber = &v +// SetVersionNumber sets the VersionNumber field's value. +func (s *DeleteThemeInput) SetVersionNumber(v int64) *DeleteThemeInput { + s.VersionNumber = &v return s } -type CreateTemplateAliasOutput struct { +type DeleteThemeOutput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (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"` - // Information about the template alias. - TemplateAlias *TemplateAlias `type:"structure"` + // An ID for the theme. + ThemeId *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateTemplateAliasOutput) String() string { +func (s DeleteThemeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTemplateAliasOutput) GoString() string { +func (s DeleteThemeOutput) GoString() string { return s.String() } +// SetArn sets the Arn field's value. +func (s *DeleteThemeOutput) SetArn(v string) *DeleteThemeOutput { + s.Arn = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *CreateTemplateAliasOutput) SetRequestId(v string) *CreateTemplateAliasOutput { +func (s *DeleteThemeOutput) SetRequestId(v string) *DeleteThemeOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateTemplateAliasOutput) SetStatus(v int64) *CreateTemplateAliasOutput { +func (s *DeleteThemeOutput) SetStatus(v int64) *DeleteThemeOutput { s.Status = &v return s } -// SetTemplateAlias sets the TemplateAlias field's value. -func (s *CreateTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *CreateTemplateAliasOutput { - s.TemplateAlias = v +// SetThemeId sets the ThemeId field's value. +func (s *DeleteThemeOutput) SetThemeId(v string) *DeleteThemeOutput { + s.ThemeId = &v return s } -type CreateTemplateInput struct { +type DeleteUserByPrincipalIdInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID + // 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"` - // A display name for the template. - Name *string `min:"1" type:"string"` - - // A list of resource permissions to be set on the template. - Permissions []*ResourcePermission `min:"1" type:"list"` - - // The entity that you are using as a source when you create the template. In - // SourceEntity, you specify the type of object you're using as source: SourceTemplate - // for a template or SourceAnalysis for an analysis. Both of these require an - // Amazon Resource Name (ARN). For SourceTemplate, specify the ARN of the source - // template. For SourceAnalysis, specify the ARN of the source analysis. The - // SourceTemplate ARN can contain any AWS Account and any QuickSight-supported - // AWS Region. - // - // Use the DataSetReferences entity within SourceTemplate or SourceAnalysis - // to list the replacement datasets for the placeholders listed in the original. - // The schema in each dataset must match its placeholder. + // The namespace. Currently, you should set this to default. // - // 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"` + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // An ID for the template that you want to create. This template is unique per - // AWS Region in each AWS account. + // The principal ID of the user. // - // 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 operation - // creates 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"` + // PrincipalId is a required field + PrincipalId *string `location:"uri" locationName:"PrincipalId" type:"string" required:"true"` } // String returns the string representation -func (s CreateTemplateInput) String() string { +func (s DeleteUserByPrincipalIdInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTemplateInput) GoString() string { +func (s DeleteUserByPrincipalIdInput) 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"} +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.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.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.SourceEntity != nil { - if err := s.SourceEntity.Validate(); err != nil { - invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) - } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 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 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 { @@ -9839,179 +16474,105 @@ func (s *CreateTemplateInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateTemplateInput) SetAwsAccountId(v string) *CreateTemplateInput { +func (s *DeleteUserByPrincipalIdInput) SetAwsAccountId(v string) *DeleteUserByPrincipalIdInput { 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 +// SetNamespace sets the Namespace field's value. +func (s *DeleteUserByPrincipalIdInput) SetNamespace(v string) *DeleteUserByPrincipalIdInput { + s.Namespace = &v return s } -// SetVersionDescription sets the VersionDescription field's value. -func (s *CreateTemplateInput) SetVersionDescription(v string) *CreateTemplateInput { - s.VersionDescription = &v +// SetPrincipalId sets the PrincipalId field's value. +func (s *DeleteUserByPrincipalIdInput) SetPrincipalId(v string) *DeleteUserByPrincipalIdInput { + s.PrincipalId = &v return s } -type CreateTemplateOutput struct { +type DeleteUserByPrincipalIdOutput struct { _ struct{} `type:"structure"` - // The 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 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 { +func (s DeleteUserByPrincipalIdOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTemplateOutput) GoString() string { +func (s DeleteUserByPrincipalIdOutput) 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 { +func (s *DeleteUserByPrincipalIdOutput) SetRequestId(v string) *DeleteUserByPrincipalIdOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateTemplateOutput) SetStatus(v int64) *CreateTemplateOutput { +func (s *DeleteUserByPrincipalIdOutput) SetStatus(v int64) *DeleteUserByPrincipalIdOutput { 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 user name and password that are used as credentials. -type CredentialPair struct { +type DeleteUserInput struct { _ struct{} `type:"structure"` - // A set of alternate data source parameters that you want to share for these - // credentials. The credentials are applied in tandem with the data source parameters - // when you copy a data source by using a create or update request. The API - // compares the DataSourceParameters structure that's in the request with the - // structures in the AlternateDataSourceParameters allowlist. If the structures - // are an exact match, the request is allowed to use the new data source with - // the existing credentials. If the AlternateDataSourceParameters list is null, - // the DataSourceParameters originally used with these Credentials is automatically - // allowed. - AlternateDataSourceParameters []*DataSourceParameters `min:"1" type:"list"` + // 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"` - // Password. + // The namespace. Currently, you should set this to default. // - // Password is a required field - Password *string `min:"1" type:"string" required:"true"` + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // User name. + // The name of the user that you want to delete. // - // Username is a required field - Username *string `min:"1" type:"string" required:"true"` + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CredentialPair) String() string { +func (s DeleteUserInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CredentialPair) GoString() string { +func (s DeleteUserInput) 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.AlternateDataSourceParameters != nil && len(s.AlternateDataSourceParameters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AlternateDataSourceParameters", 1)) +func (s *DeleteUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.Password == nil { - invalidParams.Add(request.NewErrParamRequired("Password")) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Password != nil && len(*s.Password) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.Username == nil { - invalidParams.Add(request.NewErrParamRequired("Username")) + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } - if s.Username != nil && len(*s.Username) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) } - if s.AlternateDataSourceParameters != nil { - for i, v := range s.AlternateDataSourceParameters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AlternateDataSourceParameters", i), err.(request.ErrInvalidParams)) - } - } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) } if invalidParams.Len() > 0 { @@ -10020,87 +16581,91 @@ func (s *CredentialPair) Validate() error { return nil } -// SetAlternateDataSourceParameters sets the AlternateDataSourceParameters field's value. -func (s *CredentialPair) SetAlternateDataSourceParameters(v []*DataSourceParameters) *CredentialPair { - s.AlternateDataSourceParameters = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteUserInput) SetAwsAccountId(v string) *DeleteUserInput { + s.AwsAccountId = &v return s } -// SetPassword sets the Password field's value. -func (s *CredentialPair) SetPassword(v string) *CredentialPair { - s.Password = &v +// 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 *CredentialPair) SetUsername(v string) *CredentialPair { - s.Username = &v +// SetUserName sets the UserName field's value. +func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { + s.UserName = &v return s } -// A physical table type built from the results of the custom SQL query. -type CustomSql struct { +type DeleteUserOutput struct { _ struct{} `type:"structure"` - // The column schema from the SQL query result set. - Columns []*InputColumn `min:"1" type:"list"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // The Amazon Resource Name (ARN) of the data source. - // - // DataSourceArn is a required field - DataSourceArn *string `type:"string" required:"true"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} - // A display name for the SQL query result. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` +// String returns the string representation +func (s DeleteUserOutput) String() string { + return awsutil.Prettify(s) +} - // The SQL query. +// 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 DescribeAccountCustomizationInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that you want to describe QuickSight customizations + // for. // - // SqlQuery is a required field - SqlQuery *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace associated with the customization that you're describing. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` + + // The status of the creation of the customization. This is an asynchronous + // process. A status of CREATED means that your customization is ready to use. + Resolved *bool `location:"querystring" locationName:"resolved" type:"boolean"` } // String returns the string representation -func (s CustomSql) String() string { +func (s DescribeAccountCustomizationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomSql) GoString() string { +func (s DescribeAccountCustomizationInput) 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)) - } - } +func (s *DescribeAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAccountCustomizationInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } if invalidParams.Len() > 0 { @@ -10109,217 +16674,223 @@ func (s *CustomSql) Validate() error { 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 +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAccountCustomizationInput) SetAwsAccountId(v string) *DescribeAccountCustomizationInput { + s.AwsAccountId = &v return s } -// SetName sets the Name field's value. -func (s *CustomSql) SetName(v string) *CustomSql { - s.Name = &v +// SetNamespace sets the Namespace field's value. +func (s *DescribeAccountCustomizationInput) SetNamespace(v string) *DescribeAccountCustomizationInput { + s.Namespace = &v return s } -// SetSqlQuery sets the SqlQuery field's value. -func (s *CustomSql) SetSqlQuery(v string) *CustomSql { - s.SqlQuery = &v +// SetResolved sets the Resolved field's value. +func (s *DescribeAccountCustomizationInput) SetResolved(v bool) *DescribeAccountCustomizationInput { + s.Resolved = &v return s } -// Dashboard. -type Dashboard struct { +type DescribeAccountCustomizationOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The time that this dataset was created. - CreatedTime *time.Time `type:"timestamp"` - - // Dashboard ID. - DashboardId *string `min:"1" type:"string"` + // The customizations associated with QuickSight. + AccountCustomization *AccountCustomization `type:"structure"` - // The last time that this dataset was published. - LastPublishedTime *time.Time `type:"timestamp"` + // The ID for the AWS account that you want to describe QuickSight customizations + // for. + AwsAccountId *string `min:"12" type:"string"` - // The last time that this dataset was updated. - LastUpdatedTime *time.Time `type:"timestamp"` + // The namespace associated with the customization that you're describing. + Namespace *string `type:"string"` - // A display name for the dashboard. - Name *string `min:"1" type:"string"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Version. - Version *DashboardVersion `type:"structure"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s Dashboard) String() string { +func (s DescribeAccountCustomizationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Dashboard) GoString() string { +func (s DescribeAccountCustomizationOutput) 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 +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *DescribeAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *DescribeAccountCustomizationOutput { + s.AccountCustomization = v return s } -// SetLastPublishedTime sets the LastPublishedTime field's value. -func (s *Dashboard) SetLastPublishedTime(v time.Time) *Dashboard { - s.LastPublishedTime = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAccountCustomizationOutput) SetAwsAccountId(v string) *DescribeAccountCustomizationOutput { + s.AwsAccountId = &v return s } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *Dashboard) SetLastUpdatedTime(v time.Time) *Dashboard { - s.LastUpdatedTime = &v +// SetNamespace sets the Namespace field's value. +func (s *DescribeAccountCustomizationOutput) SetNamespace(v string) *DescribeAccountCustomizationOutput { + s.Namespace = &v return s } -// SetName sets the Name field's value. -func (s *Dashboard) SetName(v string) *Dashboard { - s.Name = &v +// SetRequestId sets the RequestId field's value. +func (s *DescribeAccountCustomizationOutput) SetRequestId(v string) *DescribeAccountCustomizationOutput { + s.RequestId = &v return s } -// SetVersion sets the Version field's value. -func (s *Dashboard) SetVersion(v *DashboardVersion) *Dashboard { - s.Version = v +// SetStatus sets the Status field's value. +func (s *DescribeAccountCustomizationOutput) SetStatus(v int64) *DescribeAccountCustomizationOutput { + s.Status = &v return s } -// Dashboard error. -type DashboardError struct { +type DescribeAccountSettingsInput struct { _ struct{} `type:"structure"` - // Message. - Message *string `type:"string"` - - // Type. - Type *string `type:"string" enum:"DashboardErrorType"` + // The ID for the AWS account that contains the QuickSight namespaces that you + // want to list. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` } // String returns the string representation -func (s DashboardError) String() string { +func (s DescribeAccountSettingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardError) GoString() string { +func (s DescribeAccountSettingsInput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *DashboardError) SetMessage(v string) *DashboardError { - s.Message = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAccountSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAccountSettingsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetType sets the Type field's value. -func (s *DashboardError) SetType(v string) *DashboardError { - s.Type = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAccountSettingsInput) SetAwsAccountId(v string) *DescribeAccountSettingsInput { + s.AwsAccountId = &v return s } -// Dashboard publish options. -type DashboardPublishOptions struct { +type DescribeAccountSettingsOutput struct { _ struct{} `type:"structure"` - // Ad hoc (one-time) filtering option. - AdHocFilteringOption *AdHocFilteringOption `type:"structure"` + // The settings associated with the QuickSight subscription associated with + // this AWS account. This information includes the edition of Amazon QuickSight + // that you subscribed to (Standard or Enterprise) and the notification email + // for the QuickSight subscription. The QuickSight console, the QuickSight subscription + // is sometimes referred to as a QuickSight "account" even though it is technically + // not an account, but a subscription in your AWS account. + AccountSettings *AccountSettings `type:"structure"` - // Export to .csv option. - ExportToCSVOption *ExportToCSVOption `type:"structure"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Sheet controls option. - SheetControlsOption *SheetControlsOption `type:"structure"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DashboardPublishOptions) String() string { +func (s DescribeAccountSettingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardPublishOptions) GoString() string { +func (s DescribeAccountSettingsOutput) GoString() string { return s.String() } -// SetAdHocFilteringOption sets the AdHocFilteringOption field's value. -func (s *DashboardPublishOptions) SetAdHocFilteringOption(v *AdHocFilteringOption) *DashboardPublishOptions { - s.AdHocFilteringOption = v +// SetAccountSettings sets the AccountSettings field's value. +func (s *DescribeAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *DescribeAccountSettingsOutput { + s.AccountSettings = v return s } -// SetExportToCSVOption sets the ExportToCSVOption field's value. -func (s *DashboardPublishOptions) SetExportToCSVOption(v *ExportToCSVOption) *DashboardPublishOptions { - s.ExportToCSVOption = v +// SetRequestId sets the RequestId field's value. +func (s *DescribeAccountSettingsOutput) SetRequestId(v string) *DescribeAccountSettingsOutput { + s.RequestId = &v return s } -// SetSheetControlsOption sets the SheetControlsOption field's value. -func (s *DashboardPublishOptions) SetSheetControlsOption(v *SheetControlsOption) *DashboardPublishOptions { - s.SheetControlsOption = v +// SetStatus sets the Status field's value. +func (s *DescribeAccountSettingsOutput) SetStatus(v int64) *DescribeAccountSettingsOutput { + s.Status = &v return s } -// A filter that you apply when searching for dashboards. -type DashboardSearchFilter struct { +type DescribeDashboardInput struct { _ struct{} `type:"structure"` - // The name of the value that you want to use as a filter, for example, "Name": - // "QUICKSIGHT_USER". - Name *string `type:"string" enum:"DashboardFilterAttribute"` + // The alias name. + AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` - // The comparison operator that you want to use as a filter, for example, "Operator": - // "StringEquals". + // The ID of the AWS account that contains the dashboard that you're describing. // - // Operator is a required field - Operator *string `type:"string" required:"true" enum:"FilterOperator"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The value of the named item, in this case QUICKSIGHT_USER, that you want - // to use as a filter, for example, "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1". - Value *string `type:"string"` + // 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 a 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 DashboardSearchFilter) String() string { +func (s DescribeDashboardInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardSearchFilter) GoString() string { +func (s DescribeDashboardInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DashboardSearchFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DashboardSearchFilter"} - if s.Operator == nil { - invalidParams.Add(request.NewErrParamRequired("Operator")) +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 { @@ -10328,109 +16899,110 @@ func (s *DashboardSearchFilter) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DashboardSearchFilter) SetName(v string) *DashboardSearchFilter { - s.Name = &v +// SetAliasName sets the AliasName field's value. +func (s *DescribeDashboardInput) SetAliasName(v string) *DescribeDashboardInput { + s.AliasName = &v return s } -// SetOperator sets the Operator field's value. -func (s *DashboardSearchFilter) SetOperator(v string) *DashboardSearchFilter { - s.Operator = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDashboardInput) SetAwsAccountId(v string) *DescribeDashboardInput { + s.AwsAccountId = &v return s } -// SetValue sets the Value field's value. -func (s *DashboardSearchFilter) SetValue(v string) *DashboardSearchFilter { - s.Value = &v +// SetDashboardId sets the DashboardId field's value. +func (s *DescribeDashboardInput) SetDashboardId(v string) *DescribeDashboardInput { + s.DashboardId = &v return s } -// Dashboard source entity. -type DashboardSourceEntity struct { +// 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"` - // Source template. - SourceTemplate *DashboardSourceTemplate `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 DashboardSourceEntity) String() string { +func (s DescribeDashboardOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardSourceEntity) GoString() string { +func (s DescribeDashboardOutput) 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)) - } - } +// SetDashboard sets the Dashboard field's value. +func (s *DescribeDashboardOutput) SetDashboard(v *Dashboard) *DescribeDashboardOutput { + s.Dashboard = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRequestId sets the RequestId field's value. +func (s *DescribeDashboardOutput) SetRequestId(v string) *DescribeDashboardOutput { + s.RequestId = &v + return s } -// SetSourceTemplate sets the SourceTemplate field's value. -func (s *DashboardSourceEntity) SetSourceTemplate(v *DashboardSourceTemplate) *DashboardSourceEntity { - s.SourceTemplate = v +// SetStatus sets the Status field's value. +func (s *DescribeDashboardOutput) SetStatus(v int64) *DescribeDashboardOutput { + s.Status = &v return s } -// Dashboard source template. -type DashboardSourceTemplate struct { +type DescribeDashboardPermissionsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. + // The ID of the AWS account that contains the dashboard that you're describing + // permissions for. // - // Arn is a required field - Arn *string `type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Dataset references. + // The ID for the dashboard, also added to the IAM policy. // - // DataSetReferences is a required field - DataSetReferences []*DataSetReference `min:"1" type:"list" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DashboardSourceTemplate) String() string { +func (s DescribeDashboardPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardSourceTemplate) GoString() string { +func (s DescribeDashboardPermissionsInput) 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")) +func (s *DescribeDashboardPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardPermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.DataSetReferences == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetReferences")) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DataSetReferences != nil && len(s.DataSetReferences) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetReferences", 1)) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - 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 s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } if invalidParams.Len() > 0 { @@ -10439,455 +17011,435 @@ func (s *DashboardSourceTemplate) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *DashboardSourceTemplate) SetArn(v string) *DashboardSourceTemplate { - s.Arn = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDashboardPermissionsInput) SetAwsAccountId(v string) *DescribeDashboardPermissionsInput { + s.AwsAccountId = &v return s } -// SetDataSetReferences sets the DataSetReferences field's value. -func (s *DashboardSourceTemplate) SetDataSetReferences(v []*DataSetReference) *DashboardSourceTemplate { - s.DataSetReferences = v +// SetDashboardId sets the DashboardId field's value. +func (s *DescribeDashboardPermissionsInput) SetDashboardId(v string) *DescribeDashboardPermissionsInput { + s.DashboardId = &v return s } -// Dashboard summary. -type DashboardSummary struct { +type DescribeDashboardPermissionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The time that this dashboard was created. - CreatedTime *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of the dashboard. + DashboardArn *string `type:"string"` - // Dashboard ID. + // The ID for the dashboard. DashboardId *string `min:"1" type:"string"` - // The last time that this dashboard was published. - LastPublishedTime *time.Time `type:"timestamp"` - - // The last time that this dashboard was updated. - LastUpdatedTime *time.Time `type:"timestamp"` + // A structure that contains the permissions for the dashboard. + Permissions []*ResourcePermission `min:"1" type:"list"` - // A display name for the dashboard. - Name *string `min:"1" type:"string"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Published version number. - PublishedVersionNumber *int64 `min:"1" type:"long"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DashboardSummary) String() string { +func (s DescribeDashboardPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardSummary) GoString() string { +func (s DescribeDashboardPermissionsOutput) 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 +// 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 *DashboardSummary) SetDashboardId(v string) *DashboardSummary { +func (s *DescribeDashboardPermissionsOutput) SetDashboardId(v string) *DescribeDashboardPermissionsOutput { 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 +// SetPermissions sets the Permissions field's value. +func (s *DescribeDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDashboardPermissionsOutput { + s.Permissions = v return s } -// SetName sets the Name field's value. -func (s *DashboardSummary) SetName(v string) *DashboardSummary { - s.Name = &v +// SetRequestId sets the RequestId field's value. +func (s *DescribeDashboardPermissionsOutput) SetRequestId(v string) *DescribeDashboardPermissionsOutput { + s.RequestId = &v return s } -// SetPublishedVersionNumber sets the PublishedVersionNumber field's value. -func (s *DashboardSummary) SetPublishedVersionNumber(v int64) *DashboardSummary { - s.PublishedVersionNumber = &v +// SetStatus sets the Status field's value. +func (s *DescribeDashboardPermissionsOutput) SetStatus(v int64) *DescribeDashboardPermissionsOutput { + s.Status = &v return s } -// Dashboard version. -type DashboardVersion struct { +type DescribeDataSetInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The time that this dashboard version was created. - CreatedTime *time.Time `type:"timestamp"` - - // The Amazon Resource Numbers (ARNs) for the datasets that are associated with - // a version of the dashboard. - DataSetArns []*string `type:"list"` - - // Description. - Description *string `min:"1" type:"string"` - - // 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"` + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Version number. - VersionNumber *int64 `min:"1" type:"long"` + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` } // String returns the string representation -func (s DashboardVersion) String() string { +func (s DescribeDataSetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardVersion) GoString() string { +func (s DescribeDataSetInput) 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 -} - -// SetDataSetArns sets the DataSetArns field's value. -func (s *DashboardVersion) SetDataSetArns(v []*string) *DashboardVersion { - s.DataSetArns = v - return s -} - -// SetDescription sets the Description field's value. -func (s *DashboardVersion) SetDescription(v string) *DashboardVersion { - s.Description = &v - return s -} - -// SetErrors sets the Errors field's value. -func (s *DashboardVersion) SetErrors(v []*DashboardError) *DashboardVersion { - s.Errors = v - return s -} +// 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)) + } -// SetSourceEntityArn sets the SourceEntityArn field's value. -func (s *DashboardVersion) SetSourceEntityArn(v string) *DashboardVersion { - s.SourceEntityArn = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatus sets the Status field's value. -func (s *DashboardVersion) SetStatus(v string) *DashboardVersion { - s.Status = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSetInput) SetAwsAccountId(v string) *DescribeDataSetInput { + s.AwsAccountId = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *DashboardVersion) SetVersionNumber(v int64) *DashboardVersion { - s.VersionNumber = &v +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeDataSetInput) SetDataSetId(v string) *DescribeDataSetInput { + s.DataSetId = &v return s } -// Dashboard version summary. -type DashboardVersionSummary struct { +type DescribeDataSetOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The time that this dashboard version was created. - CreatedTime *time.Time `type:"timestamp"` - - // Description. - Description *string `min:"1" type:"string"` + // Information on the dataset. + DataSet *DataSet `type:"structure"` - // Source entity ARN. - SourceEntityArn *string `type:"string"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` // The HTTP status of the request. - Status *string `type:"string" enum:"ResourceStatus"` - - // Version number. - VersionNumber *int64 `min:"1" type:"long"` + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DashboardVersionSummary) String() string { +func (s DescribeDataSetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardVersionSummary) GoString() string { +func (s DescribeDataSetOutput) 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 +// SetDataSet sets the DataSet field's value. +func (s *DescribeDataSetOutput) SetDataSet(v *DataSet) *DescribeDataSetOutput { + s.DataSet = v return s } -// SetSourceEntityArn sets the SourceEntityArn field's value. -func (s *DashboardVersionSummary) SetSourceEntityArn(v string) *DashboardVersionSummary { - s.SourceEntityArn = &v +// 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 *DashboardVersionSummary) SetStatus(v string) *DashboardVersionSummary { +func (s *DescribeDataSetOutput) SetStatus(v int64) *DescribeDataSetOutput { 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 { +type DescribeDataSetPermissionsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - 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"` - // Groupings of columns that work together in certain Amazon QuickSight features. - // Currently, only geospatial hierarchy is supported. - ColumnGroups []*ColumnGroup `min:"1" type:"list"` + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` +} - // The amount of SPICE capacity used by this dataset. This is 0 if the dataset - // isn't imported into SPICE. - ConsumedSpiceCapacityInBytes *int64 `type:"long"` +// String returns the string representation +func (s DescribeDataSetPermissionsInput) String() string { + return awsutil.Prettify(s) +} - // The time that this dataset was created. - CreatedTime *time.Time `type:"timestamp"` +// GoString returns the string representation +func (s DescribeDataSetPermissionsInput) GoString() string { + return s.String() +} - // The ID of the dataset. - DataSetId *string `type:"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)) + } - // Indicates whether you want to import the data into SPICE. - ImportMode *string `type:"string" enum:"DataSetImportMode"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The last time that this dataset was updated. - LastUpdatedTime *time.Time `type:"timestamp"` +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSetPermissionsInput) SetAwsAccountId(v string) *DescribeDataSetPermissionsInput { + s.AwsAccountId = &v + return s +} - // Configures the combination and transformation of the data from the physical - // tables. - LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeDataSetPermissionsInput) SetDataSetId(v string) *DescribeDataSetPermissionsInput { + s.DataSetId = &v + return s +} - // A display name for the dataset. - Name *string `min:"1" type:"string"` +type DescribeDataSetPermissionsOutput struct { + _ struct{} `type:"structure"` - // The list of columns after all transforms. These columns are available in - // templates, analyses, and dashboards. - OutputColumns []*OutputColumn `type:"list"` + // The Amazon Resource Name (ARN) of the dataset. + DataSetArn *string `type:"string"` - // Declares the physical tables that are available in the underlying data sources. - PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map"` + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + DataSetId *string `type:"string"` - // The row-level security configuration for the dataset. - RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` + // 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 DataSet) String() string { +func (s DescribeDataSetPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSet) GoString() string { +func (s DescribeDataSetPermissionsOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DataSet) SetArn(v string) *DataSet { - s.Arn = &v +// SetDataSetArn sets the DataSetArn field's value. +func (s *DescribeDataSetPermissionsOutput) SetDataSetArn(v string) *DescribeDataSetPermissionsOutput { + s.DataSetArn = &v return s } -// SetColumnGroups sets the ColumnGroups field's value. -func (s *DataSet) SetColumnGroups(v []*ColumnGroup) *DataSet { - s.ColumnGroups = v +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeDataSetPermissionsOutput) SetDataSetId(v string) *DescribeDataSetPermissionsOutput { + s.DataSetId = &v return s } -// SetConsumedSpiceCapacityInBytes sets the ConsumedSpiceCapacityInBytes field's value. -func (s *DataSet) SetConsumedSpiceCapacityInBytes(v int64) *DataSet { - s.ConsumedSpiceCapacityInBytes = &v +// SetPermissions sets the Permissions field's value. +func (s *DescribeDataSetPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSetPermissionsOutput { + s.Permissions = v return s } -// SetCreatedTime sets the CreatedTime field's value. -func (s *DataSet) SetCreatedTime(v time.Time) *DataSet { - s.CreatedTime = &v +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSetPermissionsOutput) SetRequestId(v string) *DescribeDataSetPermissionsOutput { + s.RequestId = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DataSet) SetDataSetId(v string) *DataSet { - s.DataSetId = &v +// SetStatus sets the Status field's value. +func (s *DescribeDataSetPermissionsOutput) SetStatus(v int64) *DescribeDataSetPermissionsOutput { + s.Status = &v return s } -// SetImportMode sets the ImportMode field's value. -func (s *DataSet) SetImportMode(v string) *DataSet { - s.ImportMode = &v - return s -} +type DescribeDataSourceInput struct { + _ struct{} `type:"structure"` -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *DataSet) SetLastUpdatedTime(v time.Time) *DataSet { - s.LastUpdatedTime = &v - return s + // 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 ID is unique per AWS Region for each AWS + // account. + // + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` } -// SetLogicalTableMap sets the LogicalTableMap field's value. -func (s *DataSet) SetLogicalTableMap(v map[string]*LogicalTable) *DataSet { - s.LogicalTableMap = v - return s +// String returns the string representation +func (s DescribeDataSourceInput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *DataSet) SetName(v string) *DataSet { - s.Name = &v - return s +// GoString returns the string representation +func (s DescribeDataSourceInput) GoString() string { + return s.String() } -// SetOutputColumns sets the OutputColumns field's value. -func (s *DataSet) SetOutputColumns(v []*OutputColumn) *DataSet { - s.OutputColumns = v - return s +// 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 } -// SetPhysicalTableMap sets the PhysicalTableMap field's value. -func (s *DataSet) SetPhysicalTableMap(v map[string]*PhysicalTable) *DataSet { - s.PhysicalTableMap = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSourceInput) SetAwsAccountId(v string) *DescribeDataSourceInput { + s.AwsAccountId = &v return s } -// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. -func (s *DataSet) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *DataSet { - s.RowLevelPermissionDataSet = v +// SetDataSourceId sets the DataSourceId field's value. +func (s *DescribeDataSourceInput) SetDataSourceId(v string) *DescribeDataSourceInput { + s.DataSourceId = &v return s } -// Dataset configuration. -type DataSetConfiguration struct { +type DescribeDataSourceOutput struct { _ struct{} `type:"structure"` - // A structure containing the list of column group schemas. - ColumnGroupSchemaList []*ColumnGroupSchema `type:"list"` + // The information on the data source. + DataSource *DataSource `type:"structure"` - // Dataset schema. - DataSetSchema *DataSetSchema `type:"structure"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Placeholder. - Placeholder *string `type:"string"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DataSetConfiguration) String() string { +func (s DescribeDataSourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSetConfiguration) GoString() string { +func (s DescribeDataSourceOutput) GoString() string { return s.String() } -// SetColumnGroupSchemaList sets the ColumnGroupSchemaList field's value. -func (s *DataSetConfiguration) SetColumnGroupSchemaList(v []*ColumnGroupSchema) *DataSetConfiguration { - s.ColumnGroupSchemaList = v +// SetDataSource sets the DataSource field's value. +func (s *DescribeDataSourceOutput) SetDataSource(v *DataSource) *DescribeDataSourceOutput { + s.DataSource = v return s } -// SetDataSetSchema sets the DataSetSchema field's value. -func (s *DataSetConfiguration) SetDataSetSchema(v *DataSetSchema) *DataSetConfiguration { - s.DataSetSchema = v +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSourceOutput) SetRequestId(v string) *DescribeDataSourceOutput { + s.RequestId = &v return s } -// SetPlaceholder sets the Placeholder field's value. -func (s *DataSetConfiguration) SetPlaceholder(v string) *DataSetConfiguration { - s.Placeholder = &v +// SetStatus sets the Status field's value. +func (s *DescribeDataSourceOutput) SetStatus(v int64) *DescribeDataSourceOutput { + s.Status = &v return s } -// Dataset reference. -type DataSetReference struct { +type DescribeDataSourcePermissionsInput struct { _ struct{} `type:"structure"` - // Dataset Amazon Resource Name (ARN). + // The AWS account ID. // - // DataSetArn is a required field - DataSetArn *string `type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Dataset placeholder. + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. // - // DataSetPlaceholder is a required field - DataSetPlaceholder *string `type:"string" required:"true"` + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` } // String returns the string representation -func (s DataSetReference) String() string { +func (s DescribeDataSourcePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSetReference) GoString() string { +func (s DescribeDataSourcePermissionsInput) 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")) +func (s *DescribeDataSourcePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourcePermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.DataSetPlaceholder == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetPlaceholder")) + 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 { @@ -10896,290 +17448,244 @@ func (s *DataSetReference) Validate() error { 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 +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSourcePermissionsInput) SetAwsAccountId(v string) *DescribeDataSourcePermissionsInput { + s.AwsAccountId = &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 +// SetDataSourceId sets the DataSourceId field's value. +func (s *DescribeDataSourcePermissionsInput) SetDataSourceId(v string) *DescribeDataSourcePermissionsInput { + s.DataSourceId = &v return s } -// Dataset summary. -type DataSetSummary struct { +type DescribeDataSourcePermissionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dataset. - Arn *string `type:"string"` - - // The time that this dataset was created. - CreatedTime *time.Time `type:"timestamp"` - - // The ID of the dataset. - DataSetId *string `type:"string"` + // The Amazon Resource Name (ARN) of the data source. + DataSourceArn *string `type:"string"` - // Indicates whether you want to import the data into SPICE. - ImportMode *string `type:"string" enum:"DataSetImportMode"` + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. + DataSourceId *string `type:"string"` - // The last time that this dataset was updated. - LastUpdatedTime *time.Time `type:"timestamp"` + // A list of resource permissions on the data source. + Permissions []*ResourcePermission `min:"1" type:"list"` - // A display name for the dataset. - Name *string `min:"1" type:"string"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // The row-level security configuration for the dataset. - RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DataSetSummary) String() string { +func (s DescribeDataSourcePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSetSummary) GoString() string { +func (s DescribeDataSourcePermissionsOutput) 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 +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *DescribeDataSourcePermissionsOutput) SetDataSourceArn(v string) *DescribeDataSourcePermissionsOutput { + s.DataSourceArn = &v return s } -// SetImportMode sets the ImportMode field's value. -func (s *DataSetSummary) SetImportMode(v string) *DataSetSummary { - s.ImportMode = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *DescribeDataSourcePermissionsOutput) SetDataSourceId(v string) *DescribeDataSourcePermissionsOutput { + s.DataSourceId = &v return s } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *DataSetSummary) SetLastUpdatedTime(v time.Time) *DataSetSummary { - s.LastUpdatedTime = &v +// SetPermissions sets the Permissions field's value. +func (s *DescribeDataSourcePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSourcePermissionsOutput { + s.Permissions = v return s } -// SetName sets the Name field's value. -func (s *DataSetSummary) SetName(v string) *DataSetSummary { - s.Name = &v +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSourcePermissionsOutput) SetRequestId(v string) *DescribeDataSourcePermissionsOutput { + s.RequestId = &v return s } -// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. -func (s *DataSetSummary) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *DataSetSummary { - s.RowLevelPermissionDataSet = v +// SetStatus sets the Status field's value. +func (s *DescribeDataSourcePermissionsOutput) SetStatus(v int64) *DescribeDataSourcePermissionsOutput { + s.Status = &v return s } -// The structure of a data source. -type DataSource struct { +type DescribeGroupInput struct { _ struct{} `type:"structure"` - // A set of alternate data source parameters that you want to share for the - // credentials stored with this data source. The credentials are applied in - // tandem with the data source parameters when you copy a data source by using - // a create or update request. The API compares the DataSourceParameters structure - // that's in the request with the structures in the AlternateDataSourceParameters - // allowlist. If the structures are an exact match, the request is allowed to - // use the credentials from this existing data source. If the AlternateDataSourceParameters - // list is null, the Credentials originally used with this DataSourceParameters - // are automatically allowed. - AlternateDataSourceParameters []*DataSourceParameters `min:"1" type:"list"` - - // The Amazon Resource Name (ARN) of the data source. - Arn *string `type:"string"` - - // The time that this data source was created. - CreatedTime *time.Time `type:"timestamp"` - - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. - DataSourceId *string `type:"string"` - - // The parameters that Amazon QuickSight uses to connect to your underlying - // source. This is a variant type structure. For this structure to be valid, - // only one of the attributes can be non-null. - DataSourceParameters *DataSourceParameters `type:"structure"` - - // Error information from the last update or the creation of the data source. - ErrorInfo *DataSourceErrorInfo `type:"structure"` - - // The last time that this data source was updated. - LastUpdatedTime *time.Time `type:"timestamp"` - - // A display name for the data source. - Name *string `min:"1" type:"string"` - - // Secure Socket Layer (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 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 type of the data source. This type indicates which database engine the - // data source connects to. - Type *string `type:"string" enum:"DataSourceType"` + // 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 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"` + // 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 DataSource) String() string { +func (s DescribeGroupInput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s DataSource) GoString() string { - return s.String() +// 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 } -// SetAlternateDataSourceParameters sets the AlternateDataSourceParameters field's value. -func (s *DataSource) SetAlternateDataSourceParameters(v []*DataSourceParameters) *DataSource { - s.AlternateDataSourceParameters = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeGroupInput) SetAwsAccountId(v string) *DescribeGroupInput { + s.AwsAccountId = &v return s } -// SetArn sets the Arn field's value. -func (s *DataSource) SetArn(v string) *DataSource { - s.Arn = &v +// SetGroupName sets the GroupName field's value. +func (s *DescribeGroupInput) SetGroupName(v string) *DescribeGroupInput { + s.GroupName = &v return s } -// SetCreatedTime sets the CreatedTime field's value. -func (s *DataSource) SetCreatedTime(v time.Time) *DataSource { - s.CreatedTime = &v +// SetNamespace sets the Namespace field's value. +func (s *DescribeGroupInput) SetNamespace(v string) *DescribeGroupInput { + s.Namespace = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *DataSource) SetDataSourceId(v string) *DataSource { - s.DataSourceId = &v - return s -} +type DescribeGroupOutput struct { + _ struct{} `type:"structure"` -// SetDataSourceParameters sets the DataSourceParameters field's value. -func (s *DataSource) SetDataSourceParameters(v *DataSourceParameters) *DataSource { - s.DataSourceParameters = v - return s + // 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"` } -// SetErrorInfo sets the ErrorInfo field's value. -func (s *DataSource) SetErrorInfo(v *DataSourceErrorInfo) *DataSource { - s.ErrorInfo = v - return s +// String returns the string representation +func (s DescribeGroupOutput) String() string { + return awsutil.Prettify(s) } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *DataSource) SetLastUpdatedTime(v time.Time) *DataSource { - s.LastUpdatedTime = &v - return s +// GoString returns the string representation +func (s DescribeGroupOutput) GoString() string { + return s.String() } -// SetName sets the Name field's value. -func (s *DataSource) SetName(v string) *DataSource { - s.Name = &v +// SetGroup sets the Group field's value. +func (s *DescribeGroupOutput) SetGroup(v *Group) *DescribeGroupOutput { + s.Group = v return s } -// SetSslProperties sets the SslProperties field's value. -func (s *DataSource) SetSslProperties(v *SslProperties) *DataSource { - s.SslProperties = v +// 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 *DataSource) SetStatus(v string) *DataSource { +func (s *DescribeGroupOutput) SetStatus(v int64) *DescribeGroupOutput { 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 -} +type DescribeIAMPolicyAssignmentInput struct { + _ struct{} `type:"structure"` -// Data source credentials. This is a variant type structure. For this structure -// to be valid, only one of the attributes can be non-null. -type DataSourceCredentials struct { - _ struct{} `type:"structure" sensitive:"true"` + // The name of the assignment. + // + // AssignmentName is a required field + AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of a data source that has the credential pair - // that you want to use. When CopySourceArn is not null, the credential pair - // from the data source in the ARN is used as the credentials for the DataSourceCredentials - // structure. - CopySourceArn *string `type:"string"` + // The ID of the AWS account that contains the assignment that you want to describe. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Credential pair. For more information, see CredentialPair. - CredentialPair *CredentialPair `type:"structure"` + // 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 DataSourceCredentials) String() string { +func (s DescribeIAMPolicyAssignmentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSourceCredentials) GoString() string { +func (s DescribeIAMPolicyAssignmentInput) 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)) - } +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 { @@ -11188,222 +17694,114 @@ func (s *DataSourceCredentials) Validate() error { return nil } -// SetCopySourceArn sets the CopySourceArn field's value. -func (s *DataSourceCredentials) SetCopySourceArn(v string) *DataSourceCredentials { - s.CopySourceArn = &v +// SetAssignmentName sets the AssignmentName field's value. +func (s *DescribeIAMPolicyAssignmentInput) SetAssignmentName(v string) *DescribeIAMPolicyAssignmentInput { + s.AssignmentName = &v return s } -// SetCredentialPair sets the CredentialPair field's value. -func (s *DataSourceCredentials) SetCredentialPair(v *CredentialPair) *DataSourceCredentials { - s.CredentialPair = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeIAMPolicyAssignmentInput) SetAwsAccountId(v string) *DescribeIAMPolicyAssignmentInput { + s.AwsAccountId = &v return s } -// Error information for the data source creation or update. -type DataSourceErrorInfo struct { +// 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"` - // Error message. - Message *string `type:"string"` + // Information describing the IAM policy assignment. + IAMPolicyAssignment *IAMPolicyAssignment `type:"structure"` - // Error type. - Type *string `type:"string" enum:"DataSourceErrorInfoType"` + // 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 DataSourceErrorInfo) String() string { +func (s DescribeIAMPolicyAssignmentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSourceErrorInfo) GoString() string { +func (s DescribeIAMPolicyAssignmentOutput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *DataSourceErrorInfo) SetMessage(v string) *DataSourceErrorInfo { - s.Message = &v +// SetIAMPolicyAssignment sets the IAMPolicyAssignment field's value. +func (s *DescribeIAMPolicyAssignmentOutput) SetIAMPolicyAssignment(v *IAMPolicyAssignment) *DescribeIAMPolicyAssignmentOutput { + s.IAMPolicyAssignment = v return s } -// SetType sets the Type field's value. -func (s *DataSourceErrorInfo) SetType(v string) *DataSourceErrorInfo { - s.Type = &v +// SetRequestId sets the RequestId field's value. +func (s *DescribeIAMPolicyAssignmentOutput) SetRequestId(v string) *DescribeIAMPolicyAssignmentOutput { + s.RequestId = &v return s } -// The parameters that Amazon QuickSight uses to connect to your underlying -// data source. This is a variant type structure. For this structure to be valid, -// only one of the attributes can be non-null. -type DataSourceParameters struct { - _ struct{} `type:"structure"` - - // Amazon Elasticsearch Service parameters. - AmazonElasticsearchParameters *AmazonElasticsearchParameters `type:"structure"` - - // Amazon Athena parameters. - AthenaParameters *AthenaParameters `type:"structure"` - - // Amazon 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"` - - // Amazon RDS parameters. - RdsParameters *RdsParameters `type:"structure"` - - // Amazon Redshift parameters. - RedshiftParameters *RedshiftParameters `type:"structure"` - - // S3 parameters. - S3Parameters *S3Parameters `type:"structure"` - - // ServiceNow parameters. - ServiceNowParameters *ServiceNowParameters `type:"structure"` - - // Snowflake parameters. - SnowflakeParameters *SnowflakeParameters `type:"structure"` +// SetStatus sets the Status field's value. +func (s *DescribeIAMPolicyAssignmentOutput) SetStatus(v int64) *DescribeIAMPolicyAssignmentOutput { + s.Status = &v + return s +} - // Spark parameters. - SparkParameters *SparkParameters `type:"structure"` +type DescribeIngestionInput struct { + _ struct{} `type:"structure"` - // SQL Server parameters. - SqlServerParameters *SqlServerParameters `type:"structure"` + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Teradata parameters. - TeradataParameters *TeradataParameters `type:"structure"` + // The ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - // Twitter parameters. - TwitterParameters *TwitterParameters `type:"structure"` + // 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 DataSourceParameters) String() string { +func (s DescribeIngestionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSourceParameters) GoString() string { +func (s DescribeIngestionInput) 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)) - } +func (s *DescribeIngestionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIngestionInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.SnowflakeParameters != nil { - if err := s.SnowflakeParameters.Validate(); err != nil { - invalidParams.AddNested("SnowflakeParameters", err.(request.ErrInvalidParams)) - } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.SparkParameters != nil { - if err := s.SparkParameters.Validate(); err != nil { - invalidParams.AddNested("SparkParameters", err.(request.ErrInvalidParams)) - } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) } - if s.SqlServerParameters != nil { - if err := s.SqlServerParameters.Validate(); err != nil { - invalidParams.AddNested("SqlServerParameters", err.(request.ErrInvalidParams)) - } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) } - if s.TeradataParameters != nil { - if err := s.TeradataParameters.Validate(); err != nil { - invalidParams.AddNested("TeradataParameters", err.(request.ErrInvalidParams)) - } + if s.IngestionId == nil { + invalidParams.Add(request.NewErrParamRequired("IngestionId")) } - if s.TwitterParameters != nil { - if err := s.TwitterParameters.Validate(); err != nil { - invalidParams.AddNested("TwitterParameters", err.(request.ErrInvalidParams)) - } + if s.IngestionId != nil && len(*s.IngestionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) } if invalidParams.Len() > 0 { @@ -11412,153 +17810,221 @@ func (s *DataSourceParameters) Validate() error { return nil } -// SetAmazonElasticsearchParameters sets the AmazonElasticsearchParameters field's value. -func (s *DataSourceParameters) SetAmazonElasticsearchParameters(v *AmazonElasticsearchParameters) *DataSourceParameters { - s.AmazonElasticsearchParameters = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeIngestionInput) SetAwsAccountId(v string) *DescribeIngestionInput { + s.AwsAccountId = &v return s } -// SetAthenaParameters sets the AthenaParameters field's value. -func (s *DataSourceParameters) SetAthenaParameters(v *AthenaParameters) *DataSourceParameters { - s.AthenaParameters = v +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeIngestionInput) SetDataSetId(v string) *DescribeIngestionInput { + s.DataSetId = &v return s } -// SetAuroraParameters sets the AuroraParameters field's value. -func (s *DataSourceParameters) SetAuroraParameters(v *AuroraParameters) *DataSourceParameters { - s.AuroraParameters = v +// SetIngestionId sets the IngestionId field's value. +func (s *DescribeIngestionInput) SetIngestionId(v string) *DescribeIngestionInput { + s.IngestionId = &v return s } -// SetAuroraPostgreSqlParameters sets the AuroraPostgreSqlParameters field's value. -func (s *DataSourceParameters) SetAuroraPostgreSqlParameters(v *AuroraPostgreSqlParameters) *DataSourceParameters { - s.AuroraPostgreSqlParameters = 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"` } -// SetAwsIotAnalyticsParameters sets the AwsIotAnalyticsParameters field's value. -func (s *DataSourceParameters) SetAwsIotAnalyticsParameters(v *AwsIotAnalyticsParameters) *DataSourceParameters { - s.AwsIotAnalyticsParameters = v - return s +// String returns the string representation +func (s DescribeIngestionOutput) String() string { + return awsutil.Prettify(s) } -// SetJiraParameters sets the JiraParameters field's value. -func (s *DataSourceParameters) SetJiraParameters(v *JiraParameters) *DataSourceParameters { - s.JiraParameters = v - return s +// GoString returns the string representation +func (s DescribeIngestionOutput) GoString() string { + return s.String() } -// SetMariaDbParameters sets the MariaDbParameters field's value. -func (s *DataSourceParameters) SetMariaDbParameters(v *MariaDbParameters) *DataSourceParameters { - s.MariaDbParameters = v +// SetIngestion sets the Ingestion field's value. +func (s *DescribeIngestionOutput) SetIngestion(v *Ingestion) *DescribeIngestionOutput { + s.Ingestion = v return s } -// SetMySqlParameters sets the MySqlParameters field's value. -func (s *DataSourceParameters) SetMySqlParameters(v *MySqlParameters) *DataSourceParameters { - s.MySqlParameters = v +// SetRequestId sets the RequestId field's value. +func (s *DescribeIngestionOutput) SetRequestId(v string) *DescribeIngestionOutput { + s.RequestId = &v return s } -// SetPostgreSqlParameters sets the PostgreSqlParameters field's value. -func (s *DataSourceParameters) SetPostgreSqlParameters(v *PostgreSqlParameters) *DataSourceParameters { - s.PostgreSqlParameters = v +// SetStatus sets the Status field's value. +func (s *DescribeIngestionOutput) SetStatus(v int64) *DescribeIngestionOutput { + s.Status = &v return s } -// SetPrestoParameters sets the PrestoParameters field's value. -func (s *DataSourceParameters) SetPrestoParameters(v *PrestoParameters) *DataSourceParameters { - s.PrestoParameters = v - return s +type DescribeNamespaceInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that contains the QuickSight namespace that you + // want to describe. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace that you want to describe. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` } -// SetRdsParameters sets the RdsParameters field's value. -func (s *DataSourceParameters) SetRdsParameters(v *RdsParameters) *DataSourceParameters { - s.RdsParameters = v - return s +// String returns the string representation +func (s DescribeNamespaceInput) String() string { + return awsutil.Prettify(s) } -// SetRedshiftParameters sets the RedshiftParameters field's value. -func (s *DataSourceParameters) SetRedshiftParameters(v *RedshiftParameters) *DataSourceParameters { - s.RedshiftParameters = v - return s +// GoString returns the string representation +func (s DescribeNamespaceInput) GoString() string { + return s.String() } -// SetS3Parameters sets the S3Parameters field's value. -func (s *DataSourceParameters) SetS3Parameters(v *S3Parameters) *DataSourceParameters { - s.S3Parameters = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNamespaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNamespaceInput"} + 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 } -// SetServiceNowParameters sets the ServiceNowParameters field's value. -func (s *DataSourceParameters) SetServiceNowParameters(v *ServiceNowParameters) *DataSourceParameters { - s.ServiceNowParameters = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeNamespaceInput) SetAwsAccountId(v string) *DescribeNamespaceInput { + s.AwsAccountId = &v return s } -// SetSnowflakeParameters sets the SnowflakeParameters field's value. -func (s *DataSourceParameters) SetSnowflakeParameters(v *SnowflakeParameters) *DataSourceParameters { - s.SnowflakeParameters = v +// SetNamespace sets the Namespace field's value. +func (s *DescribeNamespaceInput) SetNamespace(v string) *DescribeNamespaceInput { + s.Namespace = &v return s } -// SetSparkParameters sets the SparkParameters field's value. -func (s *DataSourceParameters) SetSparkParameters(v *SparkParameters) *DataSourceParameters { - s.SparkParameters = v - return s +type DescribeNamespaceOutput struct { + _ struct{} `type:"structure"` + + // The information about the namespace that you're describing. The response + // includes the namespace ARN, name, AWS Region, creation status, and identity + // store. DescribeNamespace also works for namespaces that are in the process + // of being created. For incomplete namespaces, this API lists the namespace + // error types and messages associated with the creation process. + Namespace *NamespaceInfoV2 `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 DescribeNamespaceOutput) String() string { + return awsutil.Prettify(s) } -// SetSqlServerParameters sets the SqlServerParameters field's value. -func (s *DataSourceParameters) SetSqlServerParameters(v *SqlServerParameters) *DataSourceParameters { - s.SqlServerParameters = v +// GoString returns the string representation +func (s DescribeNamespaceOutput) GoString() string { + return s.String() +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeNamespaceOutput) SetNamespace(v *NamespaceInfoV2) *DescribeNamespaceOutput { + s.Namespace = v return s } -// SetTeradataParameters sets the TeradataParameters field's value. -func (s *DataSourceParameters) SetTeradataParameters(v *TeradataParameters) *DataSourceParameters { - s.TeradataParameters = v +// SetRequestId sets the RequestId field's value. +func (s *DescribeNamespaceOutput) SetRequestId(v string) *DescribeNamespaceOutput { + s.RequestId = &v return s } -// SetTwitterParameters sets the TwitterParameters field's value. -func (s *DataSourceParameters) SetTwitterParameters(v *TwitterParameters) *DataSourceParameters { - s.TwitterParameters = v +// SetStatus sets the Status field's value. +func (s *DescribeNamespaceOutput) SetStatus(v int64) *DescribeNamespaceOutput { + s.Status = &v return s } -// Date time parameter. -type DateTimeParameter struct { +type DescribeTemplateAliasInput struct { _ struct{} `type:"structure"` - // A display name for the dataset. + // The name of the template alias that you want to describe. If you name a specific + // alias, you describe the version that the alias points to. You can specify + // the latest version of the template by providing the keyword $LATEST in the + // AliasName parameter. The keyword $PUBLISHED doesn't apply to templates. // - // Name is a required field - Name *string `type:"string" required:"true"` + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` - // Values. + // The ID of the AWS account that contains the template alias that you're describing. // - // Values is a required field - Values []*time.Time `type:"list" required:"true"` + // 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 DateTimeParameter) String() string { +func (s DescribeTemplateAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DateTimeParameter) GoString() string { +func (s DescribeTemplateAliasInput) 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")) +func (s *DescribeTemplateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTemplateAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) } - if s.Values == nil { - invalidParams.Add(request.NewErrParamRequired("Values")) + 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 { @@ -11567,113 +18033,116 @@ func (s *DateTimeParameter) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DateTimeParameter) SetName(v string) *DateTimeParameter { - s.Name = &v +// SetAliasName sets the AliasName field's value. +func (s *DescribeTemplateAliasInput) SetAliasName(v string) *DescribeTemplateAliasInput { + s.AliasName = &v return s } -// SetValues sets the Values field's value. -func (s *DateTimeParameter) SetValues(v []*time.Time) *DateTimeParameter { - s.Values = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeTemplateAliasInput) SetAwsAccountId(v string) *DescribeTemplateAliasInput { + s.AwsAccountId = &v return s } -// Decimal parameter. -type DecimalParameter struct { +// 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"` - // A display name for the dataset. - // - // Name is a required field - Name *string `type:"string" required:"true"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Values. - // - // Values is a required field - Values []*float64 `type:"list" required:"true"` + // 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 DecimalParameter) String() string { +func (s DescribeTemplateAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DecimalParameter) GoString() string { +func (s DescribeTemplateAliasOutput) 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 +// SetRequestId sets the RequestId field's value. +func (s *DescribeTemplateAliasOutput) SetRequestId(v string) *DescribeTemplateAliasOutput { + s.RequestId = &v + return s } -// SetName sets the Name field's value. -func (s *DecimalParameter) SetName(v string) *DecimalParameter { - s.Name = &v +// SetStatus sets the Status field's value. +func (s *DescribeTemplateAliasOutput) SetStatus(v int64) *DescribeTemplateAliasOutput { + s.Status = &v return s } -// SetValues sets the Values field's value. -func (s *DecimalParameter) SetValues(v []*float64) *DecimalParameter { - s.Values = v +// SetTemplateAlias sets the TemplateAlias field's value. +func (s *DescribeTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *DescribeTemplateAliasOutput { + s.TemplateAlias = v return s } -type DeleteDashboardInput struct { +type DescribeTemplateInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're deleting. + // The alias of the template that you want to describe. If you name a specific + // alias, you describe the version that the alias points to. You can specify + // the latest version of the template by providing the keyword $LATEST in the + // AliasName parameter. The keyword $PUBLISHED doesn't apply to templates. + AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` + + // The ID of the AWS account that contains the template that you're describing. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dashboard. + // The ID for the template. // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - // The version number of the dashboard. If the version number property is provided, - // only the specified version of the dashboard is deleted. + // (Optional) The number for the version to describe. If a VersionNumber parameter + // value isn't 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 DeleteDashboardInput) String() string { +func (s DescribeTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDashboardInput) GoString() string { +func (s DescribeTemplateInput) 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"} +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.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + 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)) @@ -11685,113 +18154,109 @@ func (s *DeleteDashboardInput) Validate() error { 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 *DeleteDashboardInput) SetAwsAccountId(v string) *DeleteDashboardInput { +func (s *DescribeTemplateInput) SetAwsAccountId(v string) *DescribeTemplateInput { s.AwsAccountId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput { - s.DashboardId = &v +// 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 *DeleteDashboardInput) SetVersionNumber(v int64) *DeleteDashboardInput { +func (s *DescribeTemplateInput) SetVersionNumber(v int64) *DescribeTemplateInput { s.VersionNumber = &v return s } -type DeleteDashboardOutput struct { +type DescribeTemplateOutput struct { _ struct{} `type:"structure"` - // The Secure Socket Layer (SSL) properties that apply for 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"` + + // The template structure for the object you want to describe. + Template *Template `type:"structure"` } // String returns the string representation -func (s DeleteDashboardOutput) String() string { +func (s DescribeTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDashboardOutput) GoString() string { +func (s DescribeTemplateOutput) 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 { +func (s *DescribeTemplateOutput) SetRequestId(v string) *DescribeTemplateOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteDashboardOutput) SetStatus(v int64) *DeleteDashboardOutput { +func (s *DescribeTemplateOutput) SetStatus(v int64) *DescribeTemplateOutput { s.Status = &v return s } -type DeleteDataSetInput struct { +// 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"` - // The AWS account ID. + // The ID of the AWS account that contains the template that you're describing. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. + // The ID for the template. // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" 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 DeleteDataSetInput) String() string { +func (s DescribeTemplatePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDataSetInput) GoString() string { +func (s DescribeTemplatePermissionsInput) 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"} +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.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } if invalidParams.Len() > 0 { @@ -11801,107 +18266,125 @@ func (s *DeleteDataSetInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteDataSetInput) SetAwsAccountId(v string) *DeleteDataSetInput { +func (s *DescribeTemplatePermissionsInput) SetAwsAccountId(v string) *DescribeTemplatePermissionsInput { s.AwsAccountId = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DeleteDataSetInput) SetDataSetId(v string) *DeleteDataSetInput { - s.DataSetId = &v +// SetTemplateId sets the TemplateId field's value. +func (s *DescribeTemplatePermissionsInput) SetTemplateId(v string) *DescribeTemplatePermissionsInput { + s.TemplateId = &v return s } -type DeleteDataSetOutput struct { +type DescribeTemplatePermissionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dataset. - Arn *string `type:"string"` - - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - DataSetId *string `type:"string"` + // 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 Amazon Resource Name (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 DeleteDataSetOutput) String() string { +func (s DescribeTemplatePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDataSetOutput) GoString() string { +func (s DescribeTemplatePermissionsOutput) 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 +// 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 *DeleteDataSetOutput) SetRequestId(v string) *DeleteDataSetOutput { +func (s *DescribeTemplatePermissionsOutput) SetRequestId(v string) *DescribeTemplatePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteDataSetOutput) SetStatus(v int64) *DeleteDataSetOutput { +func (s *DescribeTemplatePermissionsOutput) SetStatus(v int64) *DescribeTemplatePermissionsOutput { s.Status = &v return s } -type DeleteDataSourceInput struct { +// 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 DescribeThemeAliasInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The name of the theme alias that you want to describe. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the theme alias that you're describing. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. + // The ID for the theme. // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDataSourceInput) String() string { +func (s DescribeThemeAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDataSourceInput) GoString() string { +func (s DescribeThemeAliasInput) 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"} +func (s *DescribeThemeAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeThemeAliasInput"} + 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.DataSourceId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if invalidParams.Len() > 0 { @@ -11910,119 +18393,119 @@ func (s *DeleteDataSourceInput) Validate() error { return nil } +// SetAliasName sets the AliasName field's value. +func (s *DescribeThemeAliasInput) SetAliasName(v string) *DescribeThemeAliasInput { + s.AliasName = &v + return s +} + // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteDataSourceInput) SetAwsAccountId(v string) *DeleteDataSourceInput { +func (s *DescribeThemeAliasInput) SetAwsAccountId(v string) *DescribeThemeAliasInput { s.AwsAccountId = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *DeleteDataSourceInput) SetDataSourceId(v string) *DeleteDataSourceInput { - s.DataSourceId = &v +// SetThemeId sets the ThemeId field's value. +func (s *DescribeThemeAliasInput) SetThemeId(v string) *DescribeThemeAliasInput { + s.ThemeId = &v return s } -type DeleteDataSourceOutput struct { +type DescribeThemeAliasOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the data source that you deleted. - Arn *string `type:"string"` - - // The ID of the data source. This ID is unique per AWS Region for each 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"` + + // Information about the theme alias. + ThemeAlias *ThemeAlias `type:"structure"` } // String returns the string representation -func (s DeleteDataSourceOutput) String() string { +func (s DescribeThemeAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDataSourceOutput) GoString() string { +func (s DescribeThemeAliasOutput) 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 { +func (s *DescribeThemeAliasOutput) SetRequestId(v string) *DescribeThemeAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteDataSourceOutput) SetStatus(v int64) *DeleteDataSourceOutput { +func (s *DescribeThemeAliasOutput) SetStatus(v int64) *DescribeThemeAliasOutput { s.Status = &v return s } -type DeleteGroupInput struct { +// SetThemeAlias sets the ThemeAlias field's value. +func (s *DescribeThemeAliasOutput) SetThemeAlias(v *ThemeAlias) *DescribeThemeAliasOutput { + s.ThemeAlias = v + return s +} + +type DescribeThemeInput 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 alias of the theme that you want to describe. If you name a specific + // alias, you describe the version that the alias points to. You can specify + // the latest version of the theme by providing the keyword $LATEST in the AliasName + // parameter. The keyword $PUBLISHED doesn't apply to themes. + AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` + + // The ID of the AWS account that contains the theme that you're describing. // // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" type:"string" required:"true"` - // The name of the group that you want to delete. + // The ID for the theme. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" 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"` + // The version number for the version to describe. If a VersionNumber parameter + // value isn't provided, the latest version of the theme is described. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` } // String returns the string representation -func (s DeleteGroupInput) String() string { +func (s DescribeThemeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupInput) GoString() string { +func (s DescribeThemeInput) 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"} +func (s *DescribeThemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeThemeInput"} + 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.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 1)) } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -12031,219 +18514,221 @@ func (s *DeleteGroupInput) Validate() error { return nil } +// SetAliasName sets the AliasName field's value. +func (s *DescribeThemeInput) SetAliasName(v string) *DescribeThemeInput { + s.AliasName = &v + return s +} + // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteGroupInput) SetAwsAccountId(v string) *DeleteGroupInput { +func (s *DescribeThemeInput) SetAwsAccountId(v string) *DescribeThemeInput { s.AwsAccountId = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { - s.GroupName = &v +// SetThemeId sets the ThemeId field's value. +func (s *DescribeThemeInput) SetThemeId(v string) *DescribeThemeInput { + s.ThemeId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteGroupInput) SetNamespace(v string) *DeleteGroupInput { - s.Namespace = &v +// SetVersionNumber sets the VersionNumber field's value. +func (s *DescribeThemeInput) SetVersionNumber(v int64) *DescribeThemeInput { + s.VersionNumber = &v return s } -type DeleteGroupMembershipInput struct { +type DescribeThemeOutput 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 AWS request ID for this operation. + RequestId *string `type:"string"` - // 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 HTTP status of the request. + Status *int64 `location:"statusCode" 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"` + // The information about the theme that you are describing. + Theme *Theme `type:"structure"` } // String returns the string representation -func (s DeleteGroupMembershipInput) String() string { +func (s DescribeThemeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupMembershipInput) GoString() string { +func (s DescribeThemeOutput) 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 +// SetRequestId sets the RequestId field's value. +func (s *DescribeThemeOutput) SetRequestId(v string) *DescribeThemeOutput { + s.RequestId = &v return s } -// SetMemberName sets the MemberName field's value. -func (s *DeleteGroupMembershipInput) SetMemberName(v string) *DeleteGroupMembershipInput { - s.MemberName = &v +// SetStatus sets the Status field's value. +func (s *DescribeThemeOutput) SetStatus(v int64) *DescribeThemeOutput { + s.Status = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteGroupMembershipInput) SetNamespace(v string) *DeleteGroupMembershipInput { - s.Namespace = &v +// SetTheme sets the Theme field's value. +func (s *DescribeThemeOutput) SetTheme(v *Theme) *DescribeThemeOutput { + s.Theme = v return s } -type DeleteGroupMembershipOutput struct { +type DescribeThemePermissionsInput struct { _ struct{} `type:"structure"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The ID of the AWS account that contains the theme that you're describing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The ID for the theme that you want to describe permissions for. + // + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteGroupMembershipOutput) String() string { +func (s DescribeThemePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupMembershipOutput) GoString() string { +func (s DescribeThemePermissionsInput) 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 *DescribeThemePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeThemePermissionsInput"} + 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.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) + } + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeThemePermissionsInput) SetAwsAccountId(v string) *DescribeThemePermissionsInput { + s.AwsAccountId = &v return s } -// SetStatus sets the Status field's value. -func (s *DeleteGroupMembershipOutput) SetStatus(v int64) *DeleteGroupMembershipOutput { - s.Status = &v +// SetThemeId sets the ThemeId field's value. +func (s *DescribeThemePermissionsInput) SetThemeId(v string) *DescribeThemePermissionsInput { + s.ThemeId = &v return s } -type DeleteGroupOutput struct { +type DescribeThemePermissionsOutput struct { _ struct{} `type:"structure"` + // A list of resource permissions set on the theme. + 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 Amazon Resource Name (ARN) of the theme. + ThemeArn *string `type:"string"` + + // The ID for the theme. + ThemeId *string `min:"1" type:"string"` } // String returns the string representation -func (s DeleteGroupOutput) String() string { +func (s DescribeThemePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupOutput) GoString() string { +func (s DescribeThemePermissionsOutput) GoString() string { return s.String() } +// SetPermissions sets the Permissions field's value. +func (s *DescribeThemePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeThemePermissionsOutput { + s.Permissions = v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DeleteGroupOutput) SetRequestId(v string) *DeleteGroupOutput { +func (s *DescribeThemePermissionsOutput) SetRequestId(v string) *DescribeThemePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteGroupOutput) SetStatus(v int64) *DeleteGroupOutput { +func (s *DescribeThemePermissionsOutput) SetStatus(v int64) *DescribeThemePermissionsOutput { s.Status = &v return s } -type DeleteIAMPolicyAssignmentInput struct { - _ struct{} `type:"structure"` +// SetThemeArn sets the ThemeArn field's value. +func (s *DescribeThemePermissionsOutput) SetThemeArn(v string) *DescribeThemePermissionsOutput { + s.ThemeArn = &v + return s +} - // The name of the assignment. - // - // AssignmentName is a required field - AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` +// SetThemeId sets the ThemeId field's value. +func (s *DescribeThemePermissionsOutput) SetThemeId(v string) *DescribeThemePermissionsOutput { + s.ThemeId = &v + return s +} - // The AWS account ID where you want to delete the IAM policy assignment. +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 that contains the assignment. + // 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 DeleteIAMPolicyAssignmentInput) String() string { +func (s DescribeUserInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteIAMPolicyAssignmentInput) GoString() string { +func (s DescribeUserInput) 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)) - } +func (s *DescribeUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -12256,6 +18741,12 @@ func (s *DeleteIAMPolicyAssignmentInput) Validate() error { 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 @@ -12263,247 +18754,211 @@ func (s *DeleteIAMPolicyAssignmentInput) Validate() error { 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 { +func (s *DescribeUserInput) SetAwsAccountId(v string) *DescribeUserInput { s.AwsAccountId = &v return s } // SetNamespace sets the Namespace field's value. -func (s *DeleteIAMPolicyAssignmentInput) SetNamespace(v string) *DeleteIAMPolicyAssignmentInput { +func (s *DescribeUserInput) SetNamespace(v string) *DescribeUserInput { s.Namespace = &v return s } -type DeleteIAMPolicyAssignmentOutput struct { - _ struct{} `type:"structure"` +// SetUserName sets the UserName field's value. +func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { + s.UserName = &v + return s +} - // The name of the assignment. - AssignmentName *string `min:"1" type:"string"` +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 DeleteIAMPolicyAssignmentOutput) String() string { +func (s DescribeUserOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteIAMPolicyAssignmentOutput) GoString() string { +func (s DescribeUserOutput) 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 { +func (s *DescribeUserOutput) SetRequestId(v string) *DescribeUserOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteIAMPolicyAssignmentOutput) SetStatus(v int64) *DeleteIAMPolicyAssignmentOutput { +func (s *DescribeUserOutput) SetStatus(v int64) *DescribeUserOutput { s.Status = &v return s } -type DeleteTemplateAliasInput struct { - _ struct{} `type:"structure"` +// SetUser sets the User field's value. +func (s *DescribeUserOutput) SetUser(v *User) *DescribeUserOutput { + s.User = v + return s +} - // The name for the template alias. To delete a specific alias, you delete the - // version that the alias points to. You can specify the alias name, or specify - // the latest version of the template by providing the keyword $LATEST in the - // AliasName parameter. - // - // AliasName is a required field - AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` +// The domain specified isn't on the allow list. All domains for embedded dashboards +// must be added to the approved list by an Amazon QuickSight admin. +type DomainNotWhitelistedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ID of the AWS account that contains the item to delete. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` - // The ID for the template that the specified alias is for. - // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s DeleteTemplateAliasInput) String() string { +func (s DomainNotWhitelistedException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTemplateAliasInput) GoString() string { +func (s DomainNotWhitelistedException) 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)) +func newErrorDomainNotWhitelistedException(v protocol.ResponseMetadata) error { + return &DomainNotWhitelistedException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *DomainNotWhitelistedException) Code() string { + return "DomainNotWhitelistedException" +} + +// Message returns the exception's message. +func (s *DomainNotWhitelistedException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DomainNotWhitelistedException) OrigErr() error { return nil } -// SetAliasName sets the AliasName field's value. -func (s *DeleteTemplateAliasInput) SetAliasName(v string) *DeleteTemplateAliasInput { - s.AliasName = &v - return s +func (s *DomainNotWhitelistedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteTemplateAliasInput) SetAwsAccountId(v string) *DeleteTemplateAliasInput { - s.AwsAccountId = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *DomainNotWhitelistedException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetTemplateId sets the TemplateId field's value. -func (s *DeleteTemplateAliasInput) SetTemplateId(v string) *DeleteTemplateAliasInput { - s.TemplateId = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *DomainNotWhitelistedException) RequestID() string { + return s.RespMetadata.RequestID } -type DeleteTemplateAliasOutput struct { +// Error information for the SPICE ingestion of a dataset. +type ErrorInfo struct { _ struct{} `type:"structure"` - // The name for the template alias. - AliasName *string `min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the template you want to delete. - 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"` + // Error message. + Message *string `type:"string"` - // An ID for the template associated with the deletion. - TemplateId *string `min:"1" type:"string"` + // Error type. + Type *string `type:"string" enum:"IngestionErrorType"` } // String returns the string representation -func (s DeleteTemplateAliasOutput) String() string { +func (s ErrorInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTemplateAliasOutput) GoString() string { +func (s ErrorInfo) GoString() string { return s.String() } -// SetAliasName sets the AliasName field's value. -func (s *DeleteTemplateAliasOutput) SetAliasName(v string) *DeleteTemplateAliasOutput { - s.AliasName = &v +// SetMessage sets the Message field's value. +func (s *ErrorInfo) SetMessage(v string) *ErrorInfo { + s.Message = &v return s } -// SetArn sets the Arn field's value. -func (s *DeleteTemplateAliasOutput) SetArn(v string) *DeleteTemplateAliasOutput { - s.Arn = &v +// SetType sets the Type field's value. +func (s *ErrorInfo) SetType(v string) *ErrorInfo { + s.Type = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *DeleteTemplateAliasOutput) SetRequestId(v string) *DeleteTemplateAliasOutput { - s.RequestId = &v - return s +// Export to .csv option. +type ExportToCSVOption struct { + _ struct{} `type:"structure"` + + // Availability status. + AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` } -// SetStatus sets the Status field's value. -func (s *DeleteTemplateAliasOutput) SetStatus(v int64) *DeleteTemplateAliasOutput { - s.Status = &v - return s +// String returns the string representation +func (s ExportToCSVOption) String() string { + return awsutil.Prettify(s) } -// SetTemplateId sets the TemplateId field's value. -func (s *DeleteTemplateAliasOutput) SetTemplateId(v string) *DeleteTemplateAliasOutput { - s.TemplateId = &v +// 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 } -type DeleteTemplateInput struct { +// A transform operation that filters rows based on a condition. +type FilterOperation struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template that you're 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. + // An expression that must evaluate to a Boolean value. Rows for which the expression + // evaluates to true are kept in the dataset. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - - // Specifies the version of the template that you want to delete. If you don't - // provide a version number, DeleteTemplate deletes all versions of the template. - VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` + // ConditionExpression is a required field + ConditionExpression *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteTemplateInput) String() string { +func (s FilterOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTemplateInput) GoString() string { +func (s FilterOperation) 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)) +func (s *FilterOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterOperation"} + if s.ConditionExpression == nil { + invalidParams.Add(request.NewErrParamRequired("ConditionExpression")) } - if s.VersionNumber != nil && *s.VersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + if s.ConditionExpression != nil && len(*s.ConditionExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConditionExpression", 1)) } if invalidParams.Len() > 0 { @@ -12512,124 +18967,158 @@ func (s *DeleteTemplateInput) Validate() error { 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 +// SetConditionExpression sets the ConditionExpression field's value. +func (s *FilterOperation) SetConditionExpression(v string) *FilterOperation { + s.ConditionExpression = &v return s } -type DeleteTemplateOutput struct { +// Geospatial column group that denotes a hierarchy. +type GeoSpatialColumnGroup struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Columns in this hierarchy. + // + // Columns is a required field + Columns []*string `min:"1" type:"list" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Country code. + // + // CountryCode is a required field + CountryCode *string `type:"string" required:"true" enum:"GeoSpatialCountryCode"` - // An ID for the template. - TemplateId *string `min:"1" type:"string"` + // 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 DeleteTemplateOutput) String() string { +func (s GeoSpatialColumnGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTemplateOutput) GoString() string { +func (s GeoSpatialColumnGroup) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DeleteTemplateOutput) SetArn(v string) *DeleteTemplateOutput { - s.Arn = &v - return s +// 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 } -// SetRequestId sets the RequestId field's value. -func (s *DeleteTemplateOutput) SetRequestId(v string) *DeleteTemplateOutput { - s.RequestId = &v +// SetColumns sets the Columns field's value. +func (s *GeoSpatialColumnGroup) SetColumns(v []*string) *GeoSpatialColumnGroup { + s.Columns = v return s } -// SetStatus sets the Status field's value. -func (s *DeleteTemplateOutput) SetStatus(v int64) *DeleteTemplateOutput { - s.Status = &v +// SetCountryCode sets the CountryCode field's value. +func (s *GeoSpatialColumnGroup) SetCountryCode(v string) *GeoSpatialColumnGroup { + s.CountryCode = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *DeleteTemplateOutput) SetTemplateId(v string) *DeleteTemplateOutput { - s.TemplateId = &v +// SetName sets the Name field's value. +func (s *GeoSpatialColumnGroup) SetName(v string) *GeoSpatialColumnGroup { + s.Name = &v return s } -type DeleteUserByPrincipalIdInput struct { +type GetDashboardEmbedUrlInput 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 ID for the AWS account that contains the dashboard that you're embedding. // // 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, also added to the IAM policy. // - // 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. + // The authentication method that the user uses to sign in. // - // PrincipalId is a required field - PrincipalId *string `location:"uri" locationName:"PrincipalId" type:"string" required:"true"` + // IdentityType is a required field + IdentityType *string `location:"querystring" locationName:"creds-type" type:"string" required:"true" enum:"IdentityType"` + + // Remove the reset button on the embedded dashboard. The default is FALSE, + // which enables the reset button. + ResetDisabled *bool `location:"querystring" locationName:"reset-disabled" type:"boolean"` + + // How many minutes the session is valid. The session lifetime must be 15-600 + // minutes. + SessionLifetimeInMinutes *int64 `location:"querystring" locationName:"session-lifetime" min:"15" type:"long"` + + // Remove the undo/redo button on the 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 Amazon Resource Name (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 nonfederated 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 DeleteUserByPrincipalIdInput) String() string { +func (s GetDashboardEmbedUrlInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserByPrincipalIdInput) GoString() string { +func (s GetDashboardEmbedUrlInput) 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 *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.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.IdentityType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityType")) } - if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) + if s.SessionLifetimeInMinutes != nil && *s.SessionLifetimeInMinutes < 15 { + invalidParams.Add(request.NewErrParamMinValue("SessionLifetimeInMinutes", 15)) } if invalidParams.Len() > 0 { @@ -12639,26 +19128,56 @@ func (s *DeleteUserByPrincipalIdInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteUserByPrincipalIdInput) SetAwsAccountId(v string) *DeleteUserByPrincipalIdInput { +func (s *GetDashboardEmbedUrlInput) SetAwsAccountId(v string) *GetDashboardEmbedUrlInput { 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 *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 } -// SetPrincipalId sets the PrincipalId field's value. -func (s *DeleteUserByPrincipalIdInput) SetPrincipalId(v string) *DeleteUserByPrincipalIdInput { - s.PrincipalId = &v +// SetUserArn sets the UserArn field's value. +func (s *GetDashboardEmbedUrlInput) SetUserArn(v string) *GetDashboardEmbedUrlInput { + s.UserArn = &v return s } -type DeleteUserByPrincipalIdOutput struct { +type GetDashboardEmbedUrlOutput struct { _ struct{} `type:"structure"` + // A single-use URL that you can put into your server-side webpage to embed + // your dashboard. This URL is valid for 5 minutes. The API provides the URL + // with an auth_code value that enables one (and only one) sign-on to a user + // session that is valid for 10 hours. + EmbedUrl *string `type:"string" sensitive:"true"` + // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -12667,77 +19186,86 @@ type DeleteUserByPrincipalIdOutput struct { } // String returns the string representation -func (s DeleteUserByPrincipalIdOutput) String() string { +func (s GetDashboardEmbedUrlOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserByPrincipalIdOutput) GoString() string { +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 *DeleteUserByPrincipalIdOutput) SetRequestId(v string) *DeleteUserByPrincipalIdOutput { +func (s *GetDashboardEmbedUrlOutput) SetRequestId(v string) *GetDashboardEmbedUrlOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteUserByPrincipalIdOutput) SetStatus(v int64) *DeleteUserByPrincipalIdOutput { +func (s *GetDashboardEmbedUrlOutput) SetStatus(v int64) *GetDashboardEmbedUrlOutput { s.Status = &v return s } -type DeleteUserInput struct { +type GetSessionEmbedUrlInput 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 ID for the AWS account that contains the QuickSight session that you're + // embedding. // // 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 entry point for the embedded session. + EntryPoint *string `location:"querystring" locationName:"entry-point" min:"1" type:"string"` - // The name of the user that you want to delete. + // How many minutes the session is valid. The session lifetime must be 15-600 + // minutes. + SessionLifetimeInMinutes *int64 `location:"querystring" locationName:"session-lifetime" min:"15" type:"long"` + + // The Amazon QuickSight user's Amazon Resource Name (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: // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // * Active Directory (AD) users or group members + // + // * Invited nonfederated 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 DeleteUserInput) String() string { +func (s GetSessionEmbedUrlInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserInput) GoString() string { +func (s GetSessionEmbedUrlInput) 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 *GetSessionEmbedUrlInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSessionEmbedUrlInput"} 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.EntryPoint != nil && len(*s.EntryPoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntryPoint", 1)) } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + if s.SessionLifetimeInMinutes != nil && *s.SessionLifetimeInMinutes < 15 { + invalidParams.Add(request.NewErrParamMinValue("SessionLifetimeInMinutes", 15)) } if invalidParams.Len() > 0 { @@ -12747,26 +19275,38 @@ func (s *DeleteUserInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteUserInput) SetAwsAccountId(v string) *DeleteUserInput { +func (s *GetSessionEmbedUrlInput) SetAwsAccountId(v string) *GetSessionEmbedUrlInput { s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteUserInput) SetNamespace(v string) *DeleteUserInput { - s.Namespace = &v +// SetEntryPoint sets the EntryPoint field's value. +func (s *GetSessionEmbedUrlInput) SetEntryPoint(v string) *GetSessionEmbedUrlInput { + s.EntryPoint = &v return s } -// SetUserName sets the UserName field's value. -func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { - s.UserName = &v +// SetSessionLifetimeInMinutes sets the SessionLifetimeInMinutes field's value. +func (s *GetSessionEmbedUrlInput) SetSessionLifetimeInMinutes(v int64) *GetSessionEmbedUrlInput { + s.SessionLifetimeInMinutes = &v return s } -type DeleteUserOutput struct { +// SetUserArn sets the UserArn field's value. +func (s *GetSessionEmbedUrlInput) SetUserArn(v string) *GetSessionEmbedUrlInput { + s.UserArn = &v + return s +} + +type GetSessionEmbedUrlOutput struct { _ struct{} `type:"structure"` + // A single-use URL that you can put into your server-side web page to embed + // your QuickSight session. This URL is valid for 5 minutes. The API provides + // the URL with an auth_code value that enables one (and only one) sign-on to + // a user session that is valid for 10 hours. + EmbedUrl *string `type:"string" sensitive:"true"` + // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -12775,527 +19315,463 @@ type DeleteUserOutput struct { } // String returns the string representation -func (s DeleteUserOutput) String() string { +func (s GetSessionEmbedUrlOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserOutput) GoString() string { +func (s GetSessionEmbedUrlOutput) GoString() string { return s.String() } +// SetEmbedUrl sets the EmbedUrl field's value. +func (s *GetSessionEmbedUrlOutput) SetEmbedUrl(v string) *GetSessionEmbedUrlOutput { + s.EmbedUrl = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DeleteUserOutput) SetRequestId(v string) *DeleteUserOutput { +func (s *GetSessionEmbedUrlOutput) SetRequestId(v string) *GetSessionEmbedUrlOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteUserOutput) SetStatus(v int64) *DeleteUserOutput { +func (s *GetSessionEmbedUrlOutput) SetStatus(v int64) *GetSessionEmbedUrlOutput { s.Status = &v return s } -type DescribeDashboardInput struct { +// 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 alias name. - AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` + // The Amazon Resource Name (ARN) for the group. + Arn *string `type:"string"` - // The ID of the AWS account that contains the dashboard that you're describing. - // - // 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 ID for the dashboard. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // The name of the group. + GroupName *string `min:"1" type:"string"` - // The version number for the dashboard. If a version number isn't passed, the - // latest published dashboard version is described. - VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` + // The principal ID of the group. + PrincipalId *string `type:"string"` } // String returns the string representation -func (s DescribeDashboardInput) String() string { +func (s Group) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDashboardInput) GoString() string { +func (s Group) 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 +// SetArn sets the Arn field's value. +func (s *Group) SetArn(v string) *Group { + s.Arn = &v return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDashboardInput) SetAwsAccountId(v string) *DescribeDashboardInput { - s.AwsAccountId = &v +// SetDescription sets the Description field's value. +func (s *Group) SetDescription(v string) *Group { + s.Description = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *DescribeDashboardInput) SetDashboardId(v string) *DescribeDashboardInput { - s.DashboardId = &v +// SetGroupName sets the GroupName field's value. +func (s *Group) SetGroupName(v string) *Group { + s.GroupName = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *DescribeDashboardInput) SetVersionNumber(v int64) *DescribeDashboardInput { - s.VersionNumber = &v +// SetPrincipalId sets the PrincipalId field's value. +func (s *Group) SetPrincipalId(v string) *Group { + s.PrincipalId = &v return s } -type DescribeDashboardOutput struct { +// 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"` - // Information about the dashboard. - Dashboard *Dashboard `type:"structure"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The Amazon Resource Name (ARN) for the group member (user). + Arn *string `type:"string"` - // The HTTP status of this request. - Status *int64 `location:"statusCode" type:"integer"` + // The name of the group member (user). + MemberName *string `min:"1" type:"string"` } // String returns the string representation -func (s DescribeDashboardOutput) String() string { +func (s GroupMember) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDashboardOutput) GoString() string { +func (s GroupMember) 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 +// SetArn sets the Arn field's value. +func (s *GroupMember) SetArn(v string) *GroupMember { + s.Arn = &v return s } -// SetStatus sets the Status field's value. -func (s *DescribeDashboardOutput) SetStatus(v int64) *DescribeDashboardOutput { - s.Status = &v +// SetMemberName sets the MemberName field's value. +func (s *GroupMember) SetMemberName(v string) *GroupMember { + s.MemberName = &v return s } -type DescribeDashboardPermissionsInput struct { +// The display options for gutter spacing between tiles on a sheet. +type GutterStyle struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're describing - // permissions for. - // - // 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 the IAM policy. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // This Boolean value controls whether to display a gutter space between sheet + // tiles. + Show *bool `type:"boolean"` } // String returns the string representation -func (s DescribeDashboardPermissionsInput) String() string { +func (s GutterStyle) 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 +// GoString returns the string representation +func (s GutterStyle) GoString() string { + return s.String() } -// SetDashboardId sets the DashboardId field's value. -func (s *DescribeDashboardPermissionsInput) SetDashboardId(v string) *DescribeDashboardPermissionsInput { - s.DashboardId = &v +// SetShow sets the Show field's value. +func (s *GutterStyle) SetShow(v bool) *GutterStyle { + s.Show = &v return s } -type DescribeDashboardPermissionsOutput struct { +// An AWS Identity and Access Management (IAM) policy assignment. +type IAMPolicyAssignment struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dashboard. - DashboardArn *string `type:"string"` + // Assignment ID. + AssignmentId *string `type:"string"` - // The ID for the dashboard. - DashboardId *string `min:"1" type:"string"` + // Assignment name. + AssignmentName *string `min:"1" type:"string"` - // A structure that contains the permissions for the dashboard. - Permissions []*ResourcePermission `min:"1" type:"list"` + // Assignment status. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The AWS account ID. + AwsAccountId *string `min:"12" type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Identities. + Identities map[string][]*string `type:"map"` + + // The Amazon Resource Name (ARN) for the IAM policy. + PolicyArn *string `type:"string"` } // String returns the string representation -func (s DescribeDashboardPermissionsOutput) String() string { +func (s IAMPolicyAssignment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDashboardPermissionsOutput) GoString() string { +func (s IAMPolicyAssignment) GoString() string { return s.String() } -// SetDashboardArn sets the DashboardArn field's value. -func (s *DescribeDashboardPermissionsOutput) SetDashboardArn(v string) *DescribeDashboardPermissionsOutput { - s.DashboardArn = &v +// SetAssignmentId sets the AssignmentId field's value. +func (s *IAMPolicyAssignment) SetAssignmentId(v string) *IAMPolicyAssignment { + s.AssignmentId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *DescribeDashboardPermissionsOutput) SetDashboardId(v string) *DescribeDashboardPermissionsOutput { - s.DashboardId = &v +// SetAssignmentName sets the AssignmentName field's value. +func (s *IAMPolicyAssignment) SetAssignmentName(v string) *IAMPolicyAssignment { + s.AssignmentName = &v return s } -// SetPermissions sets the Permissions field's value. -func (s *DescribeDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDashboardPermissionsOutput { - s.Permissions = v +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *IAMPolicyAssignment) SetAssignmentStatus(v string) *IAMPolicyAssignment { + s.AssignmentStatus = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDashboardPermissionsOutput) SetRequestId(v string) *DescribeDashboardPermissionsOutput { - s.RequestId = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *IAMPolicyAssignment) SetAwsAccountId(v string) *IAMPolicyAssignment { + s.AwsAccountId = &v return s } -// SetStatus sets the Status field's value. -func (s *DescribeDashboardPermissionsOutput) SetStatus(v int64) *DescribeDashboardPermissionsOutput { - s.Status = &v +// SetIdentities sets the Identities field's value. +func (s *IAMPolicyAssignment) SetIdentities(v map[string][]*string) *IAMPolicyAssignment { + s.Identities = v return s } -type DescribeDataSetInput struct { +// 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"` - // The AWS account ID. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // Assignment name. + AssignmentName *string `min:"1" type:"string"` - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // Assignment status. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` } // String returns the string representation -func (s DescribeDataSetInput) String() string { +func (s IAMPolicyAssignmentSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSetInput) GoString() string { +func (s IAMPolicyAssignmentSummary) 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 +// SetAssignmentName sets the AssignmentName field's value. +func (s *IAMPolicyAssignmentSummary) SetAssignmentName(v string) *IAMPolicyAssignmentSummary { + s.AssignmentName = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DescribeDataSetInput) SetDataSetId(v string) *DescribeDataSetInput { - s.DataSetId = &v +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *IAMPolicyAssignmentSummary) SetAssignmentStatus(v string) *IAMPolicyAssignmentSummary { + s.AssignmentStatus = &v return s } -type DescribeDataSetOutput struct { - _ struct{} `type:"structure"` +// The identity type specified isn't supported. Supported identity types include +// IAM and QUICKSIGHT. +type IdentityTypeNotSupportedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Information on the dataset. - DataSet *DataSet `type:"structure"` + Message_ *string `locationName:"Message" type:"string"` - // The AWS request ID for this operation. + // The AWS request ID for this request. 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 { +func (s IdentityTypeNotSupportedException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSetOutput) GoString() string { +func (s IdentityTypeNotSupportedException) GoString() string { return s.String() } -// SetDataSet sets the DataSet field's value. -func (s *DescribeDataSetOutput) SetDataSet(v *DataSet) *DescribeDataSetOutput { - s.DataSet = v - return s +func newErrorIdentityTypeNotSupportedException(v protocol.ResponseMetadata) error { + return &IdentityTypeNotSupportedException{ + RespMetadata: v, + } } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDataSetOutput) SetRequestId(v string) *DescribeDataSetOutput { - s.RequestId = &v - return s +// Code returns the exception type name. +func (s *IdentityTypeNotSupportedException) Code() string { + return "IdentityTypeNotSupportedException" } -// SetStatus sets the Status field's value. -func (s *DescribeDataSetOutput) SetStatus(v int64) *DescribeDataSetOutput { - s.Status = &v - return s +// Message returns the exception's message. +func (s *IdentityTypeNotSupportedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -type DescribeDataSetPermissionsInput struct { +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *IdentityTypeNotSupportedException) OrigErr() error { + return nil +} + +func (s *IdentityTypeNotSupportedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *IdentityTypeNotSupportedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *IdentityTypeNotSupportedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Information about the SPICE ingestion for a dataset. +type Ingestion struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The Amazon Resource Name (ARN) of the resource. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // Arn is a required field + Arn *string `type:"string" required:"true"` - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. + // The time that this ingestion started. // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` -} + // CreatedTime is a required field + CreatedTime *time.Time `type:"timestamp" required:"true"` -// String returns the string representation -func (s DescribeDataSetPermissionsInput) String() string { - return awsutil.Prettify(s) -} + // Error information for this ingestion. + ErrorInfo *ErrorInfo `type:"structure"` -// GoString returns the string representation -func (s DescribeDataSetPermissionsInput) GoString() string { - return s.String() -} + // Ingestion ID. + IngestionId *string `min:"1" type:"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)) - } + // The 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 that this ingestion took, measured in seconds. + IngestionTimeInSeconds *int64 `type:"long"` + + // Information about a 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 about rows for a data set SPICE ingestion. + RowInfo *RowInfo `type:"structure"` +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// String returns the string representation +func (s Ingestion) String() string { + return awsutil.Prettify(s) } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDataSetPermissionsInput) SetAwsAccountId(v string) *DescribeDataSetPermissionsInput { - s.AwsAccountId = &v - return s +// GoString returns the string representation +func (s Ingestion) GoString() string { + return s.String() } -// SetDataSetId sets the DataSetId field's value. -func (s *DescribeDataSetPermissionsInput) SetDataSetId(v string) *DescribeDataSetPermissionsInput { - s.DataSetId = &v +// SetArn sets the Arn field's value. +func (s *Ingestion) SetArn(v string) *Ingestion { + s.Arn = &v return s } -type DescribeDataSetPermissionsOutput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the dataset. - DataSetArn *string `type:"string"` - - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - DataSetId *string `type:"string"` - - // A list of resource permissions on the dataset. - Permissions []*ResourcePermission `min:"1" type:"list"` +// SetCreatedTime sets the CreatedTime field's value. +func (s *Ingestion) SetCreatedTime(v time.Time) *Ingestion { + s.CreatedTime = &v + return s +} - // The AWS request ID for this operation. - RequestId *string `type:"string"` +// SetErrorInfo sets the ErrorInfo field's value. +func (s *Ingestion) SetErrorInfo(v *ErrorInfo) *Ingestion { + s.ErrorInfo = v + return s +} - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` +// SetIngestionId sets the IngestionId field's value. +func (s *Ingestion) SetIngestionId(v string) *Ingestion { + s.IngestionId = &v + return s } -// String returns the string representation -func (s DescribeDataSetPermissionsOutput) String() string { - return awsutil.Prettify(s) +// SetIngestionSizeInBytes sets the IngestionSizeInBytes field's value. +func (s *Ingestion) SetIngestionSizeInBytes(v int64) *Ingestion { + s.IngestionSizeInBytes = &v + return s } -// GoString returns the string representation -func (s DescribeDataSetPermissionsOutput) GoString() string { - return s.String() +// SetIngestionStatus sets the IngestionStatus field's value. +func (s *Ingestion) SetIngestionStatus(v string) *Ingestion { + s.IngestionStatus = &v + return s } -// SetDataSetArn sets the DataSetArn field's value. -func (s *DescribeDataSetPermissionsOutput) SetDataSetArn(v string) *DescribeDataSetPermissionsOutput { - s.DataSetArn = &v +// SetIngestionTimeInSeconds sets the IngestionTimeInSeconds field's value. +func (s *Ingestion) SetIngestionTimeInSeconds(v int64) *Ingestion { + s.IngestionTimeInSeconds = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DescribeDataSetPermissionsOutput) SetDataSetId(v string) *DescribeDataSetPermissionsOutput { - s.DataSetId = &v +// SetQueueInfo sets the QueueInfo field's value. +func (s *Ingestion) SetQueueInfo(v *QueueInfo) *Ingestion { + s.QueueInfo = v return s } -// SetPermissions sets the Permissions field's value. -func (s *DescribeDataSetPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSetPermissionsOutput { - s.Permissions = v +// SetRequestSource sets the RequestSource field's value. +func (s *Ingestion) SetRequestSource(v string) *Ingestion { + s.RequestSource = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDataSetPermissionsOutput) SetRequestId(v string) *DescribeDataSetPermissionsOutput { - s.RequestId = &v +// SetRequestType sets the RequestType field's value. +func (s *Ingestion) SetRequestType(v string) *Ingestion { + s.RequestType = &v return s } -// SetStatus sets the Status field's value. -func (s *DescribeDataSetPermissionsOutput) SetStatus(v int64) *DescribeDataSetPermissionsOutput { - s.Status = &v +// SetRowInfo sets the RowInfo field's value. +func (s *Ingestion) SetRowInfo(v *RowInfo) *Ingestion { + s.RowInfo = v return s } -type DescribeDataSourceInput struct { +// Metadata for a column that is used as the input of a transform operation. +type InputColumn struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The name of this column in the underlying data source. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. + // The data type of the column. // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` + // Type is a required field + Type *string `type:"string" required:"true" enum:"InputColumnDataType"` } // String returns the string representation -func (s DescribeDataSourceInput) String() string { +func (s InputColumn) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSourceInput) GoString() string { +func (s InputColumn) 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)) +func (s *InputColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputColumn"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.DataSourceId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { @@ -13304,344 +19780,348 @@ func (s *DescribeDataSourceInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDataSourceInput) SetAwsAccountId(v string) *DescribeDataSourceInput { - s.AwsAccountId = &v +// SetName sets the Name field's value. +func (s *InputColumn) SetName(v string) *InputColumn { + s.Name = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *DescribeDataSourceInput) SetDataSourceId(v string) *DescribeDataSourceInput { - s.DataSourceId = &v +// SetType sets the Type field's value. +func (s *InputColumn) SetType(v string) *InputColumn { + s.Type = &v return s } -type DescribeDataSourceOutput struct { +// Integer parameter. +type IntegerParameter 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"` + // A display name for the dataset. + // + // Name is a required field + Name *string `type:"string" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Values. + // + // Values is a required field + Values []*int64 `type:"list" required:"true"` } // String returns the string representation -func (s DescribeDataSourceOutput) String() string { +func (s IntegerParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSourceOutput) GoString() string { +func (s IntegerParameter) GoString() string { return s.String() } -// SetDataSource sets the DataSource field's value. -func (s *DescribeDataSourceOutput) SetDataSource(v *DataSource) *DescribeDataSourceOutput { - s.DataSource = v - return s +// 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 } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDataSourceOutput) SetRequestId(v string) *DescribeDataSourceOutput { - s.RequestId = &v +// SetName sets the Name field's value. +func (s *IntegerParameter) SetName(v string) *IntegerParameter { + s.Name = &v return s } -// SetStatus sets the Status field's value. -func (s *DescribeDataSourceOutput) SetStatus(v int64) *DescribeDataSourceOutput { - s.Status = &v +// SetValues sets the Values field's value. +func (s *IntegerParameter) SetValues(v []*int64) *IntegerParameter { + s.Values = v return s } -type DescribeDataSourcePermissionsInput struct { - _ struct{} `type:"structure"` +// An internal failure occurred. +type InternalFailureException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The AWS account ID. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. - // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s DescribeDataSourcePermissionsInput) String() string { +func (s InternalFailureException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSourcePermissionsInput) GoString() string { +func (s InternalFailureException) 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)) +func newErrorInternalFailureException(v protocol.ResponseMetadata) error { + return &InternalFailureException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InternalFailureException) Code() string { + return "InternalFailureException" +} + +// Message returns the exception's message. +func (s *InternalFailureException) Message() string { + if s.Message_ != nil { + return *s.Message_ } - return nil + return "" } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDataSourcePermissionsInput) SetAwsAccountId(v string) *DescribeDataSourcePermissionsInput { - s.AwsAccountId = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalFailureException) OrigErr() error { + return nil } -// SetDataSourceId sets the DataSourceId field's value. -func (s *DescribeDataSourcePermissionsInput) SetDataSourceId(v string) *DescribeDataSourcePermissionsInput { - s.DataSourceId = &v - return s +func (s *InternalFailureException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -type DescribeDataSourcePermissionsOutput struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *InternalFailureException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The Amazon Resource Name (ARN) of the data source. - DataSourceArn *string `type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *InternalFailureException) RequestID() string { + return s.RespMetadata.RequestID +} - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. - DataSourceId *string `type:"string"` +// The NextToken value isn't valid. +type InvalidNextTokenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A list of resource permissions on the data source. - Permissions []*ResourcePermission `min:"1" type:"list"` + Message_ *string `locationName:"Message" type:"string"` - // The AWS request ID for this operation. + // The AWS request ID for this request. 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 { +func (s InvalidNextTokenException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSourcePermissionsOutput) GoString() string { +func (s InvalidNextTokenException) GoString() string { return s.String() } -// SetDataSourceArn sets the DataSourceArn field's value. -func (s *DescribeDataSourcePermissionsOutput) SetDataSourceArn(v string) *DescribeDataSourcePermissionsOutput { - s.DataSourceArn = &v - return s +func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { + return &InvalidNextTokenException{ + RespMetadata: v, + } } -// SetDataSourceId sets the DataSourceId field's value. -func (s *DescribeDataSourcePermissionsOutput) SetDataSourceId(v string) *DescribeDataSourcePermissionsOutput { - s.DataSourceId = &v - return s +// Code returns the exception type name. +func (s *InvalidNextTokenException) Code() string { + return "InvalidNextTokenException" } -// SetPermissions sets the Permissions field's value. -func (s *DescribeDataSourcePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSourcePermissionsOutput { - s.Permissions = v - return s +// Message returns the exception's message. +func (s *InvalidNextTokenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDataSourcePermissionsOutput) SetRequestId(v string) *DescribeDataSourcePermissionsOutput { - s.RequestId = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidNextTokenException) OrigErr() error { + return nil } -// SetStatus sets the Status field's value. -func (s *DescribeDataSourcePermissionsOutput) SetStatus(v int64) *DescribeDataSourcePermissionsOutput { - s.Status = &v - return s +func (s *InvalidNextTokenException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -type DescribeGroupInput struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidNextTokenException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // 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"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidNextTokenException) RequestID() string { + return s.RespMetadata.RequestID +} - // 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"` +// One or more parameters has a value that isn't valid. +type InvalidParameterValueException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s DescribeGroupInput) String() string { +func (s InvalidParameterValueException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGroupInput) GoString() string { +func (s InvalidParameterValueException) 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)) +func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error { + return &InvalidParameterValueException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InvalidParameterValueException) Code() string { + return "InvalidParameterValueException" +} + +// Message returns the exception's message. +func (s *InvalidParameterValueException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterValueException) OrigErr() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeGroupInput) SetAwsAccountId(v string) *DescribeGroupInput { - s.AwsAccountId = &v - return s +func (s *InvalidParameterValueException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetGroupName sets the GroupName field's value. -func (s *DescribeGroupInput) SetGroupName(v string) *DescribeGroupInput { - s.GroupName = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterValueException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetNamespace sets the Namespace field's value. -func (s *DescribeGroupInput) SetNamespace(v string) *DescribeGroupInput { - s.Namespace = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterValueException) RequestID() string { + return s.RespMetadata.RequestID } -type DescribeGroupOutput struct { +// Jira parameters. +type JiraParameters 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"` + // 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 DescribeGroupOutput) String() string { +func (s JiraParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGroupOutput) GoString() string { +func (s JiraParameters) GoString() string { return s.String() } -// SetGroup sets the Group field's value. -func (s *DescribeGroupOutput) SetGroup(v *Group) *DescribeGroupOutput { - s.Group = v - return s -} +// 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)) + } -// SetRequestId sets the RequestId field's value. -func (s *DescribeGroupOutput) SetRequestId(v string) *DescribeGroupOutput { - s.RequestId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatus sets the Status field's value. -func (s *DescribeGroupOutput) SetStatus(v int64) *DescribeGroupOutput { - s.Status = &v +// SetSiteBaseUrl sets the SiteBaseUrl field's value. +func (s *JiraParameters) SetSiteBaseUrl(v string) *JiraParameters { + s.SiteBaseUrl = &v return s } -type DescribeIAMPolicyAssignmentInput struct { +// Join instruction. +type JoinInstruction struct { _ struct{} `type:"structure"` - // The name of the assignment. + // Left operand. // - // AssignmentName is a required field - AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` + // LeftOperand is a required field + LeftOperand *string `min:"1" type:"string" required:"true"` - // The ID of the AWS account that contains the assignment that you want to describe. + // On Clause. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // OnClause is a required field + OnClause *string `min:"1" type:"string" required:"true"` - // The namespace that contains the assignment. + // Right operand. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // 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 DescribeIAMPolicyAssignmentInput) String() string { +func (s JoinInstruction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIAMPolicyAssignmentInput) GoString() string { +func (s JoinInstruction) 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")) + +// 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.AssignmentName != nil && len(*s.AssignmentName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) + if s.LeftOperand != nil && len(*s.LeftOperand) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LeftOperand", 1)) } - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + if s.OnClause == nil { + invalidParams.Add(request.NewErrParamRequired("OnClause")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.OnClause != nil && len(*s.OnClause) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OnClause", 1)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.RightOperand == nil { + invalidParams.Add(request.NewErrParamRequired("RightOperand")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + 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 { @@ -13650,114 +20130,140 @@ func (s *DescribeIAMPolicyAssignmentInput) Validate() error { return nil } -// SetAssignmentName sets the AssignmentName field's value. -func (s *DescribeIAMPolicyAssignmentInput) SetAssignmentName(v string) *DescribeIAMPolicyAssignmentInput { - s.AssignmentName = &v +// SetLeftOperand sets the LeftOperand field's value. +func (s *JoinInstruction) SetLeftOperand(v string) *JoinInstruction { + s.LeftOperand = &v return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeIAMPolicyAssignmentInput) SetAwsAccountId(v string) *DescribeIAMPolicyAssignmentInput { - s.AwsAccountId = &v +// SetOnClause sets the OnClause field's value. +func (s *JoinInstruction) SetOnClause(v string) *JoinInstruction { + s.OnClause = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DescribeIAMPolicyAssignmentInput) SetNamespace(v string) *DescribeIAMPolicyAssignmentInput { - s.Namespace = &v +// SetRightOperand sets the RightOperand field's value. +func (s *JoinInstruction) SetRightOperand(v string) *JoinInstruction { + s.RightOperand = &v return s } -type DescribeIAMPolicyAssignmentOutput struct { - _ struct{} `type:"structure"` +// SetType sets the Type field's value. +func (s *JoinInstruction) SetType(v string) *JoinInstruction { + s.Type = &v + return s +} - // Information describing the IAM policy assignment. - IAMPolicyAssignment *IAMPolicyAssignment `type:"structure"` +// A limit is exceeded. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The AWS request ID for this operation. + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. RequestId *string `type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Limit exceeded. + ResourceType *string `type:"string" enum:"ExceptionResourceType"` } // String returns the string representation -func (s DescribeIAMPolicyAssignmentOutput) String() string { +func (s LimitExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIAMPolicyAssignmentOutput) GoString() string { +func (s LimitExceededException) GoString() string { return s.String() } -// SetIAMPolicyAssignment sets the IAMPolicyAssignment field's value. -func (s *DescribeIAMPolicyAssignmentOutput) SetIAMPolicyAssignment(v *IAMPolicyAssignment) *DescribeIAMPolicyAssignmentOutput { - s.IAMPolicyAssignment = v - return s +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } } -// SetRequestId sets the RequestId field's value. -func (s *DescribeIAMPolicyAssignmentOutput) SetRequestId(v string) *DescribeIAMPolicyAssignmentOutput { - s.RequestId = &v - return s +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" } -// SetStatus sets the Status field's value. -func (s *DescribeIAMPolicyAssignmentOutput) SetStatus(v int64) *DescribeIAMPolicyAssignmentOutput { - s.Status = &v - return s +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -type DescribeIngestionInput struct { +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListDashboardVersionsInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The ID of the AWS account that contains the dashboard that you're listing + // versions for. // // 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. + // The ID for the dashboard. // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" 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"` + // 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 DescribeIngestionInput) String() string { +func (s ListDashboardVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIngestionInput) GoString() string { +func (s ListDashboardVersionsInput) 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"} +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.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.IngestionId == nil { - invalidParams.Add(request.NewErrParamRequired("IngestionId")) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } - if s.IngestionId != nil && len(*s.IngestionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -13767,28 +20273,37 @@ func (s *DescribeIngestionInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeIngestionInput) SetAwsAccountId(v string) *DescribeIngestionInput { +func (s *ListDashboardVersionsInput) SetAwsAccountId(v string) *ListDashboardVersionsInput { s.AwsAccountId = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DescribeIngestionInput) SetDataSetId(v string) *DescribeIngestionInput { - s.DataSetId = &v +// SetDashboardId sets the DashboardId field's value. +func (s *ListDashboardVersionsInput) SetDashboardId(v string) *ListDashboardVersionsInput { + s.DashboardId = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *DescribeIngestionInput) SetIngestionId(v string) *DescribeIngestionInput { - s.IngestionId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDashboardVersionsInput) SetMaxResults(v int64) *ListDashboardVersionsInput { + s.MaxResults = &v return s } -type DescribeIngestionOutput struct { +// 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"` - // Information about the ingestion. - Ingestion *Ingestion `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"` @@ -13798,85 +20313,75 @@ type DescribeIngestionOutput struct { } // String returns the string representation -func (s DescribeIngestionOutput) String() string { +func (s ListDashboardVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIngestionOutput) GoString() string { +func (s ListDashboardVersionsOutput) GoString() string { return s.String() } -// SetIngestion sets the Ingestion field's value. -func (s *DescribeIngestionOutput) SetIngestion(v *Ingestion) *DescribeIngestionOutput { - s.Ingestion = v +// 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 *DescribeIngestionOutput) SetRequestId(v string) *DescribeIngestionOutput { +func (s *ListDashboardVersionsOutput) SetRequestId(v string) *ListDashboardVersionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeIngestionOutput) SetStatus(v int64) *DescribeIngestionOutput { +func (s *ListDashboardVersionsOutput) SetStatus(v int64) *ListDashboardVersionsOutput { s.Status = &v return s } -type DescribeTemplateAliasInput struct { +type ListDashboardsInput struct { _ struct{} `type:"structure"` - // The name of the template alias that you want to describe. If you name a specific - // alias, you describe the version that the alias points to. You can specify - // the latest version of the template by providing the keyword $LATEST in the - // AliasName parameter. The keyword $PUBLISHED doesn't apply to templates. - // - // AliasName is a required field - AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` - - // The ID of the AWS account that contains the template alias that you're describing. + // The ID of the AWS account that contains the dashboards that you're listing. // // 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"` + // 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 DescribeTemplateAliasInput) String() string { +func (s ListDashboardsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplateAliasInput) GoString() string { +func (s ListDashboardsInput) 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)) - } +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.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) - } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -13885,119 +20390,111 @@ func (s *DescribeTemplateAliasInput) Validate() error { 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 { +func (s *ListDashboardsInput) SetAwsAccountId(v string) *ListDashboardsInput { s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *DescribeTemplateAliasInput) SetTemplateId(v string) *DescribeTemplateAliasInput { - s.TemplateId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDashboardsInput) SetMaxResults(v int64) *ListDashboardsInput { + s.MaxResults = &v return s } -type DescribeTemplateAliasOutput struct { +// 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 in your AWS account. This + // structure 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"` - - // Information about the template alias. - TemplateAlias *TemplateAlias `type:"structure"` } // String returns the string representation -func (s DescribeTemplateAliasOutput) String() string { +func (s ListDashboardsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplateAliasOutput) GoString() string { +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 *DescribeTemplateAliasOutput) SetRequestId(v string) *DescribeTemplateAliasOutput { +func (s *ListDashboardsOutput) SetRequestId(v string) *ListDashboardsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeTemplateAliasOutput) SetStatus(v int64) *DescribeTemplateAliasOutput { +func (s *ListDashboardsOutput) SetStatus(v int64) *ListDashboardsOutput { 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 { +type ListDataSetsInput struct { _ struct{} `type:"structure"` - // The alias of the template that you want to describe. If you name a specific - // alias, you describe the version that the alias points to. You can specify - // the latest version of the template by providing the keyword $LATEST in the - // AliasName parameter. The keyword $PUBLISHED doesn't apply to templates. - AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` - - // The ID of the AWS account that contains the template that you're describing. + // 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 template. - // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" 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"` - // (Optional) The number for the version to describe. If a VersionNumber parameter - // value isn't provided, the latest version of the template is described. - VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` + // 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 DescribeTemplateInput) String() string { +func (s ListDataSetsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplateInput) GoString() string { +func (s ListDataSetsInput) 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)) - } +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.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 s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -14006,100 +20503,110 @@ func (s *DescribeTemplateInput) Validate() error { 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 { +func (s *ListDataSetsInput) SetAwsAccountId(v string) *ListDataSetsInput { s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *DescribeTemplateInput) SetTemplateId(v string) *DescribeTemplateInput { - s.TemplateId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDataSetsInput) SetMaxResults(v int64) *ListDataSetsInput { + s.MaxResults = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *DescribeTemplateInput) SetVersionNumber(v int64) *DescribeTemplateInput { - s.VersionNumber = &v +// SetNextToken sets the NextToken field's value. +func (s *ListDataSetsInput) SetNextToken(v string) *ListDataSetsInput { + s.NextToken = &v return s } -type DescribeTemplateOutput struct { +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"` - - // The template structure for the object you want to describe. - Template *Template `type:"structure"` } // String returns the string representation -func (s DescribeTemplateOutput) String() string { +func (s ListDataSetsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplateOutput) GoString() string { +func (s ListDataSetsOutput) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *DescribeTemplateOutput) SetStatus(v int64) *DescribeTemplateOutput { - s.Status = &v +// SetDataSetSummaries sets the DataSetSummaries field's value. +func (s *ListDataSetsOutput) SetDataSetSummaries(v []*DataSetSummary) *ListDataSetsOutput { + s.DataSetSummaries = v return s } -// SetTemplate sets the Template field's value. -func (s *DescribeTemplateOutput) SetTemplate(v *Template) *DescribeTemplateOutput { - s.Template = v +// SetNextToken sets the NextToken field's value. +func (s *ListDataSetsOutput) SetNextToken(v string) *ListDataSetsOutput { + s.NextToken = &v return s } -type DescribeTemplatePermissionsInput struct { +// 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 ID of the AWS account that contains the template that you're describing. + // 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 template. - // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" 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 DescribeTemplatePermissionsInput) String() string { +func (s ListDataSourcesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplatePermissionsInput) GoString() string { +func (s ListDataSourcesInput) 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"} +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.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) - } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -14109,127 +20616,133 @@ func (s *DescribeTemplatePermissionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeTemplatePermissionsInput) SetAwsAccountId(v string) *DescribeTemplatePermissionsInput { +func (s *ListDataSourcesInput) SetAwsAccountId(v string) *ListDataSourcesInput { s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *DescribeTemplatePermissionsInput) SetTemplateId(v string) *DescribeTemplatePermissionsInput { - s.TemplateId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput { + s.MaxResults = &v return s } -type DescribeTemplatePermissionsOutput struct { +// 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 resource permissions to be set on the template. - Permissions []*ResourcePermission `min:"1" type:"list"` + // 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"` - - // The Amazon Resource Name (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 { +func (s ListDataSourcesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplatePermissionsOutput) GoString() string { +func (s ListDataSourcesOutput) GoString() string { return s.String() } -// SetPermissions sets the Permissions field's value. -func (s *DescribeTemplatePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeTemplatePermissionsOutput { - s.Permissions = v +// 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 *DescribeTemplatePermissionsOutput) SetRequestId(v string) *DescribeTemplatePermissionsOutput { +func (s *ListDataSourcesOutput) SetRequestId(v string) *ListDataSourcesOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeTemplatePermissionsOutput) SetStatus(v int64) *DescribeTemplatePermissionsOutput { +func (s *ListDataSourcesOutput) SetStatus(v int64) *ListDataSourcesOutput { 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 { +type ListGroupMembershipsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the user is in. Currently, you use the ID + // 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"` - // 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"` + // 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 DescribeUserInput) String() string { +func (s ListGroupMembershipsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeUserInput) GoString() string { +func (s ListGroupMembershipsInput) 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 *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 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 @@ -14238,210 +20751,273 @@ func (s *DescribeUserInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeUserInput) SetAwsAccountId(v string) *DescribeUserInput { +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 *DescribeUserInput) SetNamespace(v string) *DescribeUserInput { +func (s *ListGroupMembershipsInput) SetNamespace(v string) *ListGroupMembershipsInput { s.Namespace = &v return s } -// SetUserName sets the UserName field's value. -func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { - s.UserName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListGroupMembershipsInput) SetNextToken(v string) *ListGroupMembershipsInput { + s.NextToken = &v return s } -type DescribeUserOutput struct { +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"` - - // The user name. - User *User `type:"structure"` } // String returns the string representation -func (s DescribeUserOutput) String() string { +func (s ListGroupMembershipsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeUserOutput) GoString() string { +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 *DescribeUserOutput) SetRequestId(v string) *DescribeUserOutput { +func (s *ListGroupMembershipsOutput) SetRequestId(v string) *ListGroupMembershipsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeUserOutput) SetStatus(v int64) *DescribeUserOutput { +func (s *ListGroupMembershipsOutput) SetStatus(v int64) *ListGroupMembershipsOutput { 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 ListGroupsInput struct { + _ struct{} `type:"structure"` -// The domain specified isn't on the allow list. All domains for embedded dashboards -// must be added to the approved list by an Amazon QuickSight admin. -type DomainNotWhitelistedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // 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"` - Message_ *string `locationName:"Message" type:"string"` + // The maximum number of results to return. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // The AWS request ID for this request. - RequestId *string `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"` + + // 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 DomainNotWhitelistedException) String() string { +func (s ListGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DomainNotWhitelistedException) GoString() string { +func (s ListGroupsInput) GoString() string { return s.String() } -func newErrorDomainNotWhitelistedException(v protocol.ResponseMetadata) error { - return &DomainNotWhitelistedException{ - RespMetadata: v, +// 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)) } -} - -// Code returns the exception type name. -func (s *DomainNotWhitelistedException) Code() string { - return "DomainNotWhitelistedException" -} -// Message returns the exception's message. -func (s *DomainNotWhitelistedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DomainNotWhitelistedException) OrigErr() error { - return nil +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListGroupsInput) SetAwsAccountId(v string) *ListGroupsInput { + s.AwsAccountId = &v + return s } -func (s *DomainNotWhitelistedException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetMaxResults sets the MaxResults field's value. +func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { + s.MaxResults = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *DomainNotWhitelistedException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNamespace sets the Namespace field's value. +func (s *ListGroupsInput) SetNamespace(v string) *ListGroupsInput { + s.Namespace = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *DomainNotWhitelistedException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { + s.NextToken = &v + return s } -// Error information for the SPICE ingestion of a dataset. -type ErrorInfo struct { +type ListGroupsOutput struct { _ struct{} `type:"structure"` - // Error message. - Message *string `type:"string"` + // The list of the groups. + GroupList []*Group `type:"list"` - // Error type. - Type *string `type:"string" enum:"IngestionErrorType"` + // 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 ErrorInfo) String() string { +func (s ListGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ErrorInfo) GoString() string { +func (s ListGroupsOutput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *ErrorInfo) SetMessage(v string) *ErrorInfo { - s.Message = &v +// SetGroupList sets the GroupList field's value. +func (s *ListGroupsOutput) SetGroupList(v []*Group) *ListGroupsOutput { + s.GroupList = v return s } -// SetType sets the Type field's value. -func (s *ErrorInfo) SetType(v string) *ErrorInfo { - s.Type = &v +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { + s.NextToken = &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() +// SetRequestId sets the RequestId field's value. +func (s *ListGroupsOutput) SetRequestId(v string) *ListGroupsOutput { + s.RequestId = &v + return s } -// SetAvailabilityStatus sets the AvailabilityStatus field's value. -func (s *ExportToCSVOption) SetAvailabilityStatus(v string) *ExportToCSVOption { - s.AvailabilityStatus = &v +// SetStatus sets the Status field's value. +func (s *ListGroupsOutput) SetStatus(v int64) *ListGroupsOutput { + s.Status = &v return s } -// A transform operation that filters rows based on a condition. -type FilterOperation struct { +type ListIAMPolicyAssignmentsForUserInput struct { _ struct{} `type:"structure"` - // An expression that must evaluate to a Boolean value. Rows for which the expression - // evaluates to true are kept in the dataset. + // The ID of the AWS account that contains the assignments. + // + // 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. // - // ConditionExpression is a required field - ConditionExpression *string `min:"1" type:"string" required:"true"` + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s FilterOperation) String() string { +func (s ListIAMPolicyAssignmentsForUserInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FilterOperation) GoString() string { +func (s ListIAMPolicyAssignmentsForUserInput) 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")) +func (s *ListIAMPolicyAssignmentsForUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIAMPolicyAssignmentsForUserInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.ConditionExpression != nil && len(*s.ConditionExpression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ConditionExpression", 1)) + 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 { @@ -14450,158 +21026,136 @@ func (s *FilterOperation) Validate() error { return nil } -// SetConditionExpression sets the ConditionExpression field's value. -func (s *FilterOperation) SetConditionExpression(v string) *FilterOperation { - s.ConditionExpression = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetAwsAccountId(v string) *ListIAMPolicyAssignmentsForUserInput { + s.AwsAccountId = &v return s } -// Geospatial column group that denotes a hierarchy. -type GeoSpatialColumnGroup struct { +// 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"` - // Columns in this hierarchy. - // - // Columns is a required field - Columns []*string `min:"1" type:"list" required:"true"` + // The active assignments for this user. + ActiveAssignments []*ActiveIAMPolicyAssignment `type:"list"` - // Country code. - // - // CountryCode is a required field - CountryCode *string `type:"string" required:"true" enum:"GeoSpatialCountryCode"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` - // A display name for the hierarchy. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"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 GeoSpatialColumnGroup) String() string { +func (s ListIAMPolicyAssignmentsForUserOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GeoSpatialColumnGroup) GoString() string { +func (s ListIAMPolicyAssignmentsForUserOutput) 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 +// SetActiveAssignments sets the ActiveAssignments field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetActiveAssignments(v []*ActiveIAMPolicyAssignment) *ListIAMPolicyAssignmentsForUserOutput { + s.ActiveAssignments = v + return s } -// SetColumns sets the Columns field's value. -func (s *GeoSpatialColumnGroup) SetColumns(v []*string) *GeoSpatialColumnGroup { - s.Columns = v +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetNextToken(v string) *ListIAMPolicyAssignmentsForUserOutput { + s.NextToken = &v return s } -// SetCountryCode sets the CountryCode field's value. -func (s *GeoSpatialColumnGroup) SetCountryCode(v string) *GeoSpatialColumnGroup { - s.CountryCode = &v +// SetRequestId sets the RequestId field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetRequestId(v string) *ListIAMPolicyAssignmentsForUserOutput { + s.RequestId = &v return s } -// SetName sets the Name field's value. -func (s *GeoSpatialColumnGroup) SetName(v string) *GeoSpatialColumnGroup { - s.Name = &v +// SetStatus sets the Status field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsForUserOutput { + s.Status = &v return s } -type GetDashboardEmbedUrlInput struct { +type ListIAMPolicyAssignmentsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that contains the dashboard that you're embedding. + // The status of the assignments. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // The ID of the AWS account that contains these IAM policy assignments. // // 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 the IAM policy. - // - // 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 authentication method that the user uses to sign in. + // The namespace for the assignments. // - // IdentityType is a required field - IdentityType *string `location:"querystring" locationName:"creds-type" type:"string" required:"true" enum:"IdentityType"` - - // Remove the reset button on the embedded dashboard. The default is FALSE, - // which enables the reset button. - ResetDisabled *bool `location:"querystring" locationName:"reset-disabled" type:"boolean"` - - // How many minutes the session is valid. The session lifetime must be 15-600 - // minutes. - SessionLifetimeInMinutes *int64 `location:"querystring" locationName:"session-lifetime" min:"15" type:"long"` - - // Remove the undo/redo button on the embedded dashboard. The default is FALSE, - // which enables the undo/redo button. - UndoRedoDisabled *bool `location:"querystring" locationName:"undo-redo-disabled" type:"boolean"` + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // The Amazon QuickSight user's Amazon Resource Name (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 nonfederated 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"` + // 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 GetDashboardEmbedUrlInput) String() string { +func (s ListIAMPolicyAssignmentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDashboardEmbedUrlInput) GoString() string { +func (s ListIAMPolicyAssignmentsInput) 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 *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.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 s.IdentityType == nil { - invalidParams.Add(request.NewErrParamRequired("IdentityType")) + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.SessionLifetimeInMinutes != nil && *s.SessionLifetimeInMinutes < 15 { - invalidParams.Add(request.NewErrParamMinValue("SessionLifetimeInMinutes", 15)) + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } if invalidParams.Len() > 0 { @@ -14610,56 +21164,44 @@ func (s *GetDashboardEmbedUrlInput) Validate() error { 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 +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *ListIAMPolicyAssignmentsInput) SetAssignmentStatus(v string) *ListIAMPolicyAssignmentsInput { + s.AssignmentStatus = &v return s } -// SetResetDisabled sets the ResetDisabled field's value. -func (s *GetDashboardEmbedUrlInput) SetResetDisabled(v bool) *GetDashboardEmbedUrlInput { - s.ResetDisabled = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListIAMPolicyAssignmentsInput) SetAwsAccountId(v string) *ListIAMPolicyAssignmentsInput { + s.AwsAccountId = &v return s } -// SetSessionLifetimeInMinutes sets the SessionLifetimeInMinutes field's value. -func (s *GetDashboardEmbedUrlInput) SetSessionLifetimeInMinutes(v int64) *GetDashboardEmbedUrlInput { - s.SessionLifetimeInMinutes = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListIAMPolicyAssignmentsInput) SetMaxResults(v int64) *ListIAMPolicyAssignmentsInput { + s.MaxResults = &v return s } -// SetUndoRedoDisabled sets the UndoRedoDisabled field's value. -func (s *GetDashboardEmbedUrlInput) SetUndoRedoDisabled(v bool) *GetDashboardEmbedUrlInput { - s.UndoRedoDisabled = &v +// SetNamespace sets the Namespace field's value. +func (s *ListIAMPolicyAssignmentsInput) SetNamespace(v string) *ListIAMPolicyAssignmentsInput { + s.Namespace = &v return s } -// SetUserArn sets the UserArn field's value. -func (s *GetDashboardEmbedUrlInput) SetUserArn(v string) *GetDashboardEmbedUrlInput { - s.UserArn = &v +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsInput) SetNextToken(v string) *ListIAMPolicyAssignmentsInput { + s.NextToken = &v return s } -type GetDashboardEmbedUrlOutput struct { +type ListIAMPolicyAssignmentsOutput struct { _ struct{} `type:"structure"` - // A single-use URL that you can put into your server-side webpage to embed - // your dashboard. This URL is valid for 5 minutes. The API provides the URL - // with an auth_code value that enables one (and only one) sign-on to a user - // session that is valid for 10 hours. - EmbedUrl *string `type:"string" sensitive:"true"` + // 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"` @@ -14669,438 +21211,544 @@ type GetDashboardEmbedUrlOutput struct { } // String returns the string representation -func (s GetDashboardEmbedUrlOutput) String() string { +func (s ListIAMPolicyAssignmentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDashboardEmbedUrlOutput) GoString() string { +func (s ListIAMPolicyAssignmentsOutput) GoString() string { return s.String() } -// SetEmbedUrl sets the EmbedUrl field's value. -func (s *GetDashboardEmbedUrlOutput) SetEmbedUrl(v string) *GetDashboardEmbedUrlOutput { - s.EmbedUrl = &v +// 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 *GetDashboardEmbedUrlOutput) SetRequestId(v string) *GetDashboardEmbedUrlOutput { +func (s *ListIAMPolicyAssignmentsOutput) SetRequestId(v string) *ListIAMPolicyAssignmentsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *GetDashboardEmbedUrlOutput) SetStatus(v int64) *GetDashboardEmbedUrlOutput { +func (s *ListIAMPolicyAssignmentsOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsOutput { 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 ListIngestionsInput 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 ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - // The name of the group. - GroupName *string `min:"1" type:"string"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // The principal ID of the group. - PrincipalId *string `type:"string"` + // 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 Group) String() string { +func (s ListIngestionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Group) GoString() string { +func (s ListIngestionsInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Group) SetArn(v string) *Group { - s.Arn = &v +// 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 } -// SetDescription sets the Description field's value. -func (s *Group) SetDescription(v string) *Group { - s.Description = &v +// SetDataSetId sets the DataSetId field's value. +func (s *ListIngestionsInput) SetDataSetId(v string) *ListIngestionsInput { + s.DataSetId = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *Group) SetGroupName(v string) *Group { - s.GroupName = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListIngestionsInput) SetMaxResults(v int64) *ListIngestionsInput { + s.MaxResults = &v return s } -// SetPrincipalId sets the PrincipalId field's value. -func (s *Group) SetPrincipalId(v string) *Group { - s.PrincipalId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListIngestionsInput) SetNextToken(v string) *ListIngestionsInput { + s.NextToken = &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 ListIngestionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the group member (user). - Arn *string `type:"string"` + // A list of the ingestions. + Ingestions []*Ingestion `type:"list"` - // The name of the group member (user). - MemberName *string `min:"1" type:"string"` + // 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 GroupMember) String() string { +func (s ListIngestionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GroupMember) GoString() string { +func (s ListIngestionsOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *GroupMember) SetArn(v string) *GroupMember { - s.Arn = &v +// SetIngestions sets the Ingestions field's value. +func (s *ListIngestionsOutput) SetIngestions(v []*Ingestion) *ListIngestionsOutput { + s.Ingestions = v return s } -// SetMemberName sets the MemberName field's value. -func (s *GroupMember) SetMemberName(v string) *GroupMember { - s.MemberName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListIngestionsOutput) SetNextToken(v string) *ListIngestionsOutput { + s.NextToken = &v return s } -// An IAM policy assignment. -type IAMPolicyAssignment struct { - _ struct{} `type:"structure"` - - // Assignment ID. - AssignmentId *string `type:"string"` +// SetRequestId sets the RequestId field's value. +func (s *ListIngestionsOutput) SetRequestId(v string) *ListIngestionsOutput { + s.RequestId = &v + return s +} - // Assignment name. - AssignmentName *string `min:"1" type:"string"` +// SetStatus sets the Status field's value. +func (s *ListIngestionsOutput) SetStatus(v int64) *ListIngestionsOutput { + s.Status = &v + return s +} - // Assignment status. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` +type ListNamespacesInput struct { + _ struct{} `type:"structure"` - // The AWS account ID. - AwsAccountId *string `min:"12" type:"string"` + // The ID for the AWS account that contains the QuickSight namespaces that you + // want to list. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Identities. - Identities map[string][]*string `type:"map"` + // The maximum number of results to return. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // The Amazon Resource Name (ARN) for the IAM policy. - PolicyArn *string `type:"string"` + // 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 IAMPolicyAssignment) String() string { +func (s ListNamespacesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IAMPolicyAssignment) GoString() string { +func (s ListNamespacesInput) 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 -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListNamespacesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListNamespacesInput"} + 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)) + } -// SetAssignmentStatus sets the AssignmentStatus field's value. -func (s *IAMPolicyAssignment) SetAssignmentStatus(v string) *IAMPolicyAssignment { - s.AssignmentStatus = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *IAMPolicyAssignment) SetAwsAccountId(v string) *IAMPolicyAssignment { +func (s *ListNamespacesInput) SetAwsAccountId(v string) *ListNamespacesInput { s.AwsAccountId = &v return s } -// SetIdentities sets the Identities field's value. -func (s *IAMPolicyAssignment) SetIdentities(v map[string][]*string) *IAMPolicyAssignment { - s.Identities = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListNamespacesInput) SetMaxResults(v int64) *ListNamespacesInput { + s.MaxResults = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *IAMPolicyAssignment) SetPolicyArn(v string) *IAMPolicyAssignment { - s.PolicyArn = &v +// SetNextToken sets the NextToken field's value. +func (s *ListNamespacesInput) SetNextToken(v string) *ListNamespacesInput { + s.NextToken = &v return s } -// IAM policy assignment summary. -type IAMPolicyAssignmentSummary struct { +type ListNamespacesOutput struct { _ struct{} `type:"structure"` - // Assignment name. - AssignmentName *string `min:"1" type:"string"` + // The information about the namespaces in this AWS account. The response includes + // the namespace ARN, name, AWS Region, notification email address, creation + // status, and identity store. + Namespaces []*NamespaceInfoV2 `type:"list"` - // Assignment status. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + // 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 IAMPolicyAssignmentSummary) String() string { +func (s ListNamespacesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IAMPolicyAssignmentSummary) GoString() string { +func (s ListNamespacesOutput) GoString() string { return s.String() } -// SetAssignmentName sets the AssignmentName field's value. -func (s *IAMPolicyAssignmentSummary) SetAssignmentName(v string) *IAMPolicyAssignmentSummary { - s.AssignmentName = &v +// SetNamespaces sets the Namespaces field's value. +func (s *ListNamespacesOutput) SetNamespaces(v []*NamespaceInfoV2) *ListNamespacesOutput { + s.Namespaces = v return s } -// SetAssignmentStatus sets the AssignmentStatus field's value. -func (s *IAMPolicyAssignmentSummary) SetAssignmentStatus(v string) *IAMPolicyAssignmentSummary { - s.AssignmentStatus = &v +// SetNextToken sets the NextToken field's value. +func (s *ListNamespacesOutput) SetNextToken(v string) *ListNamespacesOutput { + s.NextToken = &v return s } -// The identity type specified isn't supported. Supported identity types include -// IAM and QUICKSIGHT. -type IdentityTypeNotSupportedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetRequestId sets the RequestId field's value. +func (s *ListNamespacesOutput) SetRequestId(v string) *ListNamespacesOutput { + s.RequestId = &v + return s +} - Message_ *string `locationName:"Message" type:"string"` +// SetStatus sets the Status field's value. +func (s *ListNamespacesOutput) SetStatus(v int64) *ListNamespacesOutput { + s.Status = &v + return s +} - // The AWS request ID for this request. - RequestId *string `type:"string"` +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that 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 IdentityTypeNotSupportedException) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IdentityTypeNotSupportedException) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } -func newErrorIdentityTypeNotSupportedException(v protocol.ResponseMetadata) error { - return &IdentityTypeNotSupportedException{ - RespMetadata: v, +// 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 } -// Code returns the exception type name. -func (s *IdentityTypeNotSupportedException) Code() string { - return "IdentityTypeNotSupportedException" +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s } -// Message returns the exception's message. -func (s *IdentityTypeNotSupportedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +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"` } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *IdentityTypeNotSupportedException) OrigErr() error { - return nil +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) } -func (s *IdentityTypeNotSupportedException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() } -// Status code returns the HTTP status code for the request's response error. -func (s *IdentityTypeNotSupportedException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRequestId sets the RequestId field's value. +func (s *ListTagsForResourceOutput) SetRequestId(v string) *ListTagsForResourceOutput { + s.RequestId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *IdentityTypeNotSupportedException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatus sets the Status field's value. +func (s *ListTagsForResourceOutput) SetStatus(v int64) *ListTagsForResourceOutput { + s.Status = &v + return s } -// Information about the SPICE ingestion for a dataset. -type Ingestion struct { - _ struct{} `type:"structure"` +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} - // The Amazon Resource Name (ARN) of the resource. - // - // Arn is a required field - Arn *string `type:"string" required:"true"` +type ListTemplateAliasesInput struct { + _ struct{} `type:"structure"` - // The time that this ingestion started. + // The ID of the AWS account that contains the template aliases that you're + // listing. // - // CreatedTime is a required field - CreatedTime *time.Time `type:"timestamp" required:"true"` - - // Error information for this ingestion. - ErrorInfo *ErrorInfo `type:"structure"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Ingestion ID. - IngestionId *string `min:"1" type:"string"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` - // The size of the data ingested, in bytes. - IngestionSizeInBytes *int64 `type:"long"` + // 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"` - // Ingestion status. + // The ID for the template. // - // IngestionStatus is a required field - IngestionStatus *string `type:"string" required:"true" enum:"IngestionStatus"` - - // The time that this ingestion took, measured in seconds. - IngestionTimeInSeconds *int64 `type:"long"` - - // Information about a 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 about rows for a data set SPICE ingestion. - RowInfo *RowInfo `type:"structure"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s Ingestion) String() string { +func (s ListTemplateAliasesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Ingestion) GoString() string { +func (s ListTemplateAliasesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Ingestion) SetArn(v string) *Ingestion { - s.Arn = &v - return s +// 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 } -// SetCreatedTime sets the CreatedTime field's value. -func (s *Ingestion) SetCreatedTime(v time.Time) *Ingestion { - s.CreatedTime = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListTemplateAliasesInput) SetAwsAccountId(v string) *ListTemplateAliasesInput { + s.AwsAccountId = &v return s } -// SetErrorInfo sets the ErrorInfo field's value. -func (s *Ingestion) SetErrorInfo(v *ErrorInfo) *Ingestion { - s.ErrorInfo = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplateAliasesInput) SetMaxResults(v int64) *ListTemplateAliasesInput { + s.MaxResults = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *Ingestion) SetIngestionId(v string) *Ingestion { - s.IngestionId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateAliasesInput) SetNextToken(v string) *ListTemplateAliasesInput { + s.NextToken = &v return s } -// SetIngestionSizeInBytes sets the IngestionSizeInBytes field's value. -func (s *Ingestion) SetIngestionSizeInBytes(v int64) *Ingestion { - s.IngestionSizeInBytes = &v +// SetTemplateId sets the TemplateId field's value. +func (s *ListTemplateAliasesInput) SetTemplateId(v string) *ListTemplateAliasesInput { + s.TemplateId = &v return s } -// SetIngestionStatus sets the IngestionStatus field's value. -func (s *Ingestion) SetIngestionStatus(v string) *Ingestion { - s.IngestionStatus = &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 the template's aliases. + TemplateAliasList []*TemplateAlias `type:"list"` } -// SetIngestionTimeInSeconds sets the IngestionTimeInSeconds field's value. -func (s *Ingestion) SetIngestionTimeInSeconds(v int64) *Ingestion { - s.IngestionTimeInSeconds = &v - return s +// String returns the string representation +func (s ListTemplateAliasesOutput) String() string { + return awsutil.Prettify(s) } -// SetQueueInfo sets the QueueInfo field's value. -func (s *Ingestion) SetQueueInfo(v *QueueInfo) *Ingestion { - s.QueueInfo = v +// 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 } -// SetRequestSource sets the RequestSource field's value. -func (s *Ingestion) SetRequestSource(v string) *Ingestion { - s.RequestSource = &v +// SetRequestId sets the RequestId field's value. +func (s *ListTemplateAliasesOutput) SetRequestId(v string) *ListTemplateAliasesOutput { + s.RequestId = &v return s } -// SetRequestType sets the RequestType field's value. -func (s *Ingestion) SetRequestType(v string) *Ingestion { - s.RequestType = &v +// SetStatus sets the Status field's value. +func (s *ListTemplateAliasesOutput) SetStatus(v int64) *ListTemplateAliasesOutput { + s.Status = &v return s } -// SetRowInfo sets the RowInfo field's value. -func (s *Ingestion) SetRowInfo(v *RowInfo) *Ingestion { - s.RowInfo = v +// SetTemplateAliasList sets the TemplateAliasList field's value. +func (s *ListTemplateAliasesOutput) SetTemplateAliasList(v []*TemplateAlias) *ListTemplateAliasesOutput { + s.TemplateAliasList = v return s } -// Metadata for a column that is used as the input of a transform operation. -type InputColumn struct { +type ListTemplateVersionsInput struct { _ struct{} `type:"structure"` - // The name of this column in the underlying data source. + // The ID of the AWS account that contains the templates that you're listing. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The data type of the column. + // 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. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"InputColumnDataType"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s InputColumn) String() string { +func (s ListTemplateVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputColumn) GoString() string { +func (s ListTemplateVersionsInput) 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")) +func (s *ListTemplateVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplateVersionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + 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 { @@ -15109,348 +21757,368 @@ func (s *InputColumn) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *InputColumn) SetName(v string) *InputColumn { - s.Name = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListTemplateVersionsInput) SetAwsAccountId(v string) *ListTemplateVersionsInput { + s.AwsAccountId = &v return s } -// SetType sets the Type field's value. -func (s *InputColumn) SetType(v string) *InputColumn { - s.Type = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplateVersionsInput) SetMaxResults(v int64) *ListTemplateVersionsInput { + s.MaxResults = &v return s } -// Integer parameter. -type IntegerParameter struct { +// 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"` - // A display name for the dataset. - // - // Name is a required field - Name *string `type:"string" required:"true"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` - // Values. - // - // Values is a required field - Values []*int64 `type:"list" required:"true"` + // 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 IntegerParameter) String() string { +func (s ListTemplateVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IntegerParameter) GoString() string { +func (s ListTemplateVersionsOutput) 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")) - } +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateVersionsOutput) SetNextToken(v string) *ListTemplateVersionsOutput { + s.NextToken = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRequestId sets the RequestId field's value. +func (s *ListTemplateVersionsOutput) SetRequestId(v string) *ListTemplateVersionsOutput { + s.RequestId = &v + return s } -// SetName sets the Name field's value. -func (s *IntegerParameter) SetName(v string) *IntegerParameter { - s.Name = &v +// SetStatus sets the Status field's value. +func (s *ListTemplateVersionsOutput) SetStatus(v int64) *ListTemplateVersionsOutput { + s.Status = &v return s } -// SetValues sets the Values field's value. -func (s *IntegerParameter) SetValues(v []*int64) *IntegerParameter { - s.Values = v +// SetTemplateVersionSummaryList sets the TemplateVersionSummaryList field's value. +func (s *ListTemplateVersionsOutput) SetTemplateVersionSummaryList(v []*TemplateVersionSummary) *ListTemplateVersionsOutput { + s.TemplateVersionSummaryList = v return s } -// An internal failure occurred. -type InternalFailureException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListTemplatesInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The ID of the AWS account that contains the templates that you're listing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // 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 InternalFailureException) String() string { +func (s ListTemplatesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InternalFailureException) GoString() string { +func (s ListTemplatesInput) GoString() string { return s.String() } -func newErrorInternalFailureException(v protocol.ResponseMetadata) error { - return &InternalFailureException{ - RespMetadata: v, +// 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")) } -} - -// Code returns the exception type name. -func (s *InternalFailureException) Code() string { - return "InternalFailureException" -} - -// Message returns the exception's message. -func (s *InternalFailureException) Message() string { - if s.Message_ != nil { - return *s.Message_ + 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)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalFailureException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InternalFailureException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListTemplatesInput) SetAwsAccountId(v string) *ListTemplatesInput { + s.AwsAccountId = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InternalFailureException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplatesInput) SetMaxResults(v int64) *ListTemplatesInput { + s.MaxResults = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalFailureException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput { + s.NextToken = &v + return s } -// The NextToken value isn't valid. -type InvalidNextTokenException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListTemplatesOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // 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 request. + // 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 InvalidNextTokenException) String() string { +func (s ListTemplatesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidNextTokenException) GoString() string { +func (s ListTemplatesOutput) GoString() string { return s.String() } -func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { - return &InvalidNextTokenException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InvalidNextTokenException) Code() string { - return "InvalidNextTokenException" +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesOutput) SetNextToken(v string) *ListTemplatesOutput { + s.NextToken = &v + return s } -// Message returns the exception's message. -func (s *InvalidNextTokenException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetRequestId sets the RequestId field's value. +func (s *ListTemplatesOutput) SetRequestId(v string) *ListTemplatesOutput { + s.RequestId = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidNextTokenException) OrigErr() error { - return nil +// SetStatus sets the Status field's value. +func (s *ListTemplatesOutput) SetStatus(v int64) *ListTemplatesOutput { + s.Status = &v + return s } -func (s *InvalidNextTokenException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetTemplateSummaryList sets the TemplateSummaryList field's value. +func (s *ListTemplatesOutput) SetTemplateSummaryList(v []*TemplateSummary) *ListTemplatesOutput { + s.TemplateSummaryList = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidNextTokenException) StatusCode() int { - return s.RespMetadata.StatusCode -} +type ListThemeAliasesInput struct { + _ struct{} `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *InvalidNextTokenException) RequestID() string { - return s.RespMetadata.RequestID -} + // The ID of the AWS account that contains the theme aliases that you're listing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` -// One or more parameters has a value that isn't valid. -type InvalidParameterValueException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` - Message_ *string `locationName:"Message" type:"string"` + // 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 AWS request ID for this request. - RequestId *string `type:"string"` + // The ID for the theme. + // + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s InvalidParameterValueException) String() string { +func (s ListThemeAliasesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidParameterValueException) GoString() string { +func (s ListThemeAliasesInput) GoString() string { return s.String() } -func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error { - return &InvalidParameterValueException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListThemeAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListThemeAliasesInput"} + 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.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) + } + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } -} - -// Code returns the exception type name. -func (s *InvalidParameterValueException) Code() string { - return "InvalidParameterValueException" -} -// Message returns the exception's message. -func (s *InvalidParameterValueException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidParameterValueException) OrigErr() error { - return nil +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListThemeAliasesInput) SetAwsAccountId(v string) *ListThemeAliasesInput { + s.AwsAccountId = &v + return s } -func (s *InvalidParameterValueException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetMaxResults sets the MaxResults field's value. +func (s *ListThemeAliasesInput) SetMaxResults(v int64) *ListThemeAliasesInput { + s.MaxResults = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidParameterValueException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListThemeAliasesInput) SetNextToken(v string) *ListThemeAliasesInput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidParameterValueException) RequestID() string { - return s.RespMetadata.RequestID +// SetThemeId sets the ThemeId field's value. +func (s *ListThemeAliasesInput) SetThemeId(v string) *ListThemeAliasesInput { + s.ThemeId = &v + return s } -// Jira parameters. -type JiraParameters struct { +type ListThemeAliasesOutput struct { _ struct{} `type:"structure"` - // The base URL of the Jira site. - // - // SiteBaseUrl is a required field - SiteBaseUrl *string `min:"1" type:"string" required:"true"` + // 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 the theme's aliases. + ThemeAliasList []*ThemeAlias `type:"list"` } // String returns the string representation -func (s JiraParameters) String() string { +func (s ListThemeAliasesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s JiraParameters) GoString() string { +func (s ListThemeAliasesOutput) 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)) - } +// SetNextToken sets the NextToken field's value. +func (s *ListThemeAliasesOutput) SetNextToken(v string) *ListThemeAliasesOutput { + s.NextToken = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRequestId sets the RequestId field's value. +func (s *ListThemeAliasesOutput) SetRequestId(v string) *ListThemeAliasesOutput { + s.RequestId = &v + return s } -// SetSiteBaseUrl sets the SiteBaseUrl field's value. -func (s *JiraParameters) SetSiteBaseUrl(v string) *JiraParameters { - s.SiteBaseUrl = &v +// SetStatus sets the Status field's value. +func (s *ListThemeAliasesOutput) SetStatus(v int64) *ListThemeAliasesOutput { + s.Status = &v return s } -// Join instruction. -type JoinInstruction struct { +// SetThemeAliasList sets the ThemeAliasList field's value. +func (s *ListThemeAliasesOutput) SetThemeAliasList(v []*ThemeAlias) *ListThemeAliasesOutput { + s.ThemeAliasList = v + return s +} + +type ListThemeVersionsInput struct { _ struct{} `type:"structure"` - // Left operand. + // The ID of the AWS account that contains the themes that you're listing. // - // LeftOperand is a required field - LeftOperand *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // On Clause. - // - // OnClause is a required field - OnClause *string `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"` - // Right operand. - // - // RightOperand is a required field - RightOperand *string `min:"1" 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"` - // Type. + // The ID for the theme. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"JoinType"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s JoinInstruction) String() string { +func (s ListThemeVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s JoinInstruction) GoString() string { +func (s ListThemeVersionsInput) 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")) +func (s *ListThemeVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListThemeVersionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.OnClause != nil && len(*s.OnClause) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OnClause", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.RightOperand == nil { - invalidParams.Add(request.NewErrParamRequired("RightOperand")) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.RightOperand != nil && len(*s.RightOperand) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RightOperand", 1)) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if invalidParams.Len() > 0 { @@ -15459,138 +22127,123 @@ func (s *JoinInstruction) Validate() error { return nil } -// SetLeftOperand sets the LeftOperand field's value. -func (s *JoinInstruction) SetLeftOperand(v string) *JoinInstruction { - s.LeftOperand = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListThemeVersionsInput) SetAwsAccountId(v string) *ListThemeVersionsInput { + s.AwsAccountId = &v return s } -// SetOnClause sets the OnClause field's value. -func (s *JoinInstruction) SetOnClause(v string) *JoinInstruction { - s.OnClause = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListThemeVersionsInput) SetMaxResults(v int64) *ListThemeVersionsInput { + s.MaxResults = &v return s } -// SetRightOperand sets the RightOperand field's value. -func (s *JoinInstruction) SetRightOperand(v string) *JoinInstruction { - s.RightOperand = &v +// SetNextToken sets the NextToken field's value. +func (s *ListThemeVersionsInput) SetNextToken(v string) *ListThemeVersionsInput { + s.NextToken = &v return s } -// SetType sets the Type field's value. -func (s *JoinInstruction) SetType(v string) *JoinInstruction { - s.Type = &v +// SetThemeId sets the ThemeId field's value. +func (s *ListThemeVersionsInput) SetThemeId(v string) *ListThemeVersionsInput { + s.ThemeId = &v return s } -// A limit is exceeded. -type LimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListThemeVersionsOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // 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 request. + // The AWS request ID for this operation. RequestId *string `type:"string"` - // Limit exceeded. - ResourceType *string `type:"string" enum:"ExceptionResourceType"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // A structure containing a list of all the versions of the specified theme. + ThemeVersionSummaryList []*ThemeVersionSummary `type:"list"` } // String returns the string representation -func (s LimitExceededException) String() string { +func (s ListThemeVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LimitExceededException) GoString() string { +func (s ListThemeVersionsOutput) GoString() string { return s.String() } -func newErrorLimitExceededException(v protocol.ResponseMetadata) error { - return &LimitExceededException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *LimitExceededException) Code() string { - return "LimitExceededException" -} - -// Message returns the exception's message. -func (s *LimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListThemeVersionsOutput) SetNextToken(v string) *ListThemeVersionsOutput { + s.NextToken = &v + return s } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetRequestId sets the RequestId field's value. +func (s *ListThemeVersionsOutput) SetRequestId(v string) *ListThemeVersionsOutput { + s.RequestId = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetStatus sets the Status field's value. +func (s *ListThemeVersionsOutput) SetStatus(v int64) *ListThemeVersionsOutput { + s.Status = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetThemeVersionSummaryList sets the ThemeVersionSummaryList field's value. +func (s *ListThemeVersionsOutput) SetThemeVersionSummaryList(v []*ThemeVersionSummary) *ListThemeVersionsOutput { + s.ThemeVersionSummaryList = v + return s } -type ListDashboardVersionsInput struct { +type ListThemesInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're listing - // versions for. + // The ID of the AWS account that contains the themes that you're 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"` + + // The type of themes that you want to list. Valid options include the following: + // + // * ALL (default)- Display all existing themes. + // + // * CUSTOM - Display only the themes created by people using Amazon QuickSight. + // + // * QUICKSIGHT - Display only the starting themes defined by QuickSight. + Type *string `location:"querystring" locationName:"type" type:"string" enum:"ThemeType"` } // String returns the string representation -func (s ListDashboardVersionsInput) String() string { +func (s ListThemesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDashboardVersionsInput) GoString() string { +func (s ListThemesInput) 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"} +func (s *ListThemesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListThemesInput"} 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)) } @@ -15602,34 +22255,31 @@ func (s *ListDashboardVersionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListDashboardVersionsInput) SetAwsAccountId(v string) *ListDashboardVersionsInput { +func (s *ListThemesInput) SetAwsAccountId(v string) *ListThemesInput { 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 { +func (s *ListThemesInput) SetMaxResults(v int64) *ListThemesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListDashboardVersionsInput) SetNextToken(v string) *ListDashboardVersionsInput { +func (s *ListThemesInput) SetNextToken(v string) *ListThemesInput { s.NextToken = &v return s } -type ListDashboardVersionsOutput struct { - _ struct{} `type:"structure"` +// SetType sets the Type field's value. +func (s *ListThemesInput) SetType(v string) *ListThemesInput { + s.Type = &v + return s +} - // A structure that contains information about each version of the dashboard. - DashboardVersionSummaryList []*DashboardVersionSummary `type:"list"` +type ListThemesOutput struct { + _ struct{} `type:"structure"` // The token for the next set of results, or null if there are no more results. NextToken *string `type:"string"` @@ -15639,70 +22289,84 @@ type ListDashboardVersionsOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // Information about the themes in the list. + ThemeSummaryList []*ThemeSummary `type:"list"` } // String returns the string representation -func (s ListDashboardVersionsOutput) String() string { +func (s ListThemesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDashboardVersionsOutput) GoString() string { +func (s ListThemesOutput) 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 { +func (s *ListThemesOutput) SetNextToken(v string) *ListThemesOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListDashboardVersionsOutput) SetRequestId(v string) *ListDashboardVersionsOutput { +func (s *ListThemesOutput) SetRequestId(v string) *ListThemesOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListDashboardVersionsOutput) SetStatus(v int64) *ListDashboardVersionsOutput { +func (s *ListThemesOutput) SetStatus(v int64) *ListThemesOutput { s.Status = &v return s } -type ListDashboardsInput struct { +// SetThemeSummaryList sets the ThemeSummaryList field's value. +func (s *ListThemesOutput) SetThemeSummaryList(v []*ThemeSummary) *ListThemesOutput { + s.ThemeSummaryList = v + return s +} + +type ListUserGroupsInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboards that you're listing. + // 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 be returned per request. + // The maximum number of results to return from this 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. + // 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 ListDashboardsInput) String() string { +func (s ListUserGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDashboardsInput) GoString() string { +func (s ListUserGroupsInput) 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"} +func (s *ListUserGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUserGroupsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -15712,6 +22376,18 @@ func (s *ListDashboardsInput) Validate() error { 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 @@ -15720,31 +22396,42 @@ func (s *ListDashboardsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListDashboardsInput) SetAwsAccountId(v string) *ListDashboardsInput { +func (s *ListUserGroupsInput) SetAwsAccountId(v string) *ListUserGroupsInput { s.AwsAccountId = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListDashboardsInput) SetMaxResults(v int64) *ListDashboardsInput { +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 *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput { +func (s *ListUserGroupsInput) SetNextToken(v string) *ListUserGroupsInput { s.NextToken = &v return s } -type ListDashboardsOutput struct { +// 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"` - // A structure that contains all of the dashboards in your AWS account. This - // structure provides basic information about the dashboards. - DashboardSummaryList []*DashboardSummary `type:"list"` + // The list of groups the user is a member of. + GroupList []*Group `type:"list"` - // The token for the next set of results, or null if there are no more results. + // A pagination token that can be used in a subsequent request. NextToken *string `type:"string"` // The AWS request ID for this operation. @@ -15755,67 +22442,73 @@ type ListDashboardsOutput struct { } // String returns the string representation -func (s ListDashboardsOutput) String() string { +func (s ListUserGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDashboardsOutput) GoString() string { +func (s ListUserGroupsOutput) GoString() string { return s.String() } -// SetDashboardSummaryList sets the DashboardSummaryList field's value. -func (s *ListDashboardsOutput) SetDashboardSummaryList(v []*DashboardSummary) *ListDashboardsOutput { - s.DashboardSummaryList = v +// 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 *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput { +func (s *ListUserGroupsOutput) SetNextToken(v string) *ListUserGroupsOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListDashboardsOutput) SetRequestId(v string) *ListDashboardsOutput { +func (s *ListUserGroupsOutput) SetRequestId(v string) *ListUserGroupsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListDashboardsOutput) SetStatus(v int64) *ListDashboardsOutput { +func (s *ListUserGroupsOutput) SetStatus(v int64) *ListUserGroupsOutput { s.Status = &v return s } -type ListDataSetsInput struct { +type ListUsersInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // 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 be returned per request. + // The maximum number of results to return from this 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. + // 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 ListDataSetsInput) String() string { +func (s ListUsersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDataSetsInput) GoString() string { +func (s ListUsersInput) 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"} +func (s *ListUsersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -15825,6 +22518,12 @@ func (s *ListDataSetsInput) Validate() error { 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 @@ -15833,30 +22532,33 @@ func (s *ListDataSetsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListDataSetsInput) SetAwsAccountId(v string) *ListDataSetsInput { +func (s *ListUsersInput) SetAwsAccountId(v string) *ListUsersInput { s.AwsAccountId = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListDataSetsInput) SetMaxResults(v int64) *ListDataSetsInput { +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 *ListDataSetsInput) SetNextToken(v string) *ListDataSetsInput { +func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { s.NextToken = &v return s } -type ListDataSetsOutput struct { +type ListUsersOutput 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. + // A pagination token that can be used in a subsequent request. NextToken *string `type:"string"` // The AWS request ID for this operation. @@ -15864,78 +22566,105 @@ type ListDataSetsOutput struct { // 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 ListDataSetsOutput) String() string { +func (s ListUsersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDataSetsOutput) GoString() string { +func (s ListUsersOutput) 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 { +func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListDataSetsOutput) SetRequestId(v string) *ListDataSetsOutput { +func (s *ListUsersOutput) SetRequestId(v string) *ListUsersOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListDataSetsOutput) SetStatus(v int64) *ListDataSetsOutput { +func (s *ListUsersOutput) SetStatus(v int64) *ListUsersOutput { s.Status = &v return s } -type ListDataSourcesInput struct { +// SetUserList sets the UserList field's value. +func (s *ListUsersOutput) SetUserList(v []*User) *ListUsersOutput { + s.UserList = v + return s +} + +// A logical table is a unit that joins and that data transformations operate +// on. A logical table has a source, which can be either a physical table or +// result of a join. When a logical table points to a physical table, the logical +// table acts as a mutable copy of that physical table through transform operations. +type LogicalTable struct { _ struct{} `type:"structure"` - // The AWS account ID. + // A display name for the logical table. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // Alias is a required field + Alias *string `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"` + // Transform operations that act on this logical table. + DataTransforms []*TransformOperation `min:"1" type:"list"` - // 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"` + // Source of this logical table. + // + // Source is a required field + Source *LogicalTableSource `type:"structure" required:"true"` } // String returns the string representation -func (s ListDataSourcesInput) String() string { +func (s LogicalTable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDataSourcesInput) GoString() string { +func (s LogicalTable) 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")) +func (s *LogicalTable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LogicalTable"} + if s.Alias == nil { + invalidParams.Add(request.NewErrParamRequired("Alias")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 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 { @@ -15944,133 +22673,115 @@ func (s *ListDataSourcesInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListDataSourcesInput) SetAwsAccountId(v string) *ListDataSourcesInput { - s.AwsAccountId = &v +// SetAlias sets the Alias field's value. +func (s *LogicalTable) SetAlias(v string) *LogicalTable { + s.Alias = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput { - s.MaxResults = &v +// SetDataTransforms sets the DataTransforms field's value. +func (s *LogicalTable) SetDataTransforms(v []*TransformOperation) *LogicalTable { + s.DataTransforms = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListDataSourcesInput) SetNextToken(v string) *ListDataSourcesInput { - s.NextToken = &v +// SetSource sets the Source field's value. +func (s *LogicalTable) SetSource(v *LogicalTableSource) *LogicalTable { + s.Source = v return s } -type ListDataSourcesOutput struct { +// Information about the source of a logical table. This is a variant type structure. +// For this structure to be valid, only one of the attributes can be non-null. +type LogicalTableSource 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"` + // Specifies the result of a join of two logical tables. + JoinInstruction *JoinInstruction `type:"structure"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Physical table ID. + PhysicalTableId *string `min:"1" type:"string"` } // String returns the string representation -func (s ListDataSourcesOutput) String() string { +func (s LogicalTableSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDataSourcesOutput) GoString() string { +func (s LogicalTableSource) GoString() string { return s.String() } -// SetDataSources sets the DataSources field's value. -func (s *ListDataSourcesOutput) SetDataSources(v []*DataSource) *ListDataSourcesOutput { - s.DataSources = v - return s -} +// 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)) + } + } -// SetNextToken sets the NextToken field's value. -func (s *ListDataSourcesOutput) SetNextToken(v string) *ListDataSourcesOutput { - s.NextToken = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRequestId sets the RequestId field's value. -func (s *ListDataSourcesOutput) SetRequestId(v string) *ListDataSourcesOutput { - s.RequestId = &v +// SetJoinInstruction sets the JoinInstruction field's value. +func (s *LogicalTableSource) SetJoinInstruction(v *JoinInstruction) *LogicalTableSource { + s.JoinInstruction = v return s } -// SetStatus sets the Status field's value. -func (s *ListDataSourcesOutput) SetStatus(v int64) *ListDataSourcesOutput { - s.Status = &v +// SetPhysicalTableId sets the PhysicalTableId field's value. +func (s *LogicalTableSource) SetPhysicalTableId(v string) *LogicalTableSource { + s.PhysicalTableId = &v return s } -type ListGroupMembershipsInput struct { +// Amazon S3 manifest file location. +type ManifestFileLocation 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. + // Amazon S3 bucket. // - // 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"` + // Bucket is a required field + Bucket *string `min:"1" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // Amazon S3 key that identifies an object. // - // 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"` + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListGroupMembershipsInput) String() string { +func (s ManifestFileLocation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupMembershipsInput) GoString() string { +func (s ManifestFileLocation) 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)) +func (s *ManifestFileLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ManifestFileLocation"} + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { @@ -16079,134 +22790,168 @@ func (s *ListGroupMembershipsInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListGroupMembershipsInput) SetAwsAccountId(v string) *ListGroupMembershipsInput { - s.AwsAccountId = &v +// SetBucket sets the Bucket field's value. +func (s *ManifestFileLocation) SetBucket(v string) *ManifestFileLocation { + s.Bucket = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *ListGroupMembershipsInput) SetGroupName(v string) *ListGroupMembershipsInput { - s.GroupName = &v +// SetKey sets the Key field's value. +func (s *ManifestFileLocation) SetKey(v string) *ManifestFileLocation { + s.Key = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListGroupMembershipsInput) SetMaxResults(v int64) *ListGroupMembershipsInput { - s.MaxResults = &v - return s +// The display options for margins around the outside edge of sheets. +type MarginStyle struct { + _ struct{} `type:"structure"` + + // This Boolean value controls whether to display sheet margins. + Show *bool `type:"boolean"` } -// SetNamespace sets the Namespace field's value. -func (s *ListGroupMembershipsInput) SetNamespace(v string) *ListGroupMembershipsInput { - s.Namespace = &v - return s +// String returns the string representation +func (s MarginStyle) String() string { + return awsutil.Prettify(s) } -// SetNextToken sets the NextToken field's value. -func (s *ListGroupMembershipsInput) SetNextToken(v string) *ListGroupMembershipsInput { - s.NextToken = &v +// GoString returns the string representation +func (s MarginStyle) GoString() string { + return s.String() +} + +// SetShow sets the Show field's value. +func (s *MarginStyle) SetShow(v bool) *MarginStyle { + s.Show = &v return s } -type ListGroupMembershipsOutput struct { +// MariaDB parameters. +type MariaDbParameters 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"` + // 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 ListGroupMembershipsOutput) String() string { +func (s MariaDbParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupMembershipsOutput) GoString() string { +func (s MariaDbParameters) GoString() string { return s.String() } -// SetGroupMemberList sets the GroupMemberList field's value. -func (s *ListGroupMembershipsOutput) SetGroupMemberList(v []*GroupMember) *ListGroupMembershipsOutput { - s.GroupMemberList = v - return s +// 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 } -// SetNextToken sets the NextToken field's value. -func (s *ListGroupMembershipsOutput) SetNextToken(v string) *ListGroupMembershipsOutput { - s.NextToken = &v +// SetDatabase sets the Database field's value. +func (s *MariaDbParameters) SetDatabase(v string) *MariaDbParameters { + s.Database = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListGroupMembershipsOutput) SetRequestId(v string) *ListGroupMembershipsOutput { - s.RequestId = &v +// SetHost sets the Host field's value. +func (s *MariaDbParameters) SetHost(v string) *MariaDbParameters { + s.Host = &v return s } -// SetStatus sets the Status field's value. -func (s *ListGroupMembershipsOutput) SetStatus(v int64) *ListGroupMembershipsOutput { - s.Status = &v +// SetPort sets the Port field's value. +func (s *MariaDbParameters) SetPort(v int64) *MariaDbParameters { + s.Port = &v return s } -type ListGroupsInput struct { +// MySQL parameters. +type MySqlParameters 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. + // Database. // - // 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"` + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // Host. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // Host is a required field + Host *string `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"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s ListGroupsInput) String() string { +func (s MySqlParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupsInput) GoString() string { +func (s MySqlParameters) 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")) +func (s *MySqlParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MySqlParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 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 { @@ -16215,276 +22960,228 @@ func (s *ListGroupsInput) Validate() error { 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 +// SetDatabase sets the Database field's value. +func (s *MySqlParameters) SetDatabase(v string) *MySqlParameters { + s.Database = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListGroupsInput) SetNamespace(v string) *ListGroupsInput { - s.Namespace = &v +// SetHost sets the Host field's value. +func (s *MySqlParameters) SetHost(v string) *MySqlParameters { + s.Host = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { - s.NextToken = &v +// SetPort sets the Port field's value. +func (s *MySqlParameters) SetPort(v int64) *MySqlParameters { + s.Port = &v return s } -type ListGroupsOutput struct { +// Errors that occur during namespace creation. +type NamespaceError 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 message for the error. + Message *string `type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The error type. + Type *string `type:"string" enum:"NamespaceErrorType"` } // String returns the string representation -func (s ListGroupsOutput) String() string { +func (s NamespaceError) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupsOutput) GoString() string { +func (s NamespaceError) 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 +// SetMessage sets the Message field's value. +func (s *NamespaceError) SetMessage(v string) *NamespaceError { + s.Message = &v return s } -// SetStatus sets the Status field's value. -func (s *ListGroupsOutput) SetStatus(v int64) *ListGroupsOutput { - s.Status = &v +// SetType sets the Type field's value. +func (s *NamespaceError) SetType(v string) *NamespaceError { + s.Type = &v return s } -type ListIAMPolicyAssignmentsForUserInput struct { +// The error type. +type NamespaceInfoV2 struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the assignments. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // The namespace ARN. + Arn *string `type:"string"` - // The maximum number of results to be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // The namespace AWS Region. + CapacityRegion *string `type:"string"` - // The namespace of the assignment. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // The creation status of a namespace that is not yet completely created. + CreationStatus *string `type:"string" enum:"NamespaceStatus"` - // 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 identity store used for the namespace. + IdentityStore *string `type:"string" enum:"IdentityStore"` - // The name of the user. - // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // The name of the error. + Name *string `type:"string"` + + // An error that occured when the namespace was created. + NamespaceError *NamespaceError `type:"structure"` } // String returns the string representation -func (s ListIAMPolicyAssignmentsForUserInput) String() string { +func (s NamespaceInfoV2) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIAMPolicyAssignmentsForUserInput) GoString() string { +func (s NamespaceInfoV2) 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 +// SetArn sets the Arn field's value. +func (s *NamespaceInfoV2) SetArn(v string) *NamespaceInfoV2 { + s.Arn = &v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetAwsAccountId(v string) *ListIAMPolicyAssignmentsForUserInput { - s.AwsAccountId = &v +// SetCapacityRegion sets the CapacityRegion field's value. +func (s *NamespaceInfoV2) SetCapacityRegion(v string) *NamespaceInfoV2 { + s.CapacityRegion = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetMaxResults(v int64) *ListIAMPolicyAssignmentsForUserInput { - s.MaxResults = &v +// SetCreationStatus sets the CreationStatus field's value. +func (s *NamespaceInfoV2) SetCreationStatus(v string) *NamespaceInfoV2 { + s.CreationStatus = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetNamespace(v string) *ListIAMPolicyAssignmentsForUserInput { - s.Namespace = &v +// SetIdentityStore sets the IdentityStore field's value. +func (s *NamespaceInfoV2) SetIdentityStore(v string) *NamespaceInfoV2 { + s.IdentityStore = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetNextToken(v string) *ListIAMPolicyAssignmentsForUserInput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *NamespaceInfoV2) SetName(v string) *NamespaceInfoV2 { + s.Name = &v return s } -// SetUserName sets the UserName field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetUserName(v string) *ListIAMPolicyAssignmentsForUserInput { - s.UserName = &v +// SetNamespaceError sets the NamespaceError field's value. +func (s *NamespaceInfoV2) SetNamespaceError(v *NamespaceError) *NamespaceInfoV2 { + s.NamespaceError = v return s } -type ListIAMPolicyAssignmentsForUserOutput struct { +// Output column. +type OutputColumn struct { _ struct{} `type:"structure"` - // The 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"` + // A display name for the dataset. + Name *string `min:"1" type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Type. + Type *string `type:"string" enum:"ColumnDataType"` } // String returns the string representation -func (s ListIAMPolicyAssignmentsForUserOutput) String() string { +func (s OutputColumn) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIAMPolicyAssignmentsForUserOutput) GoString() string { +func (s OutputColumn) 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 +// SetName sets the Name field's value. +func (s *OutputColumn) SetName(v string) *OutputColumn { + s.Name = &v return s } -// SetStatus sets the Status field's value. -func (s *ListIAMPolicyAssignmentsForUserOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsForUserOutput { - s.Status = &v +// SetType sets the Type field's value. +func (s *OutputColumn) SetType(v string) *OutputColumn { + s.Type = &v return s } -type ListIAMPolicyAssignmentsInput struct { +// Parameters. +type Parameters struct { _ struct{} `type:"structure"` - // The status of the assignments. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - - // The ID of the AWS account that contains these IAM policy assignments. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // DateTime parameters. + DateTimeParameters []*DateTimeParameter `type:"list"` - // The maximum number of results to be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // Decimal parameters. + DecimalParameters []*DecimalParameter `type:"list"` - // The namespace for the assignments. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // Integer parameters. + IntegerParameters []*IntegerParameter `type:"list"` - // 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 parameters. + StringParameters []*StringParameter `type:"list"` } // String returns the string representation -func (s ListIAMPolicyAssignmentsInput) String() string { +func (s Parameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIAMPolicyAssignmentsInput) GoString() string { +func (s Parameters) 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)) +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.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + 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.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + 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 { @@ -16493,133 +23190,149 @@ func (s *ListIAMPolicyAssignmentsInput) Validate() error { 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 +// SetDateTimeParameters sets the DateTimeParameters field's value. +func (s *Parameters) SetDateTimeParameters(v []*DateTimeParameter) *Parameters { + s.DateTimeParameters = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListIAMPolicyAssignmentsInput) SetMaxResults(v int64) *ListIAMPolicyAssignmentsInput { - s.MaxResults = &v +// SetDecimalParameters sets the DecimalParameters field's value. +func (s *Parameters) SetDecimalParameters(v []*DecimalParameter) *Parameters { + s.DecimalParameters = v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListIAMPolicyAssignmentsInput) SetNamespace(v string) *ListIAMPolicyAssignmentsInput { - s.Namespace = &v +// SetIntegerParameters sets the IntegerParameters field's value. +func (s *Parameters) SetIntegerParameters(v []*IntegerParameter) *Parameters { + s.IntegerParameters = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListIAMPolicyAssignmentsInput) SetNextToken(v string) *ListIAMPolicyAssignmentsInput { - s.NextToken = &v +// SetStringParameters sets the StringParameters field's value. +func (s *Parameters) SetStringParameters(v []*StringParameter) *Parameters { + s.StringParameters = v return s } -type ListIAMPolicyAssignmentsOutput struct { +// A view of a data source that contains information about the shape of the +// data in the underlying source. This is a variant type structure. For this +// structure to be valid, only one of the attributes can be non-null. +type PhysicalTable 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"` + // A physical table type built from the results of the custom SQL query. + CustomSql *CustomSql `type:"structure"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // A physical table type for relational data sources. + RelationalTable *RelationalTable `type:"structure"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // A physical table type for as S3 data source. + S3Source *S3Source `type:"structure"` } // String returns the string representation -func (s ListIAMPolicyAssignmentsOutput) String() string { +func (s PhysicalTable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIAMPolicyAssignmentsOutput) GoString() string { +func (s PhysicalTable) GoString() string { return s.String() } -// SetIAMPolicyAssignments sets the IAMPolicyAssignments field's value. -func (s *ListIAMPolicyAssignmentsOutput) SetIAMPolicyAssignments(v []*IAMPolicyAssignmentSummary) *ListIAMPolicyAssignmentsOutput { - s.IAMPolicyAssignments = v - return s +// 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 } -// SetNextToken sets the NextToken field's value. -func (s *ListIAMPolicyAssignmentsOutput) SetNextToken(v string) *ListIAMPolicyAssignmentsOutput { - s.NextToken = &v +// SetCustomSql sets the CustomSql field's value. +func (s *PhysicalTable) SetCustomSql(v *CustomSql) *PhysicalTable { + s.CustomSql = v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListIAMPolicyAssignmentsOutput) SetRequestId(v string) *ListIAMPolicyAssignmentsOutput { - s.RequestId = &v +// SetRelationalTable sets the RelationalTable field's value. +func (s *PhysicalTable) SetRelationalTable(v *RelationalTable) *PhysicalTable { + s.RelationalTable = v return s } -// SetStatus sets the Status field's value. -func (s *ListIAMPolicyAssignmentsOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsOutput { - s.Status = &v +// SetS3Source sets the S3Source field's value. +func (s *PhysicalTable) SetS3Source(v *S3Source) *PhysicalTable { + s.S3Source = v return s } -type ListIngestionsInput struct { +// PostgreSQL parameters. +type PostgreSqlParameters struct { _ struct{} `type:"structure"` - // The AWS account ID. + // Database. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The ID of the dataset used in the ingestion. + // Host. // - // 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"` + // Host is a required field + Host *string `min:"1" 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"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s ListIngestionsInput) String() string { +func (s PostgreSqlParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIngestionsInput) GoString() string { +func (s PostgreSqlParameters) 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")) +func (s *PostgreSqlParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PostgreSqlParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 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 { @@ -16628,108 +23341,130 @@ func (s *ListIngestionsInput) Validate() error { 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 +// SetDatabase sets the Database field's value. +func (s *PostgreSqlParameters) SetDatabase(v string) *PostgreSqlParameters { + s.Database = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListIngestionsInput) SetMaxResults(v int64) *ListIngestionsInput { - s.MaxResults = &v +// SetHost sets the Host field's value. +func (s *PostgreSqlParameters) SetHost(v string) *PostgreSqlParameters { + s.Host = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListIngestionsInput) SetNextToken(v string) *ListIngestionsInput { - s.NextToken = &v +// SetPort sets the Port field's value. +func (s *PostgreSqlParameters) SetPort(v int64) *PostgreSqlParameters { + s.Port = &v return s } -type ListIngestionsOutput struct { - _ struct{} `type:"structure"` - - // A list of the ingestions. - Ingestions []*Ingestion `type:"list"` +// One or more preconditions aren't met. +type PreconditionNotMetException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + Message_ *string `locationName:"Message" type:"string"` - // The AWS request ID for this operation. + // The AWS request ID for this request. 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 { +func (s PreconditionNotMetException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIngestionsOutput) GoString() string { +func (s PreconditionNotMetException) GoString() string { return s.String() } -// SetIngestions sets the Ingestions field's value. -func (s *ListIngestionsOutput) SetIngestions(v []*Ingestion) *ListIngestionsOutput { - s.Ingestions = v - return s +func newErrorPreconditionNotMetException(v protocol.ResponseMetadata) error { + return &PreconditionNotMetException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *PreconditionNotMetException) Code() string { + return "PreconditionNotMetException" +} + +// Message returns the exception's message. +func (s *PreconditionNotMetException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *PreconditionNotMetException) OrigErr() error { + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListIngestionsOutput) SetNextToken(v string) *ListIngestionsOutput { - s.NextToken = &v - return s +func (s *PreconditionNotMetException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetRequestId sets the RequestId field's value. -func (s *ListIngestionsOutput) SetRequestId(v string) *ListIngestionsOutput { - s.RequestId = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *PreconditionNotMetException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetStatus sets the Status field's value. -func (s *ListIngestionsOutput) SetStatus(v int64) *ListIngestionsOutput { - s.Status = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *PreconditionNotMetException) RequestID() string { + return s.RespMetadata.RequestID } -type ListTagsForResourceInput struct { +// Presto parameters. +type PrestoParameters struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource that you want a list of tags - // for. + // Catalog. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` + // 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 ListTagsForResourceInput) String() string { +func (s PrestoParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { +func (s PrestoParameters) 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")) +func (s *PrestoParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PrestoParameters"} + if s.Catalog == nil { + invalidParams.Add(request.NewErrParamRequired("Catalog")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 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 { @@ -16738,102 +23473,53 @@ func (s *ListTagsForResourceInput) Validate() error { 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 +// SetCatalog sets the Catalog field's value. +func (s *PrestoParameters) SetCatalog(v string) *PrestoParameters { + s.Catalog = &v return s } -// SetStatus sets the Status field's value. -func (s *ListTagsForResourceOutput) SetStatus(v int64) *ListTagsForResourceOutput { - s.Status = &v +// SetHost sets the Host field's value. +func (s *PrestoParameters) SetHost(v string) *PrestoParameters { + s.Host = &v return s } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v +// SetPort sets the Port field's value. +func (s *PrestoParameters) SetPort(v int64) *PrestoParameters { + s.Port = &v return s } -type ListTemplateAliasesInput struct { +// A transform operation that projects columns. Operations that come after a +// projection can only refer to projected columns. +type ProjectOperation struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template aliases that you're - // 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. + // Projected columns. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // ProjectedColumns is a required field + ProjectedColumns []*string `min:"1" type:"list" required:"true"` } // String returns the string representation -func (s ListTemplateAliasesInput) String() string { +func (s ProjectOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplateAliasesInput) GoString() string { +func (s ProjectOperation) 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")) +func (s *ProjectOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectOperation"} + if s.ProjectedColumns == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectedColumns")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.ProjectedColumns != nil && len(s.ProjectedColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectedColumns", 1)) } if invalidParams.Len() > 0 { @@ -16842,127 +23528,89 @@ func (s *ListTemplateAliasesInput) Validate() error { 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 +// SetProjectedColumns sets the ProjectedColumns field's value. +func (s *ProjectOperation) SetProjectedColumns(v []*string) *ProjectOperation { + s.ProjectedColumns = v return s } -type ListTemplateAliasesOutput struct { +// Information about a queued dataset SPICE ingestion. +type QueueInfo 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"` + // 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"` - // A structure containing the list of the template's aliases. - TemplateAliasList []*TemplateAlias `type:"list"` + // The ID of the queued ingestion. + // + // WaitingOnIngestion is a required field + WaitingOnIngestion *string `type:"string" required:"true"` } // String returns the string representation -func (s ListTemplateAliasesOutput) String() string { +func (s QueueInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplateAliasesOutput) GoString() string { +func (s QueueInfo) 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 +// SetQueuedIngestion sets the QueuedIngestion field's value. +func (s *QueueInfo) SetQueuedIngestion(v string) *QueueInfo { + s.QueuedIngestion = &v return s } -// SetTemplateAliasList sets the TemplateAliasList field's value. -func (s *ListTemplateAliasesOutput) SetTemplateAliasList(v []*TemplateAlias) *ListTemplateAliasesOutput { - s.TemplateAliasList = v +// SetWaitingOnIngestion sets the WaitingOnIngestion field's value. +func (s *QueueInfo) SetWaitingOnIngestion(v string) *QueueInfo { + s.WaitingOnIngestion = &v return s } -type ListTemplateVersionsInput struct { +// Amazon RDS parameters. +type RdsParameters struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the templates that you're listing. + // Database. // - // 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"` + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The ID for the template. + // Instance ID. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // InstanceId is a required field + InstanceId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListTemplateVersionsInput) String() string { +func (s RdsParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplateVersionsInput) GoString() string { +func (s RdsParameters) 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)) +func (s *RdsParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RdsParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) } if invalidParams.Len() > 0 { @@ -16971,251 +23619,399 @@ func (s *ListTemplateVersionsInput) Validate() error { 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 +// SetDatabase sets the Database field's value. +func (s *RdsParameters) SetDatabase(v string) *RdsParameters { + s.Database = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *ListTemplateVersionsInput) SetTemplateId(v string) *ListTemplateVersionsInput { - s.TemplateId = &v +// SetInstanceId sets the InstanceId field's value. +func (s *RdsParameters) SetInstanceId(v string) *RdsParameters { + s.InstanceId = &v return s } -type ListTemplateVersionsOutput struct { +// Amazon Redshift parameters. The ClusterId field can be blank if Host and +// Port are both set. The Host and Port fields can be blank if the ClusterId +// field is set. +type RedshiftParameters struct { _ struct{} `type:"structure"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + // Cluster ID. This field can be blank if the Host and Port are provided. + ClusterId *string `min:"1" type:"string"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Host. This field can be blank if ClusterId is provided. + Host *string `min:"1" type:"string"` - // A structure containing a list of all the versions of the specified template. - TemplateVersionSummaryList []*TemplateVersionSummary `type:"list"` + // Port. This field can be blank if the ClusterId is provided. + Port *int64 `type:"integer"` } // String returns the string representation -func (s ListTemplateVersionsOutput) String() string { +func (s RedshiftParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplateVersionsOutput) GoString() string { +func (s RedshiftParameters) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListTemplateVersionsOutput) SetNextToken(v string) *ListTemplateVersionsOutput { - s.NextToken = &v +// 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 } -// SetRequestId sets the RequestId field's value. -func (s *ListTemplateVersionsOutput) SetRequestId(v string) *ListTemplateVersionsOutput { - s.RequestId = &v +// SetDatabase sets the Database field's value. +func (s *RedshiftParameters) SetDatabase(v string) *RedshiftParameters { + s.Database = &v return s } -// SetStatus sets the Status field's value. -func (s *ListTemplateVersionsOutput) SetStatus(v int64) *ListTemplateVersionsOutput { - s.Status = &v +// SetHost sets the Host field's value. +func (s *RedshiftParameters) SetHost(v string) *RedshiftParameters { + s.Host = &v return s } -// SetTemplateVersionSummaryList sets the TemplateVersionSummaryList field's value. -func (s *ListTemplateVersionsOutput) SetTemplateVersionSummaryList(v []*TemplateVersionSummary) *ListTemplateVersionsOutput { - s.TemplateVersionSummaryList = v +// SetPort sets the Port field's value. +func (s *RedshiftParameters) SetPort(v int64) *RedshiftParameters { + s.Port = &v return s } -type ListTemplatesInput struct { +type RegisterUserInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the templates that you're listing. + // 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 be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` + // (Enterprise edition only) The name of the custom permissions profile that + // you want to assign to this user. Currently, custom permissions profile names + // are assigned to permissions profiles in the QuickSight console. You use this + // API to assign the named set of permissions to a QuickSight user. + // + // Customizing permissions in the QuickSight UI allows you to control a user's + // access to the following operations: + // + // * + // + // * + // + // * + // + // * + // + // QuickSight custom permissions are applied through IAM policies. Therefore, + // they override the permissions typically granted by assigning QuickSight users + // to one of the default security cohorts (admin, author, reader) in QuickSight. + // + // This feature is available only to QuickSight Enterprise edition subscriptions + // that use SAML 2.0-Based Federation for Single Sign-On (SSO). + CustomPermissionsName *string `min:"1" type:"string"` - // 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 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://awscli.amazonaws.com/v2/documentation/api/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 ListTemplatesInput) String() string { +func (s RegisterUserInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplatesInput) GoString() string { +func (s RegisterUserInput) 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"} +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.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.CustomPermissionsName != nil && len(*s.CustomPermissionsName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomPermissionsName", 1)) + } + 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 +} + +// SetCustomPermissionsName sets the CustomPermissionsName field's value. +func (s *RegisterUserInput) SetCustomPermissionsName(v string) *RegisterUserInput { + s.CustomPermissionsName = &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 +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNamespace sets the Namespace field's value. +func (s *RegisterUserInput) SetNamespace(v string) *RegisterUserInput { + s.Namespace = &v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListTemplatesInput) SetAwsAccountId(v string) *ListTemplatesInput { - s.AwsAccountId = &v +// SetSessionName sets the SessionName field's value. +func (s *RegisterUserInput) SetSessionName(v string) *RegisterUserInput { + s.SessionName = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListTemplatesInput) SetMaxResults(v int64) *ListTemplatesInput { - s.MaxResults = &v +// SetUserName sets the UserName field's value. +func (s *RegisterUserInput) SetUserName(v string) *RegisterUserInput { + s.UserName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput { - s.NextToken = &v +// SetUserRole sets the UserRole field's value. +func (s *RegisterUserInput) SetUserRole(v string) *RegisterUserInput { + s.UserRole = &v return s } -type ListTemplatesOutput struct { +type RegisterUserOutput 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"` + // 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 ListTemplatesOutput) String() string { +func (s RegisterUserOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplatesOutput) GoString() string { +func (s RegisterUserOutput) 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 { +func (s *RegisterUserOutput) SetRequestId(v string) *RegisterUserOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListTemplatesOutput) SetStatus(v int64) *ListTemplatesOutput { +func (s *RegisterUserOutput) SetStatus(v int64) *RegisterUserOutput { s.Status = &v return s } -// SetTemplateSummaryList sets the TemplateSummaryList field's value. -func (s *ListTemplatesOutput) SetTemplateSummaryList(v []*TemplateSummary) *ListTemplatesOutput { - s.TemplateSummaryList = v +// SetUser sets the User field's value. +func (s *RegisterUserOutput) SetUser(v *User) *RegisterUserOutput { + s.User = v return s } -type ListUserGroupsInput struct { +// 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"` - // 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 Amazon Resource Name (ARN) for the data source. // - // 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"` + // DataSourceArn is a required field + DataSourceArn *string `type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // The column schema of the table. // - // 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"` + // InputColumns is a required field + InputColumns []*InputColumn `min:"1" type:"list" required:"true"` - // The Amazon QuickSight user name that you want to list group memberships for. + // The name of the relational table. // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The schema name. This name applies to certain relational database engines. + Schema *string `type:"string"` } // String returns the string representation -func (s ListUserGroupsInput) String() string { +func (s RelationalTable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUserGroupsInput) GoString() string { +func (s RelationalTable) 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)) +func (s *RelationalTable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelationalTable"} + if s.DataSourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.InputColumns == nil { + invalidParams.Add(request.NewErrParamRequired("InputColumns")) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.InputColumns != nil && len(s.InputColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputColumns", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 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 { @@ -17224,393 +24020,410 @@ func (s *ListUserGroupsInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListUserGroupsInput) SetAwsAccountId(v string) *ListUserGroupsInput { - s.AwsAccountId = &v +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *RelationalTable) SetDataSourceArn(v string) *RelationalTable { + s.DataSourceArn = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListUserGroupsInput) SetMaxResults(v int64) *ListUserGroupsInput { - s.MaxResults = &v +// SetInputColumns sets the InputColumns field's value. +func (s *RelationalTable) SetInputColumns(v []*InputColumn) *RelationalTable { + s.InputColumns = v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListUserGroupsInput) SetNamespace(v string) *ListUserGroupsInput { - s.Namespace = &v +// SetName sets the Name field's value. +func (s *RelationalTable) SetName(v string) *RelationalTable { + s.Name = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListUserGroupsInput) SetNextToken(v string) *ListUserGroupsInput { - s.NextToken = &v +// SetSchema sets the Schema field's value. +func (s *RelationalTable) SetSchema(v string) *RelationalTable { + s.Schema = &v return s } -// SetUserName sets the UserName field's value. -func (s *ListUserGroupsInput) SetUserName(v string) *ListUserGroupsInput { - s.UserName = &v +// A transform operation that renames a column. +type RenameColumnOperation struct { + _ struct{} `type:"structure"` + + // The name of the column to be renamed. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // The 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 } -type ListUserGroupsOutput struct { - _ struct{} `type:"structure"` +// SetNewColumnName sets the NewColumnName field's value. +func (s *RenameColumnOperation) SetNewColumnName(v string) *RenameColumnOperation { + s.NewColumnName = &v + return s +} - // The list of groups the user is a member of. - GroupList []*Group `type:"list"` +// The resource specified already exists. +type ResourceExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A pagination token that can be used in a subsequent request. - NextToken *string `type:"string"` + Message_ *string `locationName:"Message" type:"string"` - // The AWS request ID for this operation. + // The AWS request ID for this request. RequestId *string `type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The resource type for this request. + ResourceType *string `type:"string" enum:"ExceptionResourceType"` } // String returns the string representation -func (s ListUserGroupsOutput) String() string { +func (s ResourceExistsException) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s ListUserGroupsOutput) GoString() string { - return s.String() +// GoString returns the string representation +func (s ResourceExistsException) GoString() string { + return s.String() +} + +func newErrorResourceExistsException(v protocol.ResponseMetadata) error { + return &ResourceExistsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceExistsException) Code() string { + return "ResourceExistsException" +} + +// Message returns the exception's message. +func (s *ResourceExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetGroupList sets the GroupList field's value. -func (s *ListUserGroupsOutput) SetGroupList(v []*Group) *ListUserGroupsOutput { - s.GroupList = v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceExistsException) OrigErr() error { + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListUserGroupsOutput) SetNextToken(v string) *ListUserGroupsOutput { - s.NextToken = &v - return s +func (s *ResourceExistsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetRequestId sets the RequestId field's value. -func (s *ListUserGroupsOutput) SetRequestId(v string) *ListUserGroupsOutput { - s.RequestId = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceExistsException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetStatus sets the Status field's value. -func (s *ListUserGroupsOutput) SetStatus(v int64) *ListUserGroupsOutput { - s.Status = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceExistsException) RequestID() string { + return s.RespMetadata.RequestID } -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"` +// One or more resources can't be found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The maximum number of results to return from this request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + Message_ *string `locationName:"Message" 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"` + // The AWS request ID for this request. + RequestId *string `type:"string"` - // A pagination token that can be used in a subsequent request. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // The resource type for this request. + ResourceType *string `type:"string" enum:"ExceptionResourceType"` } // String returns the string representation -func (s ListUsersInput) String() string { +func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUsersInput) GoString() string { +func (s ResourceNotFoundException) 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)) +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ } - return nil + return "" } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListUsersInput) SetAwsAccountId(v string) *ListUsersInput { - s.AwsAccountId = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput { - s.MaxResults = &v - return s +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetNamespace sets the Namespace field's value. -func (s *ListUsersInput) SetNamespace(v string) *ListUsersInput { - s.Namespace = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetNextToken sets the NextToken field's value. -func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { - s.NextToken = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID } -type ListUsersOutput struct { +// Permission for the resource. +type ResourcePermission 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 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 list of users. - UserList []*User `type:"list"` + // The Amazon Resource Name (ARN) of the principal. This can be one of the following: + // + // * The ARN of an Amazon QuickSight user, group, or namespace. (This is + // most common.) + // + // * The ARN of an AWS account root: This is an IAM ARN rather than a QuickSight + // ARN. Use this option only to share resources (templates) across AWS accounts. + // (This is less common.) + // + // Principal is a required field + Principal *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListUsersOutput) String() string { +func (s ResourcePermission) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUsersOutput) GoString() string { +func (s ResourcePermission) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { - s.NextToken = &v - return s -} +// 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)) + } -// SetRequestId sets the RequestId field's value. -func (s *ListUsersOutput) SetRequestId(v string) *ListUsersOutput { - s.RequestId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatus sets the Status field's value. -func (s *ListUsersOutput) SetStatus(v int64) *ListUsersOutput { - s.Status = &v +// SetActions sets the Actions field's value. +func (s *ResourcePermission) SetActions(v []*string) *ResourcePermission { + s.Actions = v return s } -// SetUserList sets the UserList field's value. -func (s *ListUsersOutput) SetUserList(v []*User) *ListUsersOutput { - s.UserList = v +// SetPrincipal sets the Principal field's value. +func (s *ResourcePermission) SetPrincipal(v string) *ResourcePermission { + s.Principal = &v return s } -// A logical table is a unit that joins and that data transformations operate -// on. A logical table has a source, which can be either a physical table or -// result of a join. When a logical table points to a physical table, the logical -// table acts as a mutable copy of that physical table through transform operations. -type LogicalTable struct { - _ struct{} `type:"structure"` +// This resource is currently unavailable. +type ResourceUnavailableException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A display name for the logical table. - // - // Alias is a required field - Alias *string `min:"1" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` - // Transform operations that act on this logical table. - DataTransforms []*TransformOperation `min:"1" type:"list"` + // The AWS request ID for this request. + RequestId *string `type:"string"` - // Source of this logical table. - // - // Source is a required field - Source *LogicalTableSource `type:"structure" required:"true"` + // The resource type for this request. + ResourceType *string `type:"string" enum:"ExceptionResourceType"` } // String returns the string representation -func (s LogicalTable) String() string { +func (s ResourceUnavailableException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LogicalTable) GoString() string { +func (s ResourceUnavailableException) 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)) - } +func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error { + return &ResourceUnavailableException{ + RespMetadata: v, } +} + +// Code returns the exception type name. +func (s *ResourceUnavailableException) Code() string { + return "ResourceUnavailableException" +} - if invalidParams.Len() > 0 { - return invalidParams +// Message returns the exception's message. +func (s *ResourceUnavailableException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceUnavailableException) OrigErr() error { return nil } -// SetAlias sets the Alias field's value. -func (s *LogicalTable) SetAlias(v string) *LogicalTable { - s.Alias = &v - return s +func (s *ResourceUnavailableException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetDataTransforms sets the DataTransforms field's value. -func (s *LogicalTable) SetDataTransforms(v []*TransformOperation) *LogicalTable { - s.DataTransforms = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceUnavailableException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetSource sets the Source field's value. -func (s *LogicalTable) SetSource(v *LogicalTableSource) *LogicalTable { - s.Source = v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceUnavailableException) RequestID() string { + return s.RespMetadata.RequestID } -// Information about the source of a logical table. This is a variant type structure. -// For this structure to be valid, only one of the attributes can be non-null. -type LogicalTableSource struct { +// Information about rows for a data set SPICE ingestion. +type RowInfo struct { _ struct{} `type:"structure"` - // Specifies the result of a join of two logical tables. - JoinInstruction *JoinInstruction `type:"structure"` + // The number of rows that were not ingested. + RowsDropped *int64 `type:"long"` - // Physical table ID. - PhysicalTableId *string `min:"1" type:"string"` + // The number of rows that were ingested. + RowsIngested *int64 `type:"long"` } // String returns the string representation -func (s LogicalTableSource) String() string { +func (s RowInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LogicalTableSource) GoString() string { +func (s RowInfo) 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 +// SetRowsDropped sets the RowsDropped field's value. +func (s *RowInfo) SetRowsDropped(v int64) *RowInfo { + s.RowsDropped = &v return s } -// SetPhysicalTableId sets the PhysicalTableId field's value. -func (s *LogicalTableSource) SetPhysicalTableId(v string) *LogicalTableSource { - s.PhysicalTableId = &v +// SetRowsIngested sets the RowsIngested field's value. +func (s *RowInfo) SetRowsIngested(v int64) *RowInfo { + s.RowsIngested = &v return s } -// Amazon S3 manifest file location. -type ManifestFileLocation struct { +// The row-level security configuration for the dataset. +type RowLevelPermissionDataSet struct { _ struct{} `type:"structure"` - // Amazon S3 bucket. + // The Amazon Resource Name (ARN) of the permission dataset. // - // Bucket is a required field - Bucket *string `min:"1" type:"string" required:"true"` + // Arn is a required field + Arn *string `type:"string" required:"true"` - // Amazon S3 key that identifies an object. + // The namespace associated with the row-level permissions dataset. + Namespace *string `type:"string"` + + // Permission policy. // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` + // PermissionPolicy is a required field + PermissionPolicy *string `type:"string" required:"true" enum:"RowLevelPermissionPolicy"` } // String returns the string representation -func (s ManifestFileLocation) String() string { +func (s RowLevelPermissionDataSet) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ManifestFileLocation) GoString() string { +func (s RowLevelPermissionDataSet) 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")) +func (s *RowLevelPermissionDataSet) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RowLevelPermissionDataSet"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + if s.PermissionPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionPolicy")) } if invalidParams.Len() > 0 { @@ -17619,68 +24432,55 @@ func (s *ManifestFileLocation) Validate() error { return nil } -// SetBucket sets the Bucket field's value. -func (s *ManifestFileLocation) SetBucket(v string) *ManifestFileLocation { - s.Bucket = &v +// SetArn sets the Arn field's value. +func (s *RowLevelPermissionDataSet) SetArn(v string) *RowLevelPermissionDataSet { + s.Arn = &v return s } -// SetKey sets the Key field's value. -func (s *ManifestFileLocation) SetKey(v string) *ManifestFileLocation { - s.Key = &v +// SetNamespace sets the Namespace field's value. +func (s *RowLevelPermissionDataSet) SetNamespace(v string) *RowLevelPermissionDataSet { + s.Namespace = &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"` +// SetPermissionPolicy sets the PermissionPolicy field's value. +func (s *RowLevelPermissionDataSet) SetPermissionPolicy(v string) *RowLevelPermissionDataSet { + s.PermissionPolicy = &v + return s +} - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` +// S3 parameters. +type S3Parameters struct { + _ struct{} `type:"structure"` - // Port. + // Location of the Amazon S3 manifest file. This is NULL if the manifest file + // was uploaded in the console. // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // ManifestFileLocation is a required field + ManifestFileLocation *ManifestFileLocation `type:"structure" required:"true"` } // String returns the string representation -func (s MariaDbParameters) String() string { +func (s S3Parameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MariaDbParameters) GoString() string { +func (s S3Parameters) 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")) +func (s *S3Parameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Parameters"} + if s.ManifestFileLocation == nil { + invalidParams.Add(request.NewErrParamRequired("ManifestFileLocation")) } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + if s.ManifestFileLocation != nil { + if err := s.ManifestFileLocation.Validate(); err != nil { + invalidParams.AddNested("ManifestFileLocation", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -17689,74 +24489,66 @@ func (s *MariaDbParameters) Validate() error { 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 +// SetManifestFileLocation sets the ManifestFileLocation field's value. +func (s *S3Parameters) SetManifestFileLocation(v *ManifestFileLocation) *S3Parameters { + s.ManifestFileLocation = v return s } -// MySQL parameters. -type MySqlParameters struct { +// A physical table type for as S3 data source. +type S3Source struct { _ struct{} `type:"structure"` - // Database. + // The amazon Resource Name (ARN) for the data source. // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // DataSourceArn is a required field + DataSourceArn *string `type:"string" required:"true"` - // Host. + // A physical table type for as S3 data source. // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // InputColumns is a required field + InputColumns []*InputColumn `min:"1" type:"list" required:"true"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // Information about the format for the S3 source file or files. + UploadSettings *UploadSettings `type:"structure"` } // String returns the string representation -func (s MySqlParameters) String() string { +func (s S3Source) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MySqlParameters) GoString() string { +func (s S3Source) 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)) +func (s *S3Source) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Source"} + if s.DataSourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) } - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) + if s.InputColumns == nil { + invalidParams.Add(request.NewErrParamRequired("InputColumns")) } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + if s.InputColumns != nil && len(s.InputColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputColumns", 1)) } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) + 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.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + if s.UploadSettings != nil { + if err := s.UploadSettings.Validate(); err != nil { + invalidParams.AddNested("UploadSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -17765,124 +24557,80 @@ func (s *MySqlParameters) Validate() error { 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 +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *S3Source) SetDataSourceArn(v string) *S3Source { + s.DataSourceArn = &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 +// SetInputColumns sets the InputColumns field's value. +func (s *S3Source) SetInputColumns(v []*InputColumn) *S3Source { + s.InputColumns = v return s } -// SetType sets the Type field's value. -func (s *OutputColumn) SetType(v string) *OutputColumn { - s.Type = &v +// SetUploadSettings sets the UploadSettings field's value. +func (s *S3Source) SetUploadSettings(v *UploadSettings) *S3Source { + s.UploadSettings = v return s } -// Parameters. -type Parameters struct { +type SearchDashboardsInput struct { _ struct{} `type:"structure"` - // DateTime parameters. - DateTimeParameters []*DateTimeParameter `type:"list"` + // The ID of the AWS account that contains the user whose dashboards you're + // searching for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Decimal parameters. - DecimalParameters []*DecimalParameter `type:"list"` + // The filters to apply to the search. Currently, you can search only by user + // name, for example, "Filters": [ { "Name": "QUICKSIGHT_USER", "Operator": + // "StringEquals", "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1" + // } ] + // + // Filters is a required field + Filters []*DashboardSearchFilter `type:"list" required:"true"` - // Integer parameters. - IntegerParameters []*IntegerParameter `type:"list"` + // The maximum number of results to be returned per request. + MaxResults *int64 `min:"1" type:"integer"` - // String parameters. - StringParameters []*StringParameter `type:"list"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` } // String returns the string representation -func (s Parameters) String() string { +func (s SearchDashboardsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Parameters) GoString() string { +func (s SearchDashboardsInput) 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)) - } - } +func (s *SearchDashboardsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchDashboardsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - 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.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - 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.Filters == nil { + invalidParams.Add(request.NewErrParamRequired("Filters")) } - if s.StringParameters != nil { - for i, v := range s.StringParameters { + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + 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]", "StringParameters", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) } } } @@ -17893,149 +24641,108 @@ func (s *Parameters) Validate() error { return nil } -// SetDateTimeParameters sets the DateTimeParameters field's value. -func (s *Parameters) SetDateTimeParameters(v []*DateTimeParameter) *Parameters { - s.DateTimeParameters = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *SearchDashboardsInput) SetAwsAccountId(v string) *SearchDashboardsInput { + s.AwsAccountId = &v return s } -// SetDecimalParameters sets the DecimalParameters field's value. -func (s *Parameters) SetDecimalParameters(v []*DecimalParameter) *Parameters { - s.DecimalParameters = v +// SetFilters sets the Filters field's value. +func (s *SearchDashboardsInput) SetFilters(v []*DashboardSearchFilter) *SearchDashboardsInput { + s.Filters = v return s } -// SetIntegerParameters sets the IntegerParameters field's value. -func (s *Parameters) SetIntegerParameters(v []*IntegerParameter) *Parameters { - s.IntegerParameters = v +// SetMaxResults sets the MaxResults field's value. +func (s *SearchDashboardsInput) SetMaxResults(v int64) *SearchDashboardsInput { + s.MaxResults = &v return s } -// SetStringParameters sets the StringParameters field's value. -func (s *Parameters) SetStringParameters(v []*StringParameter) *Parameters { - s.StringParameters = v +// SetNextToken sets the NextToken field's value. +func (s *SearchDashboardsInput) SetNextToken(v string) *SearchDashboardsInput { + s.NextToken = &v return s } -// A view of a data source that contains information about the shape of the -// data in the underlying source. This is a variant type structure. For this -// structure to be valid, only one of the attributes can be non-null. -type PhysicalTable struct { +type SearchDashboardsOutput struct { _ struct{} `type:"structure"` - // A physical table type built from the results of the custom SQL query. - CustomSql *CustomSql `type:"structure"` + // The list of dashboards owned by the user specified in Filters in your request. + DashboardSummaryList []*DashboardSummary `type:"list"` - // A physical table type for relational data sources. - RelationalTable *RelationalTable `type:"structure"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` - // A physical table type for as S3 data source. - S3Source *S3Source `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 PhysicalTable) String() string { +func (s SearchDashboardsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PhysicalTable) GoString() string { +func (s SearchDashboardsOutput) 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 +// SetDashboardSummaryList sets the DashboardSummaryList field's value. +func (s *SearchDashboardsOutput) SetDashboardSummaryList(v []*DashboardSummary) *SearchDashboardsOutput { + s.DashboardSummaryList = v + return s } -// SetCustomSql sets the CustomSql field's value. -func (s *PhysicalTable) SetCustomSql(v *CustomSql) *PhysicalTable { - s.CustomSql = v +// SetNextToken sets the NextToken field's value. +func (s *SearchDashboardsOutput) SetNextToken(v string) *SearchDashboardsOutput { + s.NextToken = &v return s } -// SetRelationalTable sets the RelationalTable field's value. -func (s *PhysicalTable) SetRelationalTable(v *RelationalTable) *PhysicalTable { - s.RelationalTable = v +// SetRequestId sets the RequestId field's value. +func (s *SearchDashboardsOutput) SetRequestId(v string) *SearchDashboardsOutput { + s.RequestId = &v return s } -// SetS3Source sets the S3Source field's value. -func (s *PhysicalTable) SetS3Source(v *S3Source) *PhysicalTable { - s.S3Source = v +// SetStatus sets the Status field's value. +func (s *SearchDashboardsOutput) SetStatus(v int64) *SearchDashboardsOutput { + s.Status = &v return s } -// PostgreSQL parameters. -type PostgreSqlParameters struct { +// ServiceNow parameters. +type ServiceNowParameters 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. + // URL of the base site. // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // SiteBaseUrl is a required field + SiteBaseUrl *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s PostgreSqlParameters) String() string { +func (s ServiceNowParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PostgreSqlParameters) GoString() string { +func (s ServiceNowParameters) 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")) +func (s *ServiceNowParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceNowParameters"} + if s.SiteBaseUrl == nil { + invalidParams.Add(request.NewErrParamRequired("SiteBaseUrl")) } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + if s.SiteBaseUrl != nil && len(*s.SiteBaseUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SiteBaseUrl", 1)) } if invalidParams.Len() > 0 { @@ -18044,26 +24751,15 @@ func (s *PostgreSqlParameters) Validate() error { 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 +// SetSiteBaseUrl sets the SiteBaseUrl field's value. +func (s *ServiceNowParameters) SetSiteBaseUrl(v string) *ServiceNowParameters { + s.SiteBaseUrl = &v return s } -// One or more preconditions aren't met. -type PreconditionNotMetException struct { +// The number of minutes specified for the lifetime of a session isn't valid. +// The session lifetime must be 15-600 minutes. +type SessionLifetimeInMinutesInvalidException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -18074,28 +24770,28 @@ type PreconditionNotMetException struct { } // String returns the string representation -func (s PreconditionNotMetException) String() string { +func (s SessionLifetimeInMinutesInvalidException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PreconditionNotMetException) GoString() string { +func (s SessionLifetimeInMinutesInvalidException) GoString() string { return s.String() } -func newErrorPreconditionNotMetException(v protocol.ResponseMetadata) error { - return &PreconditionNotMetException{ +func newErrorSessionLifetimeInMinutesInvalidException(v protocol.ResponseMetadata) error { + return &SessionLifetimeInMinutesInvalidException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *PreconditionNotMetException) Code() string { - return "PreconditionNotMetException" +func (s *SessionLifetimeInMinutesInvalidException) Code() string { + return "SessionLifetimeInMinutesInvalidException" } // Message returns the exception's message. -func (s *PreconditionNotMetException) Message() string { +func (s *SessionLifetimeInMinutesInvalidException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -18103,126 +24799,128 @@ func (s *PreconditionNotMetException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *PreconditionNotMetException) OrigErr() error { +func (s *SessionLifetimeInMinutesInvalidException) OrigErr() error { return nil } -func (s *PreconditionNotMetException) Error() string { +func (s *SessionLifetimeInMinutesInvalidException) Error() string { return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. -func (s *PreconditionNotMetException) StatusCode() int { +func (s *SessionLifetimeInMinutesInvalidException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *PreconditionNotMetException) RequestID() string { +func (s *SessionLifetimeInMinutesInvalidException) RequestID() string { return s.RespMetadata.RequestID } -// Presto parameters. -type PrestoParameters struct { +// Sheet controls option. +type SheetControlsOption 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"` + // Visibility state. + VisibilityState *string `type:"string" enum:"DashboardUIState"` } // String returns the string representation -func (s PrestoParameters) String() string { +func (s SheetControlsOption) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PrestoParameters) GoString() string { +func (s SheetControlsOption) 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)) - } +// SetVisibilityState sets the VisibilityState field's value. +func (s *SheetControlsOption) SetVisibilityState(v string) *SheetControlsOption { + s.VisibilityState = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// The theme display options for sheets. +type SheetStyle struct { + _ struct{} `type:"structure"` + + // The display options for tiles. + Tile *TileStyle `type:"structure"` + + // The layout options for tiles. + TileLayout *TileLayoutStyle `type:"structure"` } -// SetCatalog sets the Catalog field's value. -func (s *PrestoParameters) SetCatalog(v string) *PrestoParameters { - s.Catalog = &v - return s +// String returns the string representation +func (s SheetStyle) String() string { + return awsutil.Prettify(s) } -// SetHost sets the Host field's value. -func (s *PrestoParameters) SetHost(v string) *PrestoParameters { - s.Host = &v +// GoString returns the string representation +func (s SheetStyle) GoString() string { + return s.String() +} + +// SetTile sets the Tile field's value. +func (s *SheetStyle) SetTile(v *TileStyle) *SheetStyle { + s.Tile = v return s } -// SetPort sets the Port field's value. -func (s *PrestoParameters) SetPort(v int64) *PrestoParameters { - s.Port = &v +// SetTileLayout sets the TileLayout field's value. +func (s *SheetStyle) SetTileLayout(v *TileLayoutStyle) *SheetStyle { + s.TileLayout = v return s } -// A transform operation that projects columns. Operations that come after a -// projection can only refer to projected columns. -type ProjectOperation struct { +// Snowflake parameters. +type SnowflakeParameters struct { _ struct{} `type:"structure"` - // Projected columns. + // Database. // - // ProjectedColumns is a required field - ProjectedColumns []*string `min:"1" type:"list" required:"true"` + // 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 ProjectOperation) String() string { +func (s SnowflakeParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectOperation) GoString() string { +func (s SnowflakeParameters) 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")) +func (s *SnowflakeParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SnowflakeParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) } - if s.ProjectedColumns != nil && len(s.ProjectedColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectedColumns", 1)) + 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 { @@ -18231,89 +24929,63 @@ func (s *ProjectOperation) Validate() error { return nil } -// SetProjectedColumns sets the ProjectedColumns field's value. -func (s *ProjectOperation) SetProjectedColumns(v []*string) *ProjectOperation { - s.ProjectedColumns = v +// SetDatabase sets the Database field's value. +func (s *SnowflakeParameters) SetDatabase(v string) *SnowflakeParameters { + s.Database = &v return s } -// Information about a 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 +// SetHost sets the Host field's value. +func (s *SnowflakeParameters) SetHost(v string) *SnowflakeParameters { + s.Host = &v return s } -// SetWaitingOnIngestion sets the WaitingOnIngestion field's value. -func (s *QueueInfo) SetWaitingOnIngestion(v string) *QueueInfo { - s.WaitingOnIngestion = &v +// SetWarehouse sets the Warehouse field's value. +func (s *SnowflakeParameters) SetWarehouse(v string) *SnowflakeParameters { + s.Warehouse = &v return s } -// Amazon RDS parameters. -type RdsParameters struct { +// Spark parameters. +type SparkParameters struct { _ struct{} `type:"structure"` - // Database. + // Host. // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // Instance ID. + // Port. // - // InstanceId is a required field - InstanceId *string `min:"1" type:"string" required:"true"` + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s RdsParameters) String() string { +func (s SparkParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RdsParameters) GoString() string { +func (s SparkParameters) 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")) +func (s *SparkParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SparkParameters"} + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) } - 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 s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) } - if s.InstanceId != nil && len(*s.InstanceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if invalidParams.Len() > 0 { @@ -18322,64 +24994,69 @@ func (s *RdsParameters) Validate() error { return nil } -// SetDatabase sets the Database field's value. -func (s *RdsParameters) SetDatabase(v string) *RdsParameters { - s.Database = &v +// SetHost sets the Host field's value. +func (s *SparkParameters) SetHost(v string) *SparkParameters { + s.Host = &v return s } -// SetInstanceId sets the InstanceId field's value. -func (s *RdsParameters) SetInstanceId(v string) *RdsParameters { - s.InstanceId = &v +// SetPort sets the Port field's value. +func (s *SparkParameters) SetPort(v int64) *SparkParameters { + s.Port = &v return s } -// Amazon Redshift parameters. The ClusterId field can be blank if Host and -// Port are both set. The Host and Port fields can be blank if the ClusterId -// field is set. -type RedshiftParameters struct { +// SQL Server parameters. +type SqlServerParameters struct { _ struct{} `type:"structure"` - // Cluster ID. This field 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 field can be blank if ClusterId is provided. - Host *string `min:"1" type:"string"` + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // Port. This field can be blank if the ClusterId is provided. - Port *int64 `type:"integer"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s RedshiftParameters) String() string { +func (s SqlServerParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RedshiftParameters) GoString() string { +func (s SqlServerParameters) 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)) - } +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 @@ -18387,134 +25064,82 @@ func (s *RedshiftParameters) Validate() error { 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 { +func (s *SqlServerParameters) SetDatabase(v string) *SqlServerParameters { s.Database = &v return s } // SetHost sets the Host field's value. -func (s *RedshiftParameters) SetHost(v string) *RedshiftParameters { +func (s *SqlServerParameters) SetHost(v string) *SqlServerParameters { s.Host = &v return s } // SetPort sets the Port field's value. -func (s *RedshiftParameters) SetPort(v int64) *RedshiftParameters { +func (s *SqlServerParameters) SetPort(v int64) *SqlServerParameters { s.Port = &v return s } -type RegisterUserInput struct { +// Secure Socket Layer (SSL) properties that apply when QuickSight connects +// to your underlying data source. +type SslProperties 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"` + // A Boolean option to control whether SSL should be disabled. + DisableSsl *bool `type:"boolean"` +} - // 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"` +// String returns the string representation +func (s SslProperties) String() string { + return awsutil.Prettify(s) +} - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +// GoString returns the string representation +func (s SslProperties) GoString() string { + return s.String() +} - // 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://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html) - // in the AWS CLI Reference. - SessionName *string `min:"2" type:"string"` +// SetDisableSsl sets the DisableSsl field's value. +func (s *SslProperties) SetDisableSsl(v bool) *SslProperties { + s.DisableSsl = &v + return s +} - // The Amazon QuickSight user name that you want to create for the user you - // are registering. - UserName *string `min:"1" type:"string"` +// String parameter. +type StringParameter struct { + _ struct{} `type:"structure"` - // 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. + // A display name for the dataset. // - // * RESTRICTED_AUTHOR: This role isn't currently available for use. + // Name is a required field + Name *string `type:"string" required:"true"` + + // Values. // - // UserRole is a required field - UserRole *string `type:"string" required:"true" enum:"UserRole"` + // Values is a required field + Values []*string `type:"list" required:"true"` } // String returns the string representation -func (s RegisterUserInput) String() string { +func (s StringParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RegisterUserInput) GoString() string { +func (s StringParameter) 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)) +func (s *StringParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StringParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.UserRole == nil { - invalidParams.Add(request.NewErrParamRequired("UserRole")) + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) } if invalidParams.Len() > 0 { @@ -18523,163 +25148,186 @@ func (s *RegisterUserInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *RegisterUserInput) SetAwsAccountId(v string) *RegisterUserInput { - s.AwsAccountId = &v +// SetName sets the Name field's value. +func (s *StringParameter) SetName(v string) *StringParameter { + s.Name = &v return s } -// SetEmail sets the Email field's value. -func (s *RegisterUserInput) SetEmail(v string) *RegisterUserInput { - s.Email = &v +// SetValues sets the Values field's value. +func (s *StringParameter) SetValues(v []*string) *StringParameter { + s.Values = v return s } -// SetIamArn sets the IamArn field's value. -func (s *RegisterUserInput) SetIamArn(v string) *RegisterUserInput { - s.IamArn = &v - return s +// The key or 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"` } -// SetIdentityType sets the IdentityType field's value. -func (s *RegisterUserInput) SetIdentityType(v string) *RegisterUserInput { - s.IdentityType = &v - return s +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) } -// SetNamespace sets the Namespace field's value. -func (s *RegisterUserInput) SetNamespace(v string) *RegisterUserInput { - s.Namespace = &v - return s +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() } -// SetSessionName sets the SessionName field's value. -func (s *RegisterUserInput) SetSessionName(v string) *RegisterUserInput { - s.SessionName = &v - return s +// 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 } -// SetUserName sets the UserName field's value. -func (s *RegisterUserInput) SetUserName(v string) *RegisterUserInput { - s.UserName = &v +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v return s } -// SetUserRole sets the UserRole field's value. -func (s *RegisterUserInput) SetUserRole(v string) *RegisterUserInput { - s.UserRole = &v +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v return s } -type RegisterUserOutput struct { +// A transform operation that tags a column with additional information. +type TagColumnOperation 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 column that this operation acts on. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` - // 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 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 RegisterUserOutput) String() string { +func (s TagColumnOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RegisterUserOutput) GoString() string { +func (s TagColumnOperation) GoString() string { return s.String() } -// SetRequestId sets the RequestId field's value. -func (s *RegisterUserOutput) SetRequestId(v string) *RegisterUserOutput { - s.RequestId = &v - return s -} +// 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)) + } -// SetStatus sets the Status field's value. -func (s *RegisterUserOutput) SetStatus(v int64) *RegisterUserOutput { - s.Status = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetUser sets the User field's value. -func (s *RegisterUserOutput) SetUser(v *User) *RegisterUserOutput { - s.User = v +// SetColumnName sets the ColumnName field's value. +func (s *TagColumnOperation) SetColumnName(v string) *TagColumnOperation { + s.ColumnName = &v return s } -// SetUserInvitationUrl sets the UserInvitationUrl field's value. -func (s *RegisterUserOutput) SetUserInvitationUrl(v string) *RegisterUserOutput { - s.UserInvitationUrl = &v +// SetTags sets the Tags field's value. +func (s *TagColumnOperation) SetTags(v []*ColumnTag) *TagColumnOperation { + s.Tags = v return s } -// A physical table type for relational data sources. -type RelationalTable struct { +type TagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the data source. - // - // DataSourceArn is a required field - DataSourceArn *string `type:"string" required:"true"` - - // The column schema of the table. + // The Amazon Resource Name (ARN) of the resource that you want to tag. // - // InputColumns is a required field - InputColumns []*InputColumn `min:"1" type:"list" required:"true"` + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` - // The name of the relational table. + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the resource. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // The schema name. This name applies to certain relational database engines. - Schema *string `type:"string"` + // Tags is a required field + Tags []*Tag `min:"1" type:"list" required:"true"` } // String returns the string representation -func (s RelationalTable) String() string { +func (s TagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RelationalTable) GoString() string { +func (s TagResourceInput) 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")) +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.InputColumns != nil && len(s.InputColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InputColumns", 1)) + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } - if s.InputColumns != nil { - for i, v := range s.InputColumns { + 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]", "InputColumns", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) } } } @@ -18690,404 +25338,348 @@ func (s *RelationalTable) Validate() error { 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 +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v return s } -// SetSchema sets the Schema field's value. -func (s *RelationalTable) SetSchema(v string) *RelationalTable { - s.Schema = &v +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v return s } -// A transform operation that renames a column. -type RenameColumnOperation struct { +type TagResourceOutput struct { _ struct{} `type:"structure"` - // The name of the column to be renamed. - // - // ColumnName is a required field - ColumnName *string `min:"1" type:"string" required:"true"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // The new name for the column. - // - // NewColumnName is a required field - NewColumnName *string `min:"1" type:"string" required:"true"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s RenameColumnOperation) String() string { +func (s TagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RenameColumnOperation) GoString() string { +func (s TagResourceOutput) 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 +// SetRequestId sets the RequestId field's value. +func (s *TagResourceOutput) SetRequestId(v string) *TagResourceOutput { + s.RequestId = &v return s } -// SetNewColumnName sets the NewColumnName field's value. -func (s *RenameColumnOperation) SetNewColumnName(v string) *RenameColumnOperation { - s.NewColumnName = &v +// SetStatus sets the Status field's value. +func (s *TagResourceOutput) SetStatus(v int64) *TagResourceOutput { + s.Status = &v return s } -// The resource specified already exists. -type ResourceExistsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// A template object. A template is an entity in QuickSight that encapsulates +// the metadata required to create an analysis and that you can use to create +// a dashboard. A template adds a layer of abstraction by using placeholders +// to replace the dataset associated with the analysis. You can use templates +// to create dashboards by replacing dataset placeholders with datasets that +// 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"` - Message_ *string `locationName:"Message" type:"string"` + // The Amazon Resource Name (ARN) of the template. + Arn *string `type:"string"` - // The AWS request ID for this request. - RequestId *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 AWS Region for each AWS account. + TemplateId *string `min:"1" type:"string"` - // The resource type for this request. - ResourceType *string `type:"string" enum:"ExceptionResourceType"` + // A structure describing the versions of the template. + Version *TemplateVersion `type:"structure"` } // String returns the string representation -func (s ResourceExistsException) String() string { +func (s Template) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceExistsException) GoString() string { +func (s Template) GoString() string { return s.String() } -func newErrorResourceExistsException(v protocol.ResponseMetadata) error { - return &ResourceExistsException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ResourceExistsException) Code() string { - return "ResourceExistsException" +// SetArn sets the Arn field's value. +func (s *Template) SetArn(v string) *Template { + s.Arn = &v + return s } -// Message returns the exception's message. -func (s *ResourceExistsException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetCreatedTime sets the CreatedTime field's value. +func (s *Template) SetCreatedTime(v time.Time) *Template { + s.CreatedTime = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceExistsException) OrigErr() error { - return nil +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Template) SetLastUpdatedTime(v time.Time) *Template { + s.LastUpdatedTime = &v + return s } -func (s *ResourceExistsException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetName sets the Name field's value. +func (s *Template) SetName(v string) *Template { + s.Name = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceExistsException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetTemplateId sets the TemplateId field's value. +func (s *Template) SetTemplateId(v string) *Template { + s.TemplateId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceExistsException) RequestID() string { - return s.RespMetadata.RequestID +// SetVersion sets the Version field's value. +func (s *Template) SetVersion(v *TemplateVersion) *Template { + s.Version = v + return s } -// One or more resources can't be found. -type ResourceNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The template alias. +type TemplateAlias struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The display name of the template alias. + AliasName *string `min:"1" type:"string"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // The Amazon Resource Name (ARN) of the template alias. + Arn *string `type:"string"` - // The resource type for this request. - ResourceType *string `type:"string" enum:"ExceptionResourceType"` + // The version number of the template alias. + TemplateVersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s ResourceNotFoundException) String() string { +func (s TemplateAlias) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceNotFoundException) GoString() string { +func (s TemplateAlias) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" -} - -// Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { - return nil -} - -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetAliasName sets the AliasName field's value. +func (s *TemplateAlias) SetAliasName(v string) *TemplateAlias { + s.AliasName = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetArn sets the Arn field's value. +func (s *TemplateAlias) SetArn(v string) *TemplateAlias { + s.Arn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. +func (s *TemplateAlias) SetTemplateVersionNumber(v int64) *TemplateAlias { + s.TemplateVersionNumber = &v + return s } -// Permission for the resource. -type ResourcePermission struct { +// List of errors that occurred when the template version creation failed. +type TemplateError 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"` + // Description of the error type. + Message *string `type:"string"` - // The Amazon Resource Name (ARN) of an Amazon 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"` + // Type of error. + Type *string `type:"string" enum:"TemplateErrorType"` } // String returns the string representation -func (s ResourcePermission) String() string { +func (s TemplateError) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourcePermission) GoString() string { +func (s TemplateError) 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 +// SetMessage sets the Message field's value. +func (s *TemplateError) SetMessage(v string) *TemplateError { + s.Message = &v return s } -// SetPrincipal sets the Principal field's value. -func (s *ResourcePermission) SetPrincipal(v string) *ResourcePermission { - s.Principal = &v +// SetType sets the Type field's value. +func (s *TemplateError) SetType(v string) *TemplateError { + s.Type = &v return s } -// This resource is currently unavailable. -type ResourceUnavailableException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` +// The source analysis of the template. +type TemplateSourceAnalysis struct { + _ struct{} `type:"structure"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // The Amazon Resource Name (ARN) of the resource. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` - // The resource type for this request. - ResourceType *string `type:"string" enum:"ExceptionResourceType"` + // 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 ResourceUnavailableException) String() string { +func (s TemplateSourceAnalysis) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceUnavailableException) GoString() string { +func (s TemplateSourceAnalysis) GoString() string { return s.String() } -func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error { - return &ResourceUnavailableException{ - RespMetadata: v, +// 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")) } -} - -// Code returns the exception type name. -func (s *ResourceUnavailableException) Code() string { - return "ResourceUnavailableException" -} - -// Message returns the exception's message. -func (s *ResourceUnavailableException) Message() string { - if s.Message_ != nil { - return *s.Message_ + 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)) + } + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceUnavailableException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ResourceUnavailableException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceUnavailableException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetArn sets the Arn field's value. +func (s *TemplateSourceAnalysis) SetArn(v string) *TemplateSourceAnalysis { + s.Arn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceUnavailableException) RequestID() string { - return s.RespMetadata.RequestID +// SetDataSetReferences sets the DataSetReferences field's value. +func (s *TemplateSourceAnalysis) SetDataSetReferences(v []*DataSetReference) *TemplateSourceAnalysis { + s.DataSetReferences = v + return s } -// Information about rows for a data set SPICE ingestion. -type RowInfo struct { +// The source entity of the template. +type TemplateSourceEntity struct { _ struct{} `type:"structure"` - // The number of rows that were not ingested. - RowsDropped *int64 `type:"long"` + // The source analysis, if it is based on an analysis. + SourceAnalysis *TemplateSourceAnalysis `type:"structure"` - // The number of rows that were ingested. - RowsIngested *int64 `type:"long"` + // The source template, if it is based on an template. + SourceTemplate *TemplateSourceTemplate `type:"structure"` } // String returns the string representation -func (s RowInfo) String() string { +func (s TemplateSourceEntity) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RowInfo) GoString() string { +func (s TemplateSourceEntity) GoString() string { return s.String() } -// SetRowsDropped sets the RowsDropped field's value. -func (s *RowInfo) SetRowsDropped(v int64) *RowInfo { - s.RowsDropped = &v +// 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 } -// SetRowsIngested sets the RowsIngested field's value. -func (s *RowInfo) SetRowsIngested(v int64) *RowInfo { - s.RowsIngested = &v +// SetSourceTemplate sets the SourceTemplate field's value. +func (s *TemplateSourceEntity) SetSourceTemplate(v *TemplateSourceTemplate) *TemplateSourceEntity { + s.SourceTemplate = v return s } -// The row-level security configuration for the dataset. -type RowLevelPermissionDataSet struct { +// The source template of the template. +type TemplateSourceTemplate struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the permission dataset. + // The Amazon Resource Name (ARN) of the resource. // // 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 { +func (s TemplateSourceTemplate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RowLevelPermissionDataSet) GoString() string { +func (s TemplateSourceTemplate) 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"} +func (s *TemplateSourceTemplate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TemplateSourceTemplate"} if s.Arn == nil { invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.PermissionPolicy == nil { - invalidParams.Add(request.NewErrParamRequired("PermissionPolicy")) - } if invalidParams.Len() > 0 { return invalidParams @@ -19096,200 +25688,271 @@ func (s *RowLevelPermissionDataSet) Validate() error { } // SetArn sets the Arn field's value. -func (s *RowLevelPermissionDataSet) SetArn(v string) *RowLevelPermissionDataSet { +func (s *TemplateSourceTemplate) SetArn(v string) *TemplateSourceTemplate { s.Arn = &v return s } -// SetPermissionPolicy sets the PermissionPolicy field's value. -func (s *RowLevelPermissionDataSet) SetPermissionPolicy(v string) *RowLevelPermissionDataSet { - s.PermissionPolicy = &v +// The template summary. +type TemplateSummary struct { + _ struct{} `type:"structure"` + + // A summary of a template. + Arn *string `type:"string"` + + // The last time that this template was created. + CreatedTime *time.Time `type:"timestamp"` + + // The last time that this template was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // 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 ID is unique per AWS Region for each AWS account. + TemplateId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s TemplateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TemplateSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *TemplateSummary) SetArn(v string) *TemplateSummary { + s.Arn = &v return s } -// S3 parameters. -type S3Parameters struct { +// SetCreatedTime sets the CreatedTime field's value. +func (s *TemplateSummary) SetCreatedTime(v time.Time) *TemplateSummary { + s.CreatedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *TemplateSummary) SetLastUpdatedTime(v time.Time) *TemplateSummary { + s.LastUpdatedTime = &v + return s +} + +// SetLatestVersionNumber sets the LatestVersionNumber field's value. +func (s *TemplateSummary) SetLatestVersionNumber(v int64) *TemplateSummary { + s.LatestVersionNumber = &v + return s +} + +// SetName sets the Name field's value. +func (s *TemplateSummary) SetName(v string) *TemplateSummary { + s.Name = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *TemplateSummary) SetTemplateId(v string) *TemplateSummary { + s.TemplateId = &v + return s +} + +// A version of a template. +type TemplateVersion 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"` + // The time that this template version was created. + CreatedTime *time.Time `type:"timestamp"` + + // 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 description of the template. + Description *string `min:"1" type:"string"` + + // Errors associated with the template. + Errors []*TemplateError `min:"1" type:"list"` + + // The Amazon Resource Name (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 S3Parameters) String() string { +func (s TemplateVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s S3Parameters) 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 *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)) - } - } +// 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 } -// SetManifestFileLocation sets the ManifestFileLocation field's value. -func (s *S3Parameters) SetManifestFileLocation(v *ManifestFileLocation) *S3Parameters { - s.ManifestFileLocation = v +// SetDescription sets the Description field's value. +func (s *TemplateVersion) SetDescription(v string) *TemplateVersion { + s.Description = &v return s } -// A physical table type for as S3 data source. -type S3Source struct { +// SetErrors sets the Errors field's value. +func (s *TemplateVersion) SetErrors(v []*TemplateError) *TemplateVersion { + s.Errors = v + return s +} + +// SetSourceEntityArn sets the SourceEntityArn field's value. +func (s *TemplateVersion) SetSourceEntityArn(v string) *TemplateVersion { + s.SourceEntityArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TemplateVersion) SetStatus(v string) *TemplateVersion { + s.Status = &v + return s +} + +// 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 amazon Resource Name (ARN) for the data source. - // - // DataSourceArn is a required field - DataSourceArn *string `type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the template version. + Arn *string `type:"string"` - // A physical table type for as S3 data source. - // - // InputColumns is a required field - InputColumns []*InputColumn `min:"1" type:"list" required:"true"` + // The time that this template version was created. + CreatedTime *time.Time `type:"timestamp"` + + // The description of the template version. + Description *string `min:"1" type:"string"` - // Information about the format for the S3 source file or files. - UploadSettings *UploadSettings `type:"structure"` + // 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 S3Source) String() string { +func (s TemplateVersionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s S3Source) GoString() string { +func (s TemplateVersionSummary) 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)) - } - } +// SetArn sets the Arn field's value. +func (s *TemplateVersionSummary) SetArn(v string) *TemplateVersionSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreatedTime sets the CreatedTime field's value. +func (s *TemplateVersionSummary) SetCreatedTime(v time.Time) *TemplateVersionSummary { + s.CreatedTime = &v + return s } -// SetDataSourceArn sets the DataSourceArn field's value. -func (s *S3Source) SetDataSourceArn(v string) *S3Source { - s.DataSourceArn = &v +// SetDescription sets the Description field's value. +func (s *TemplateVersionSummary) SetDescription(v string) *TemplateVersionSummary { + s.Description = &v return s } -// SetInputColumns sets the InputColumns field's value. -func (s *S3Source) SetInputColumns(v []*InputColumn) *S3Source { - s.InputColumns = v +// SetStatus sets the Status field's value. +func (s *TemplateVersionSummary) SetStatus(v string) *TemplateVersionSummary { + s.Status = &v return s } -// SetUploadSettings sets the UploadSettings field's value. -func (s *S3Source) SetUploadSettings(v *UploadSettings) *S3Source { - s.UploadSettings = v +// SetVersionNumber sets the VersionNumber field's value. +func (s *TemplateVersionSummary) SetVersionNumber(v int64) *TemplateVersionSummary { + s.VersionNumber = &v return s } -type SearchDashboardsInput struct { +// Teradata parameters. +type TeradataParameters struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the user whose dashboards you're - // searching for. + // Database. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The filters to apply to the search. Currently, you can search only by user - // name, for example, "Filters": [ { "Name": "QUICKSIGHT_USER", "Operator": - // "StringEquals", "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1" - // } ] + // Host. // - // Filters is a required field - Filters []*DashboardSearchFilter `type:"list" required:"true"` - - // The maximum number of results to be returned per request. - MaxResults *int64 `min:"1" type:"integer"` + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s SearchDashboardsInput) String() string { +func (s TeradataParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SearchDashboardsInput) GoString() string { +func (s TeradataParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *SearchDashboardsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SearchDashboardsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) +func (s *TeradataParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TeradataParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } - if s.Filters == nil { - invalidParams.Add(request.NewErrParamRequired("Filters")) + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) } - 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 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 { @@ -19298,532 +25961,622 @@ func (s *SearchDashboardsInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *SearchDashboardsInput) SetAwsAccountId(v string) *SearchDashboardsInput { - s.AwsAccountId = &v - return s -} - -// SetFilters sets the Filters field's value. -func (s *SearchDashboardsInput) SetFilters(v []*DashboardSearchFilter) *SearchDashboardsInput { - s.Filters = v +// SetDatabase sets the Database field's value. +func (s *TeradataParameters) SetDatabase(v string) *TeradataParameters { + s.Database = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *SearchDashboardsInput) SetMaxResults(v int64) *SearchDashboardsInput { - s.MaxResults = &v +// SetHost sets the Host field's value. +func (s *TeradataParameters) SetHost(v string) *TeradataParameters { + s.Host = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *SearchDashboardsInput) SetNextToken(v string) *SearchDashboardsInput { - s.NextToken = &v +// SetPort sets the Port field's value. +func (s *TeradataParameters) SetPort(v int64) *TeradataParameters { + s.Port = &v return s } -type SearchDashboardsOutput struct { +type Theme struct { _ struct{} `type:"structure"` - // The list of dashboards owned by the user specified in Filters in your request. - DashboardSummaryList []*DashboardSummary `type:"list"` + // The Amazon Resource Name (ARN) of the theme. + Arn *string `type:"string"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + // The date and time that the theme was created. + CreatedTime *time.Time `type:"timestamp"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The date and time that the theme was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The name that the user gives to the theme. + Name *string `min:"1" type:"string"` + + // The identifier that the user gives to the theme. + ThemeId *string `min:"1" type:"string"` + + // The type of theme, based on how it was created. Valid values include: QUICKSIGHT + // and CUSTOM. + Type *string `type:"string" enum:"ThemeType"` + + // A version of a theme. + Version *ThemeVersion `type:"structure"` } // String returns the string representation -func (s SearchDashboardsOutput) String() string { +func (s Theme) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SearchDashboardsOutput) GoString() string { +func (s Theme) GoString() string { return s.String() } -// SetDashboardSummaryList sets the DashboardSummaryList field's value. -func (s *SearchDashboardsOutput) SetDashboardSummaryList(v []*DashboardSummary) *SearchDashboardsOutput { - s.DashboardSummaryList = v +// SetArn sets the Arn field's value. +func (s *Theme) SetArn(v string) *Theme { + s.Arn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *SearchDashboardsOutput) SetNextToken(v string) *SearchDashboardsOutput { - s.NextToken = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *Theme) SetCreatedTime(v time.Time) *Theme { + s.CreatedTime = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *SearchDashboardsOutput) SetRequestId(v string) *SearchDashboardsOutput { - s.RequestId = &v +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Theme) SetLastUpdatedTime(v time.Time) *Theme { + s.LastUpdatedTime = &v return s } -// SetStatus sets the Status field's value. -func (s *SearchDashboardsOutput) SetStatus(v int64) *SearchDashboardsOutput { - s.Status = &v +// SetName sets the Name field's value. +func (s *Theme) SetName(v string) *Theme { + s.Name = &v return s } -// ServiceNow parameters. -type ServiceNowParameters struct { +// SetThemeId sets the ThemeId field's value. +func (s *Theme) SetThemeId(v string) *Theme { + s.ThemeId = &v + return s +} + +// SetType sets the Type field's value. +func (s *Theme) SetType(v string) *Theme { + s.Type = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Theme) SetVersion(v *ThemeVersion) *Theme { + s.Version = v + return s +} + +// An alias for a theme. +type ThemeAlias struct { _ struct{} `type:"structure"` - // URL of the base site. - // - // SiteBaseUrl is a required field - SiteBaseUrl *string `min:"1" type:"string" required:"true"` + // The display name of the theme alias. + AliasName *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the theme alias. + Arn *string `type:"string"` + + // The version number of the theme alias. + ThemeVersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s ServiceNowParameters) String() string { +func (s ThemeAlias) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ServiceNowParameters) GoString() string { +func (s ThemeAlias) 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)) - } +// SetAliasName sets the AliasName field's value. +func (s *ThemeAlias) SetAliasName(v string) *ThemeAlias { + s.AliasName = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *ThemeAlias) SetArn(v string) *ThemeAlias { + s.Arn = &v + return s } -// SetSiteBaseUrl sets the SiteBaseUrl field's value. -func (s *ServiceNowParameters) SetSiteBaseUrl(v string) *ServiceNowParameters { - s.SiteBaseUrl = &v +// SetThemeVersionNumber sets the ThemeVersionNumber field's value. +func (s *ThemeAlias) SetThemeVersionNumber(v int64) *ThemeAlias { + s.ThemeVersionNumber = &v return s } -// The number of minutes specified for the lifetime of a session isn't valid. -// The session lifetime must be 15-600 minutes. -type SessionLifetimeInMinutesInvalidException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The theme configuration. This configuration contains all of the display properties +// for a theme. +type ThemeConfiguration struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // Color properties that apply to chart data colors. + DataColorPalette *DataColorPalette `type:"structure"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // Display options related to sheets. + Sheet *SheetStyle `type:"structure"` + + // Color properties that apply to the UI and to charts, excluding the colors + // that apply to data. + UIColorPalette *UIColorPalette `type:"structure"` } // String returns the string representation -func (s SessionLifetimeInMinutesInvalidException) String() string { +func (s ThemeConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SessionLifetimeInMinutesInvalidException) GoString() string { +func (s ThemeConfiguration) GoString() string { return s.String() } -func newErrorSessionLifetimeInMinutesInvalidException(v protocol.ResponseMetadata) error { - return &SessionLifetimeInMinutesInvalidException{ - RespMetadata: v, - } +// SetDataColorPalette sets the DataColorPalette field's value. +func (s *ThemeConfiguration) SetDataColorPalette(v *DataColorPalette) *ThemeConfiguration { + s.DataColorPalette = v + return s } -// Code returns the exception type name. -func (s *SessionLifetimeInMinutesInvalidException) Code() string { - return "SessionLifetimeInMinutesInvalidException" +// SetSheet sets the Sheet field's value. +func (s *ThemeConfiguration) SetSheet(v *SheetStyle) *ThemeConfiguration { + s.Sheet = v + return s } -// Message returns the exception's message. -func (s *SessionLifetimeInMinutesInvalidException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetUIColorPalette sets the UIColorPalette field's value. +func (s *ThemeConfiguration) SetUIColorPalette(v *UIColorPalette) *ThemeConfiguration { + s.UIColorPalette = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *SessionLifetimeInMinutesInvalidException) OrigErr() error { - return nil +// Theme error. +type ThemeError struct { + _ struct{} `type:"structure"` + + // The error message. + Message *string `type:"string"` + + // The type of error. + Type *string `type:"string" enum:"ThemeErrorType"` } -func (s *SessionLifetimeInMinutesInvalidException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// String returns the string representation +func (s ThemeError) String() string { + return awsutil.Prettify(s) } -// Status code returns the HTTP status code for the request's response error. -func (s *SessionLifetimeInMinutesInvalidException) StatusCode() int { - return s.RespMetadata.StatusCode +// GoString returns the string representation +func (s ThemeError) GoString() string { + return s.String() } -// RequestID returns the service's response RequestID for request. -func (s *SessionLifetimeInMinutesInvalidException) RequestID() string { - return s.RespMetadata.RequestID +// SetMessage sets the Message field's value. +func (s *ThemeError) SetMessage(v string) *ThemeError { + s.Message = &v + return s } -// Sheet controls option. -type SheetControlsOption struct { +// SetType sets the Type field's value. +func (s *ThemeError) SetType(v string) *ThemeError { + s.Type = &v + return s +} + +// The theme summary. +type ThemeSummary struct { _ struct{} `type:"structure"` - // Visibility state. - VisibilityState *string `type:"string" enum:"DashboardUIState"` + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` + + // The date and time that this theme was created. + CreatedTime *time.Time `type:"timestamp"` + + // The last date and time that this theme was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The latest version number for the theme. + LatestVersionNumber *int64 `min:"1" type:"long"` + + // the display name for the theme. + Name *string `min:"1" type:"string"` + + // The ID of the theme. This ID is unique per AWS Region for each AWS account. + ThemeId *string `min:"1" type:"string"` } // String returns the string representation -func (s SheetControlsOption) String() string { +func (s ThemeSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SheetControlsOption) GoString() string { +func (s ThemeSummary) GoString() string { return s.String() } -// SetVisibilityState sets the VisibilityState field's value. -func (s *SheetControlsOption) SetVisibilityState(v string) *SheetControlsOption { - s.VisibilityState = &v +// SetArn sets the Arn field's value. +func (s *ThemeSummary) SetArn(v string) *ThemeSummary { + s.Arn = &v return s } -// Snowflake parameters. -type SnowflakeParameters struct { +// SetCreatedTime sets the CreatedTime field's value. +func (s *ThemeSummary) SetCreatedTime(v time.Time) *ThemeSummary { + s.CreatedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *ThemeSummary) SetLastUpdatedTime(v time.Time) *ThemeSummary { + s.LastUpdatedTime = &v + return s +} + +// SetLatestVersionNumber sets the LatestVersionNumber field's value. +func (s *ThemeSummary) SetLatestVersionNumber(v int64) *ThemeSummary { + s.LatestVersionNumber = &v + return s +} + +// SetName sets the Name field's value. +func (s *ThemeSummary) SetName(v string) *ThemeSummary { + s.Name = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *ThemeSummary) SetThemeId(v string) *ThemeSummary { + s.ThemeId = &v + return s +} + +// A version of a theme. +type ThemeVersion struct { _ struct{} `type:"structure"` - // Database. - // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // The Amazon QuickSight-defined ID of the theme that a custom theme inherits + // from. All themes initially inherit from a default QuickSight theme. + BaseThemeId *string `min:"1" type:"string"` - // Warehouse. - // - // Warehouse is a required field - Warehouse *string `type:"string" required:"true"` + // The theme configuration, which contains all the theme display properties. + Configuration *ThemeConfiguration `type:"structure"` + + // The date and time that this theme version was created. + CreatedTime *time.Time `type:"timestamp"` + + // The description of the theme. + Description *string `min:"1" type:"string"` + + // Errors associated with the theme. + Errors []*ThemeError `min:"1" type:"list"` + + // The status of the theme version. + Status *string `type:"string" enum:"ResourceStatus"` + + // The version number of the theme. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s SnowflakeParameters) String() string { +func (s ThemeVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SnowflakeParameters) GoString() string { +func (s ThemeVersion) 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")) - } +// SetArn sets the Arn field's value. +func (s *ThemeVersion) SetArn(v string) *ThemeVersion { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBaseThemeId sets the BaseThemeId field's value. +func (s *ThemeVersion) SetBaseThemeId(v string) *ThemeVersion { + s.BaseThemeId = &v + return s } -// SetDatabase sets the Database field's value. -func (s *SnowflakeParameters) SetDatabase(v string) *SnowflakeParameters { - s.Database = &v +// SetConfiguration sets the Configuration field's value. +func (s *ThemeVersion) SetConfiguration(v *ThemeConfiguration) *ThemeVersion { + s.Configuration = v return s } -// SetHost sets the Host field's value. -func (s *SnowflakeParameters) SetHost(v string) *SnowflakeParameters { - s.Host = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *ThemeVersion) SetCreatedTime(v time.Time) *ThemeVersion { + s.CreatedTime = &v return s } -// SetWarehouse sets the Warehouse field's value. -func (s *SnowflakeParameters) SetWarehouse(v string) *SnowflakeParameters { - s.Warehouse = &v +// SetDescription sets the Description field's value. +func (s *ThemeVersion) SetDescription(v string) *ThemeVersion { + s.Description = &v return s } -// Spark parameters. -type SparkParameters struct { +// SetErrors sets the Errors field's value. +func (s *ThemeVersion) SetErrors(v []*ThemeError) *ThemeVersion { + s.Errors = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ThemeVersion) SetStatus(v string) *ThemeVersion { + s.Status = &v + return s +} + +// SetVersionNumber sets the VersionNumber field's value. +func (s *ThemeVersion) SetVersionNumber(v int64) *ThemeVersion { + s.VersionNumber = &v + return s +} + +// The theme version. +type ThemeVersionSummary struct { _ struct{} `type:"structure"` - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the theme version. + Arn *string `type:"string"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // The date and time that this theme version was created. + CreatedTime *time.Time `type:"timestamp"` + + // The description of the theme version. + Description *string `min:"1" type:"string"` + + // The status of the theme version. + Status *string `type:"string" enum:"ResourceStatus"` + + // The version number of the theme version. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s SparkParameters) String() string { +func (s ThemeVersionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SparkParameters) GoString() string { +func (s ThemeVersionSummary) 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)) - } +// SetArn sets the Arn field's value. +func (s *ThemeVersionSummary) SetArn(v string) *ThemeVersionSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreatedTime sets the CreatedTime field's value. +func (s *ThemeVersionSummary) SetCreatedTime(v time.Time) *ThemeVersionSummary { + s.CreatedTime = &v + return s } -// SetHost sets the Host field's value. -func (s *SparkParameters) SetHost(v string) *SparkParameters { - s.Host = &v +// SetDescription sets the Description field's value. +func (s *ThemeVersionSummary) SetDescription(v string) *ThemeVersionSummary { + s.Description = &v return s } -// SetPort sets the Port field's value. -func (s *SparkParameters) SetPort(v int64) *SparkParameters { - s.Port = &v +// SetStatus sets the Status field's value. +func (s *ThemeVersionSummary) SetStatus(v string) *ThemeVersionSummary { + s.Status = &v return s } -// SQL Server parameters. -type SqlServerParameters struct { - _ struct{} `type:"structure"` +// SetVersionNumber sets the VersionNumber field's value. +func (s *ThemeVersionSummary) SetVersionNumber(v int64) *ThemeVersionSummary { + s.VersionNumber = &v + return s +} - // Database. - // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` +// Access is throttled. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s SqlServerParameters) String() string { +func (s ThrottlingException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SqlServerParameters) GoString() string { +func (s ThrottlingException) 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)) +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { return nil } -// SetDatabase sets the Database field's value. -func (s *SqlServerParameters) SetDatabase(v string) *SqlServerParameters { - s.Database = &v - return s +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetHost sets the Host field's value. -func (s *SqlServerParameters) SetHost(v string) *SqlServerParameters { - s.Host = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetPort sets the Port field's value. -func (s *SqlServerParameters) SetPort(v int64) *SqlServerParameters { - s.Port = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID } -// Secure Socket Layer (SSL) properties that apply when QuickSight connects -// to your underlying data source. -type SslProperties struct { +// The display options for the layout of tiles on a sheet. +type TileLayoutStyle struct { _ struct{} `type:"structure"` - // A Boolean option to control whether SSL should be disabled. - DisableSsl *bool `type:"boolean"` + // The gutter settings that apply between tiles. + Gutter *GutterStyle `type:"structure"` + + // The margin settings that apply around the outside edge of sheets. + Margin *MarginStyle `type:"structure"` } // String returns the string representation -func (s SslProperties) String() string { +func (s TileLayoutStyle) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SslProperties) GoString() string { +func (s TileLayoutStyle) GoString() string { return s.String() } -// SetDisableSsl sets the DisableSsl field's value. -func (s *SslProperties) SetDisableSsl(v bool) *SslProperties { - s.DisableSsl = &v +// SetGutter sets the Gutter field's value. +func (s *TileLayoutStyle) SetGutter(v *GutterStyle) *TileLayoutStyle { + s.Gutter = v return s } -// String parameter. -type StringParameter struct { - _ struct{} `type:"structure"` +// SetMargin sets the Margin field's value. +func (s *TileLayoutStyle) SetMargin(v *MarginStyle) *TileLayoutStyle { + s.Margin = v + return s +} - // A display name for the dataset. - // - // Name is a required field - Name *string `type:"string" required:"true"` +// Display options related to tiles on a sheet. +type TileStyle struct { + _ struct{} `type:"structure"` - // Values. - // - // Values is a required field - Values []*string `type:"list" required:"true"` + // The border around a tile. + Border *BorderStyle `type:"structure"` } // String returns the string representation -func (s StringParameter) String() string { +func (s TileStyle) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s StringParameter) GoString() string { +func (s TileStyle) 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 +// SetBorder sets the Border field's value. +func (s *TileStyle) SetBorder(v *BorderStyle) *TileStyle { + s.Border = v return s } -// The key or keys of the key-value pairs for the resource tag or tags assigned -// to the resource. -type Tag struct { +// A data transformation on a logical table. This is a variant type structure. +// For this structure to be valid, only one of the attributes can be non-null. +type TransformOperation struct { _ struct{} `type:"structure"` - // Tag key. - // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` + // A transform operation that casts a column to a different type. + CastColumnTypeOperation *CastColumnTypeOperation `type:"structure"` - // Tag value. - // - // Value is a required field - Value *string `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"` + + // 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 Tag) String() string { +func (s TransformOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Tag) 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 *Tag) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Tag"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) +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.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + if s.CreateColumnsOperation != nil { + if err := s.CreateColumnsOperation.Validate(); err != nil { + invalidParams.AddNested("CreateColumnsOperation", err.(request.ErrInvalidParams)) + } } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + if s.FilterOperation != nil { + if err := s.FilterOperation.Validate(); err != nil { + invalidParams.AddNested("FilterOperation", err.(request.ErrInvalidParams)) + } } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + if s.ProjectOperation != nil { + if err := s.ProjectOperation.Validate(); err != nil { + invalidParams.AddNested("ProjectOperation", err.(request.ErrInvalidParams)) + } + } + if s.RenameColumnOperation != nil { + if err := s.RenameColumnOperation.Validate(); err != nil { + invalidParams.AddNested("RenameColumnOperation", err.(request.ErrInvalidParams)) + } + } + if s.TagColumnOperation != nil { + if err := s.TagColumnOperation.Validate(); err != nil { + invalidParams.AddNested("TagColumnOperation", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -19832,128 +26585,81 @@ func (s *Tag) Validate() error { return nil } -// SetKey sets the Key field's value. -func (s *Tag) SetKey(v string) *Tag { - s.Key = &v +// SetCastColumnTypeOperation sets the CastColumnTypeOperation field's value. +func (s *TransformOperation) SetCastColumnTypeOperation(v *CastColumnTypeOperation) *TransformOperation { + s.CastColumnTypeOperation = v return s } -// SetValue sets the Value field's value. -func (s *Tag) SetValue(v string) *Tag { - s.Value = &v +// SetCreateColumnsOperation sets the CreateColumnsOperation field's value. +func (s *TransformOperation) SetCreateColumnsOperation(v *CreateColumnsOperation) *TransformOperation { + s.CreateColumnsOperation = 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() +// SetFilterOperation sets the FilterOperation field's value. +func (s *TransformOperation) SetFilterOperation(v *FilterOperation) *TransformOperation { + s.FilterOperation = v + return s } -// 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 +// SetProjectOperation sets the ProjectOperation field's value. +func (s *TransformOperation) SetProjectOperation(v *ProjectOperation) *TransformOperation { + s.ProjectOperation = v + return s } -// SetColumnName sets the ColumnName field's value. -func (s *TagColumnOperation) SetColumnName(v string) *TagColumnOperation { - s.ColumnName = &v +// SetRenameColumnOperation sets the RenameColumnOperation field's value. +func (s *TransformOperation) SetRenameColumnOperation(v *RenameColumnOperation) *TransformOperation { + s.RenameColumnOperation = v return s } -// SetTags sets the Tags field's value. -func (s *TagColumnOperation) SetTags(v []*ColumnTag) *TagColumnOperation { - s.Tags = v +// SetTagColumnOperation sets the TagColumnOperation field's value. +func (s *TransformOperation) SetTagColumnOperation(v *TagColumnOperation) *TransformOperation { + s.TagColumnOperation = v return s } -type TagResourceInput struct { +// Twitter parameters. +type TwitterParameters struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource that you want to tag. + // Maximum number of rows to query Twitter. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` + // MaxRows is a required field + MaxRows *int64 `min:"1" type:"integer" required:"true"` - // Contains a map of the key-value pairs for the resource tag or tags assigned - // to the resource. + // Twitter query string. // - // Tags is a required field - Tags []*Tag `min:"1" type:"list" required:"true"` + // Query is a required field + Query *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s TagResourceInput) String() string { +func (s TwitterParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagResourceInput) 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 *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)) +func (s *TwitterParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TwitterParameters"} + if s.MaxRows == nil { + invalidParams.Add(request.NewErrParamRequired("MaxRows")) } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) + if s.MaxRows != nil && *s.MaxRows < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxRows", 1)) } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.Query == nil { + invalidParams.Add(request.NewErrParamRequired("Query")) } - 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.Query != nil && len(*s.Query) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Query", 1)) } if invalidParams.Len() > 0 { @@ -19962,249 +26668,292 @@ func (s *TagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// SetMaxRows sets the MaxRows field's value. +func (s *TwitterParameters) SetMaxRows(v int64) *TwitterParameters { + s.MaxRows = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { - s.Tags = v +// SetQuery sets the Query field's value. +func (s *TwitterParameters) SetQuery(v string) *TwitterParameters { + s.Query = &v return s } -type TagResourceOutput struct { +// The theme colors that apply to UI and to charts, excluding data colors. The +// colors description is a hexidecimal color code that consists of six alphanumerical +// characters, prefixed with #, for example #37BFF5. For more information, see +// Using Themes in Amazon QuickSight (https://docs.aws.amazon.com/quicksight/latest/user/themes-in-quicksight.html) +// in the Amazon QuickSight User Guide. +type UIColorPalette struct { _ struct{} `type:"structure"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // This color is that applies to selected states and buttons. + Accent *string `type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` -} + // The foreground color that applies to any text or other elements that appear + // over the accent color. + AccentForeground *string `type:"string"` -// String returns the string representation -func (s TagResourceOutput) String() string { - return awsutil.Prettify(s) -} + // The color that applies to error messages. + Danger *string `type:"string"` -// GoString returns the string representation -func (s TagResourceOutput) GoString() string { - return s.String() -} + // The foreground color that applies to any text or other elements that appear + // over the error color. + DangerForeground *string `type:"string"` -// SetRequestId sets the RequestId field's value. -func (s *TagResourceOutput) SetRequestId(v string) *TagResourceOutput { - s.RequestId = &v - return s -} + // The color that applies to the names of fields that are identified as dimensions. + Dimension *string `type:"string"` -// SetStatus sets the Status field's value. -func (s *TagResourceOutput) SetStatus(v int64) *TagResourceOutput { - s.Status = &v - return s -} + // The foreground color that applies to any text or other elements that appear + // over the dimension color. + DimensionForeground *string `type:"string"` -// A template object. A template is an entity in QuickSight that encapsulates -// the metadata required to create an analysis and that you can use to create -// a dashboard. A template adds a layer of abstraction by using placeholders -// to replace the dataset associated with the analysis. You can use templates -// to create dashboards by replacing dataset placeholders with datasets that -// 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 color that applies to the names of fields that are identified as measures. + Measure *string `type:"string"` - // The Amazon Resource Name (ARN) of the template. - Arn *string `type:"string"` + // The foreground color that applies to any text or other elements that appear + // over the measure color. + MeasureForeground *string `type:"string"` - // Time when this was created. - CreatedTime *time.Time `type:"timestamp"` + // The background color that applies to visuals and other high emphasis UI. + PrimaryBackground *string `type:"string"` - // Time when this was last updated. - LastUpdatedTime *time.Time `type:"timestamp"` + // The color of text and other foreground elements that appear over the primary + // background regions, such as grid lines, borders, table banding, icons, and + // so on. + PrimaryForeground *string `type:"string"` - // The display name of the template. - Name *string `min:"1" type:"string"` + // The background color that applies to the sheet background and sheet controls. + SecondaryBackground *string `type:"string"` - // The ID for the template. This is unique per AWS Region for each AWS account. - TemplateId *string `min:"1" type:"string"` + // The foreground color that applies to any sheet title, sheet control text, + // or UI that appears over the secondary background. + SecondaryForeground *string `type:"string"` - // A structure describing the versions of the template. - Version *TemplateVersion `type:"structure"` + // The color that applies to success messages, for example the check mark for + // a successful download. + Success *string `type:"string"` + + // The foreground color that applies to any text or other elements that appear + // over the success color. + SuccessForeground *string `type:"string"` + + // This color that applies to warning and informational messages. + Warning *string `type:"string"` + + // The foreground color that applies to any text or other elements that appear + // over the warning color. + WarningForeground *string `type:"string"` } // String returns the string representation -func (s Template) String() string { +func (s UIColorPalette) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Template) GoString() string { +func (s UIColorPalette) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Template) SetArn(v string) *Template { - s.Arn = &v +// SetAccent sets the Accent field's value. +func (s *UIColorPalette) SetAccent(v string) *UIColorPalette { + s.Accent = &v return s } -// SetCreatedTime sets the CreatedTime field's value. -func (s *Template) SetCreatedTime(v time.Time) *Template { - s.CreatedTime = &v +// SetAccentForeground sets the AccentForeground field's value. +func (s *UIColorPalette) SetAccentForeground(v string) *UIColorPalette { + s.AccentForeground = &v return s } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *Template) SetLastUpdatedTime(v time.Time) *Template { - s.LastUpdatedTime = &v +// SetDanger sets the Danger field's value. +func (s *UIColorPalette) SetDanger(v string) *UIColorPalette { + s.Danger = &v return s } -// SetName sets the Name field's value. -func (s *Template) SetName(v string) *Template { - s.Name = &v +// SetDangerForeground sets the DangerForeground field's value. +func (s *UIColorPalette) SetDangerForeground(v string) *UIColorPalette { + s.DangerForeground = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *Template) SetTemplateId(v string) *Template { - s.TemplateId = &v +// SetDimension sets the Dimension field's value. +func (s *UIColorPalette) SetDimension(v string) *UIColorPalette { + s.Dimension = &v return s } -// SetVersion sets the Version field's value. -func (s *Template) SetVersion(v *TemplateVersion) *Template { - s.Version = v +// SetDimensionForeground sets the DimensionForeground field's value. +func (s *UIColorPalette) SetDimensionForeground(v string) *UIColorPalette { + s.DimensionForeground = &v return s } -// The template alias. -type TemplateAlias struct { - _ struct{} `type:"structure"` +// SetMeasure sets the Measure field's value. +func (s *UIColorPalette) SetMeasure(v string) *UIColorPalette { + s.Measure = &v + return s +} - // The display name of the template alias. - AliasName *string `min:"1" type:"string"` +// SetMeasureForeground sets the MeasureForeground field's value. +func (s *UIColorPalette) SetMeasureForeground(v string) *UIColorPalette { + s.MeasureForeground = &v + return s +} - // The Amazon Resource Name (ARN) of the template alias. - Arn *string `type:"string"` +// SetPrimaryBackground sets the PrimaryBackground field's value. +func (s *UIColorPalette) SetPrimaryBackground(v string) *UIColorPalette { + s.PrimaryBackground = &v + return s +} - // The version number of the template alias. - TemplateVersionNumber *int64 `min:"1" type:"long"` +// SetPrimaryForeground sets the PrimaryForeground field's value. +func (s *UIColorPalette) SetPrimaryForeground(v string) *UIColorPalette { + s.PrimaryForeground = &v + return s } -// String returns the string representation -func (s TemplateAlias) String() string { - return awsutil.Prettify(s) +// SetSecondaryBackground sets the SecondaryBackground field's value. +func (s *UIColorPalette) SetSecondaryBackground(v string) *UIColorPalette { + s.SecondaryBackground = &v + return s } -// GoString returns the string representation -func (s TemplateAlias) GoString() string { - return s.String() +// SetSecondaryForeground sets the SecondaryForeground field's value. +func (s *UIColorPalette) SetSecondaryForeground(v string) *UIColorPalette { + s.SecondaryForeground = &v + return s } -// SetAliasName sets the AliasName field's value. -func (s *TemplateAlias) SetAliasName(v string) *TemplateAlias { - s.AliasName = &v +// SetSuccess sets the Success field's value. +func (s *UIColorPalette) SetSuccess(v string) *UIColorPalette { + s.Success = &v return s } -// SetArn sets the Arn field's value. -func (s *TemplateAlias) SetArn(v string) *TemplateAlias { - s.Arn = &v +// SetSuccessForeground sets the SuccessForeground field's value. +func (s *UIColorPalette) SetSuccessForeground(v string) *UIColorPalette { + s.SuccessForeground = &v return s } -// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. -func (s *TemplateAlias) SetTemplateVersionNumber(v int64) *TemplateAlias { - s.TemplateVersionNumber = &v +// SetWarning sets the Warning field's value. +func (s *UIColorPalette) SetWarning(v string) *UIColorPalette { + s.Warning = &v return s } -// List of errors that occurred when the template version creation failed. -type TemplateError struct { - _ struct{} `type:"structure"` +// SetWarningForeground sets the WarningForeground field's value. +func (s *UIColorPalette) SetWarningForeground(v string) *UIColorPalette { + s.WarningForeground = &v + return s +} - // Description of the error type. - Message *string `type:"string"` +// 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. +type UnsupportedUserEditionException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Type of error. - Type *string `type:"string" enum:"TemplateErrorType"` + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s TemplateError) String() string { +func (s UnsupportedUserEditionException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateError) GoString() string { +func (s UnsupportedUserEditionException) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *TemplateError) SetMessage(v string) *TemplateError { - s.Message = &v - return s +func newErrorUnsupportedUserEditionException(v protocol.ResponseMetadata) error { + return &UnsupportedUserEditionException{ + RespMetadata: v, + } } -// SetType sets the Type field's value. -func (s *TemplateError) SetType(v string) *TemplateError { - s.Type = &v - return s +// Code returns the exception type name. +func (s *UnsupportedUserEditionException) Code() string { + return "UnsupportedUserEditionException" } -// The source analysis of the template. -type TemplateSourceAnalysis struct { +// Message returns the exception's message. +func (s *UnsupportedUserEditionException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnsupportedUserEditionException) OrigErr() error { + return nil +} + +func (s *UnsupportedUserEditionException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *UnsupportedUserEditionException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnsupportedUserEditionException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. + // The Amazon Resource Name (ARN) of the resource that you want to untag. // - // Arn is a required field - Arn *string `type:"string" required:"true"` + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" 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"` + // 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 TemplateSourceAnalysis) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateSourceAnalysis) GoString() string { +func (s UntagResourceInput) 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")) +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.DataSetReferences == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetReferences")) + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } - if s.DataSetReferences != nil && len(s.DataSetReferences) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetReferences", 1)) + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) } - 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 s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) } if invalidParams.Len() > 0 { @@ -20213,96 +26962,89 @@ func (s *TemplateSourceAnalysis) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *TemplateSourceAnalysis) SetArn(v string) *TemplateSourceAnalysis { - s.Arn = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v return s } -// SetDataSetReferences sets the DataSetReferences field's value. -func (s *TemplateSourceAnalysis) SetDataSetReferences(v []*DataSetReference) *TemplateSourceAnalysis { - s.DataSetReferences = v +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v return s } -// The source entity of the template. -type TemplateSourceEntity struct { +type UntagResourceOutput struct { _ struct{} `type:"structure"` - // The source analysis, if it is based on an analysis. - SourceAnalysis *TemplateSourceAnalysis `type:"structure"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // The source template, if it is based on an template. - SourceTemplate *TemplateSourceTemplate `type:"structure"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s TemplateSourceEntity) String() string { +func (s UntagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateSourceEntity) GoString() string { +func (s UntagResourceOutput) 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 +// SetRequestId sets the RequestId field's value. +func (s *UntagResourceOutput) SetRequestId(v string) *UntagResourceOutput { + s.RequestId = &v return s } -// SetSourceTemplate sets the SourceTemplate field's value. -func (s *TemplateSourceEntity) SetSourceTemplate(v *TemplateSourceTemplate) *TemplateSourceEntity { - s.SourceTemplate = v +// SetStatus sets the Status field's value. +func (s *UntagResourceOutput) SetStatus(v int64) *UntagResourceOutput { + s.Status = &v return s } -// The source template of the template. -type TemplateSourceTemplate struct { +type UpdateAccountCustomizationInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. + // The customizations you want to update in QuickSight. // - // Arn is a required field - Arn *string `type:"string" required:"true"` + // AccountCustomization is a required field + AccountCustomization *AccountCustomization `type:"structure" required:"true"` + + // The ID for the AWS account that you want to update QuickSight customizations + // for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace associated with the customization that you're updating. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` } // String returns the string representation -func (s TemplateSourceTemplate) String() string { +func (s UpdateAccountCustomizationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateSourceTemplate) GoString() string { +func (s UpdateAccountCustomizationInput) 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")) +func (s *UpdateAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAccountCustomizationInput"} + if s.AccountCustomization == nil { + invalidParams.Add(request.NewErrParamRequired("AccountCustomization")) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } if invalidParams.Len() > 0 { @@ -20311,272 +27053,293 @@ func (s *TemplateSourceTemplate) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *TemplateSourceTemplate) SetArn(v string) *TemplateSourceTemplate { - s.Arn = &v +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *UpdateAccountCustomizationInput) SetAccountCustomization(v *AccountCustomization) *UpdateAccountCustomizationInput { + s.AccountCustomization = v return s } -// The template summary. -type TemplateSummary struct { - _ struct{} `type:"structure"` +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateAccountCustomizationInput) SetAwsAccountId(v string) *UpdateAccountCustomizationInput { + s.AwsAccountId = &v + return s +} - // A summary of a template. - Arn *string `type:"string"` +// SetNamespace sets the Namespace field's value. +func (s *UpdateAccountCustomizationInput) SetNamespace(v string) *UpdateAccountCustomizationInput { + s.Namespace = &v + return s +} - // The last time that this template was created. - CreatedTime *time.Time `type:"timestamp"` +type UpdateAccountCustomizationOutput struct { + _ struct{} `type:"structure"` - // The last time that this template was updated. - LastUpdatedTime *time.Time `type:"timestamp"` + // The customizations associated with your QuickSight subscription. + AccountCustomization *AccountCustomization `type:"structure"` - // A structure containing a list of version numbers for the template summary. - LatestVersionNumber *int64 `min:"1" type:"long"` + // The ID for the AWS account that you want to update QuickSight customizations + // for. + AwsAccountId *string `min:"12" type:"string"` - // A display name for the template. - Name *string `min:"1" type:"string"` + // The namespace associated with the customization that you're updating. + Namespace *string `type:"string"` - // The ID of the template. This ID is unique per AWS Region for each AWS account. - TemplateId *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 TemplateSummary) String() string { +func (s UpdateAccountCustomizationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateSummary) GoString() string { +func (s UpdateAccountCustomizationOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *TemplateSummary) SetArn(v string) *TemplateSummary { - s.Arn = &v - return s -} - -// SetCreatedTime sets the CreatedTime field's value. -func (s *TemplateSummary) SetCreatedTime(v time.Time) *TemplateSummary { - s.CreatedTime = &v +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *UpdateAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *UpdateAccountCustomizationOutput { + s.AccountCustomization = v return s } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *TemplateSummary) SetLastUpdatedTime(v time.Time) *TemplateSummary { - s.LastUpdatedTime = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateAccountCustomizationOutput) SetAwsAccountId(v string) *UpdateAccountCustomizationOutput { + s.AwsAccountId = &v return s } -// SetLatestVersionNumber sets the LatestVersionNumber field's value. -func (s *TemplateSummary) SetLatestVersionNumber(v int64) *TemplateSummary { - s.LatestVersionNumber = &v +// SetNamespace sets the Namespace field's value. +func (s *UpdateAccountCustomizationOutput) SetNamespace(v string) *UpdateAccountCustomizationOutput { + s.Namespace = &v return s } -// SetName sets the Name field's value. -func (s *TemplateSummary) SetName(v string) *TemplateSummary { - s.Name = &v +// SetRequestId sets the RequestId field's value. +func (s *UpdateAccountCustomizationOutput) SetRequestId(v string) *UpdateAccountCustomizationOutput { + s.RequestId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *TemplateSummary) SetTemplateId(v string) *TemplateSummary { - s.TemplateId = &v +// SetStatus sets the Status field's value. +func (s *UpdateAccountCustomizationOutput) SetStatus(v int64) *UpdateAccountCustomizationOutput { + s.Status = &v return s } -// A version of a template. -type TemplateVersion struct { +type UpdateAccountSettingsInput struct { _ struct{} `type:"structure"` - // The time that this template version was created. - CreatedTime *time.Time `type:"timestamp"` - - // 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 description of the template. - Description *string `min:"1" type:"string"` - - // Errors associated with the template. - Errors []*TemplateError `min:"1" type:"list"` - - // The Amazon Resource Name (ARN) of the analysis or template which was used - // to create this template. - SourceEntityArn *string `type:"string"` + // The ID for the AWS account that contains the QuickSight namespaces that you + // want to list. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The HTTP status of the request. - Status *string `type:"string" enum:"ResourceStatus"` + // The default namespace for this AWS Account. Currently, the default is default. + // IAM users who register for the first time with QuickSight provide an email + // that becomes associated with the default namespace. + // + // DefaultNamespace is a required field + DefaultNamespace *string `type:"string" required:"true"` - // The version number of the template. - VersionNumber *int64 `min:"1" type:"long"` + // Email address used to send notifications regarding administration of QuickSight. + NotificationEmail *string `type:"string"` } // String returns the string representation -func (s TemplateVersion) String() string { +func (s UpdateAccountSettingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateVersion) GoString() string { +func (s UpdateAccountSettingsInput) GoString() string { return s.String() } -// SetCreatedTime sets the CreatedTime field's value. -func (s *TemplateVersion) SetCreatedTime(v time.Time) *TemplateVersion { - s.CreatedTime = &v - return s -} - -// SetDataSetConfigurations sets the DataSetConfigurations field's value. -func (s *TemplateVersion) SetDataSetConfigurations(v []*DataSetConfiguration) *TemplateVersion { - s.DataSetConfigurations = v - return s -} - -// SetDescription sets the Description field's value. -func (s *TemplateVersion) SetDescription(v string) *TemplateVersion { - s.Description = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAccountSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAccountSettingsInput"} + 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.DefaultNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultNamespace")) + } -// SetErrors sets the Errors field's value. -func (s *TemplateVersion) SetErrors(v []*TemplateError) *TemplateVersion { - s.Errors = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSourceEntityArn sets the SourceEntityArn field's value. -func (s *TemplateVersion) SetSourceEntityArn(v string) *TemplateVersion { - s.SourceEntityArn = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateAccountSettingsInput) SetAwsAccountId(v string) *UpdateAccountSettingsInput { + s.AwsAccountId = &v return s } -// SetStatus sets the Status field's value. -func (s *TemplateVersion) SetStatus(v string) *TemplateVersion { - s.Status = &v +// SetDefaultNamespace sets the DefaultNamespace field's value. +func (s *UpdateAccountSettingsInput) SetDefaultNamespace(v string) *UpdateAccountSettingsInput { + s.DefaultNamespace = &v return s -} - -// SetVersionNumber sets the VersionNumber field's value. -func (s *TemplateVersion) SetVersionNumber(v int64) *TemplateVersion { - s.VersionNumber = &v +} + +// SetNotificationEmail sets the NotificationEmail field's value. +func (s *UpdateAccountSettingsInput) SetNotificationEmail(v string) *UpdateAccountSettingsInput { + s.NotificationEmail = &v return s } -// The template version. -type TemplateVersionSummary struct { +type UpdateAccountSettingsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the template version. - Arn *string `type:"string"` - - // The time that this template version was created. - CreatedTime *time.Time `type:"timestamp"` - - // The description of the template version. - Description *string `min:"1" type:"string"` - - // The status of the template version. - Status *string `type:"string" enum:"ResourceStatus"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // The version number of the template version. - VersionNumber *int64 `min:"1" type:"long"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s TemplateVersionSummary) String() string { +func (s UpdateAccountSettingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateVersionSummary) GoString() string { +func (s UpdateAccountSettingsOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *TemplateVersionSummary) SetArn(v string) *TemplateVersionSummary { - s.Arn = &v - return s -} - -// 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 +// SetRequestId sets the RequestId field's value. +func (s *UpdateAccountSettingsOutput) SetRequestId(v string) *UpdateAccountSettingsOutput { + s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *TemplateVersionSummary) SetStatus(v string) *TemplateVersionSummary { +func (s *UpdateAccountSettingsOutput) SetStatus(v int64) *UpdateAccountSettingsOutput { s.Status = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *TemplateVersionSummary) SetVersionNumber(v int64) *TemplateVersionSummary { - s.VersionNumber = &v - return s -} - -// Teradata parameters. -type TeradataParameters struct { +type UpdateDashboardInput struct { _ struct{} `type:"structure"` - // Database. + // The ID of the AWS account that contains the dashboard that you're updating. // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Host. + // The ID for the dashboard. // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // Port. + // Options for publishing the dashboard when you create it: // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // * AvailabilityStatus for AdHocFilteringOption - This status can be either + // ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables + // the left filter pane on the published dashboard, which can be used for + // ad hoc (one-time) filtering. This option is ENABLED by default. + // + // * AvailabilityStatus for ExportToCSVOption - This status can be either + // ENABLED or DISABLED. The visual option to export data to .csv format isn't + // enabled when this is set to DISABLED. This option is ENABLED by default. + // + // * VisibilityState for SheetControlsOption - This visibility state can + // be either COLLAPSED or EXPANDED. This option is 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. These are parameter + // overrides for a dashboard. A dashboard can have any type of parameters, and + // some parameters might accept multiple values. + Parameters *Parameters `type:"structure"` + + // The entity that you are using as a source when you update the dashboard. + // In SourceEntity, you specify the type of object you're using as source. You + // can only update a dashboard from a template, so you use a SourceTemplate + // entity. If you need to update a dashboard from an analysis, first convert + // the analysis to a template by using the CreateTemplate API operation. For + // SourceTemplate, specify the Amazon Resource Name (ARN) of the source template. + // The SourceTemplate ARN can contain any AWS Account and any QuickSight-supported + // AWS Region. + // + // Use the DataSetReferences entity within SourceTemplate to list the replacement + // datasets for the placeholders listed in the original. The schema in each + // dataset must match its placeholder. + // + // SourceEntity is a required field + SourceEntity *DashboardSourceEntity `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. + // If you add a value for this field, it overrides the value that was originally + // associated with the entity. The theme ARN must exist in the same AWS account + // where you create the dashboard. + ThemeArn *string `type:"string"` + + // A description for the first version of the dashboard being created. + VersionDescription *string `min:"1" type:"string"` } // String returns the string representation -func (s TeradataParameters) String() string { +func (s UpdateDashboardInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TeradataParameters) 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 *TeradataParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TeradataParameters"} - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) +func (s *UpdateDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 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 { @@ -20585,234 +27348,187 @@ func (s *TeradataParameters) Validate() error { return nil } -// SetDatabase sets the Database field's value. -func (s *TeradataParameters) SetDatabase(v string) *TeradataParameters { - s.Database = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateDashboardInput) SetAwsAccountId(v string) *UpdateDashboardInput { + s.AwsAccountId = &v return s } -// SetHost sets the Host field's value. -func (s *TeradataParameters) SetHost(v string) *TeradataParameters { - s.Host = &v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardInput) SetDashboardId(v string) *UpdateDashboardInput { + s.DashboardId = &v return s } -// SetPort sets the Port field's value. -func (s *TeradataParameters) SetPort(v int64) *TeradataParameters { - s.Port = &v +// SetDashboardPublishOptions sets the DashboardPublishOptions field's value. +func (s *UpdateDashboardInput) SetDashboardPublishOptions(v *DashboardPublishOptions) *UpdateDashboardInput { + s.DashboardPublishOptions = v return s } -// Access is throttled. -type ThrottlingException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` - - // The AWS request ID for this request. - RequestId *string `type:"string"` -} - -// String returns the string representation -func (s ThrottlingException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ThrottlingException) GoString() string { - return s.String() -} - -func newErrorThrottlingException(v protocol.ResponseMetadata) error { - return &ThrottlingException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ThrottlingException) Code() string { - return "ThrottlingException" -} - -// Message returns the exception's message. -func (s *ThrottlingException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetName sets the Name field's value. +func (s *UpdateDashboardInput) SetName(v string) *UpdateDashboardInput { + s.Name = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ThrottlingException) OrigErr() error { - return nil +// SetParameters sets the Parameters field's value. +func (s *UpdateDashboardInput) SetParameters(v *Parameters) *UpdateDashboardInput { + s.Parameters = v + return s } -func (s *ThrottlingException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetSourceEntity sets the SourceEntity field's value. +func (s *UpdateDashboardInput) SetSourceEntity(v *DashboardSourceEntity) *UpdateDashboardInput { + s.SourceEntity = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ThrottlingException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetThemeArn sets the ThemeArn field's value. +func (s *UpdateDashboardInput) SetThemeArn(v string) *UpdateDashboardInput { + s.ThemeArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ThrottlingException) RequestID() string { - return s.RespMetadata.RequestID +// SetVersionDescription sets the VersionDescription field's value. +func (s *UpdateDashboardInput) SetVersionDescription(v string) *UpdateDashboardInput { + s.VersionDescription = &v + return s } -// A data transformation on a logical table. This is a variant type structure. -// For this structure to be valid, only one of the attributes can be non-null. -type TransformOperation struct { +type UpdateDashboardOutput struct { _ struct{} `type:"structure"` - // A transform operation that casts a column to a different type. - CastColumnTypeOperation *CastColumnTypeOperation `type:"structure"` + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` - // An operation that creates calculated columns. Columns created in one such - // operation form a lexical closure. - CreateColumnsOperation *CreateColumnsOperation `type:"structure"` + // The creation status of the request. + CreationStatus *string `type:"string" enum:"ResourceStatus"` - // An operation that filters rows based on some condition. - FilterOperation *FilterOperation `type:"structure"` + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` - // An operation that projects columns. Operations that come after a projection - // can only refer to projected columns. - ProjectOperation *ProjectOperation `type:"structure"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // An operation that renames a column. - RenameColumnOperation *RenameColumnOperation `type:"structure"` + // The HTTP status of the request. + Status *int64 `type:"integer"` - // An operation that tags a column with additional information. - TagColumnOperation *TagColumnOperation `type:"structure"` + // The ARN of the dashboard, including the version number. + VersionArn *string `type:"string"` } // String returns the string representation -func (s TransformOperation) String() string { +func (s UpdateDashboardOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TransformOperation) GoString() string { +func (s UpdateDashboardOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -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.CreateColumnsOperation != nil { - if err := s.CreateColumnsOperation.Validate(); err != nil { - invalidParams.AddNested("CreateColumnsOperation", err.(request.ErrInvalidParams)) - } - } - if s.FilterOperation != nil { - if err := s.FilterOperation.Validate(); err != nil { - invalidParams.AddNested("FilterOperation", err.(request.ErrInvalidParams)) - } - } - if s.ProjectOperation != nil { - if err := s.ProjectOperation.Validate(); err != nil { - invalidParams.AddNested("ProjectOperation", err.(request.ErrInvalidParams)) - } - } - if s.RenameColumnOperation != nil { - if err := s.RenameColumnOperation.Validate(); err != nil { - invalidParams.AddNested("RenameColumnOperation", err.(request.ErrInvalidParams)) - } - } - if s.TagColumnOperation != nil { - if err := s.TagColumnOperation.Validate(); err != nil { - invalidParams.AddNested("TagColumnOperation", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCastColumnTypeOperation sets the CastColumnTypeOperation field's value. -func (s *TransformOperation) SetCastColumnTypeOperation(v *CastColumnTypeOperation) *TransformOperation { - s.CastColumnTypeOperation = v +// SetArn sets the Arn field's value. +func (s *UpdateDashboardOutput) SetArn(v string) *UpdateDashboardOutput { + s.Arn = &v return s } -// SetCreateColumnsOperation sets the CreateColumnsOperation field's value. -func (s *TransformOperation) SetCreateColumnsOperation(v *CreateColumnsOperation) *TransformOperation { - s.CreateColumnsOperation = v +// SetCreationStatus sets the CreationStatus field's value. +func (s *UpdateDashboardOutput) SetCreationStatus(v string) *UpdateDashboardOutput { + s.CreationStatus = &v return s } -// SetFilterOperation sets the FilterOperation field's value. -func (s *TransformOperation) SetFilterOperation(v *FilterOperation) *TransformOperation { - s.FilterOperation = v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardOutput) SetDashboardId(v string) *UpdateDashboardOutput { + s.DashboardId = &v return s } -// SetProjectOperation sets the ProjectOperation field's value. -func (s *TransformOperation) SetProjectOperation(v *ProjectOperation) *TransformOperation { - s.ProjectOperation = v +// SetRequestId sets the RequestId field's value. +func (s *UpdateDashboardOutput) SetRequestId(v string) *UpdateDashboardOutput { + s.RequestId = &v return s } -// SetRenameColumnOperation sets the RenameColumnOperation field's value. -func (s *TransformOperation) SetRenameColumnOperation(v *RenameColumnOperation) *TransformOperation { - s.RenameColumnOperation = v +// SetStatus sets the Status field's value. +func (s *UpdateDashboardOutput) SetStatus(v int64) *UpdateDashboardOutput { + s.Status = &v return s } -// SetTagColumnOperation sets the TagColumnOperation field's value. -func (s *TransformOperation) SetTagColumnOperation(v *TagColumnOperation) *TransformOperation { - s.TagColumnOperation = v +// SetVersionArn sets the VersionArn field's value. +func (s *UpdateDashboardOutput) SetVersionArn(v string) *UpdateDashboardOutput { + s.VersionArn = &v return s } -// Twitter parameters. -type TwitterParameters struct { +type UpdateDashboardPermissionsInput struct { _ struct{} `type:"structure"` - // Maximum number of rows to query Twitter. + // The ID of the AWS account that contains the dashboard whose permissions you're + // updating. // - // MaxRows is a required field - MaxRows *int64 `min:"1" type:"integer" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Twitter query string. + // The ID for the dashboard. // - // Query is a required field - Query *string `min:"1" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // The permissions that you want to grant on this resource. + GrantPermissions []*ResourcePermission `type:"list"` + + // The permissions that you want to revoke from this resource. + RevokePermissions []*ResourcePermission `type:"list"` } // String returns the string representation -func (s TwitterParameters) String() string { +func (s UpdateDashboardPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TwitterParameters) 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 *TwitterParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TwitterParameters"} - if s.MaxRows == nil { - invalidParams.Add(request.NewErrParamRequired("MaxRows")) +func (s *UpdateDashboardPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.MaxRows != nil && *s.MaxRows < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxRows", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Query == nil { - invalidParams.Add(request.NewErrParamRequired("Query")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.Query != nil && len(*s.Query) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Query", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 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 { @@ -20821,119 +27537,138 @@ func (s *TwitterParameters) Validate() error { return nil } -// SetMaxRows sets the MaxRows field's value. -func (s *TwitterParameters) SetMaxRows(v int64) *TwitterParameters { - s.MaxRows = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateDashboardPermissionsInput) SetAwsAccountId(v string) *UpdateDashboardPermissionsInput { + s.AwsAccountId = &v return s } -// SetQuery sets the Query field's value. -func (s *TwitterParameters) SetQuery(v string) *TwitterParameters { - s.Query = &v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPermissionsInput) SetDashboardId(v string) *UpdateDashboardPermissionsInput { + s.DashboardId = &v return s } -// 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. -type UnsupportedUserEditionException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateDashboardPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { + s.GrantPermissions = v + return s +} - Message_ *string `locationName:"Message" type:"string"` +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateDashboardPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { + s.RevokePermissions = v + return s +} - // The AWS request ID for this request. +type UpdateDashboardPermissionsOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (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"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s UnsupportedUserEditionException) String() string { +func (s UpdateDashboardPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UnsupportedUserEditionException) GoString() string { +func (s UpdateDashboardPermissionsOutput) GoString() string { return s.String() } -func newErrorUnsupportedUserEditionException(v protocol.ResponseMetadata) error { - return &UnsupportedUserEditionException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *UnsupportedUserEditionException) Code() string { - return "UnsupportedUserEditionException" -} - -// Message returns the exception's message. -func (s *UnsupportedUserEditionException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetDashboardArn sets the DashboardArn field's value. +func (s *UpdateDashboardPermissionsOutput) SetDashboardArn(v string) *UpdateDashboardPermissionsOutput { + s.DashboardArn = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *UnsupportedUserEditionException) OrigErr() error { - return nil +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPermissionsOutput) SetDashboardId(v string) *UpdateDashboardPermissionsOutput { + s.DashboardId = &v + return s } -func (s *UnsupportedUserEditionException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetPermissions sets the Permissions field's value. +func (s *UpdateDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsOutput { + s.Permissions = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *UnsupportedUserEditionException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRequestId sets the RequestId field's value. +func (s *UpdateDashboardPermissionsOutput) SetRequestId(v string) *UpdateDashboardPermissionsOutput { + s.RequestId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *UnsupportedUserEditionException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatus sets the Status field's value. +func (s *UpdateDashboardPermissionsOutput) SetStatus(v int64) *UpdateDashboardPermissionsOutput { + s.Status = &v + return s } -type UntagResourceInput struct { +type UpdateDashboardPublishedVersionInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource that you want to untag. + // The ID of the AWS account that contains the dashboard that you're updating. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The keys of the key-value pairs for the resource tag or tags assigned to - // the resource. + // The ID for the dashboard. // - // TagKeys is a required field - TagKeys []*string `location:"querystring" locationName:"keys" min:"1" type:"list" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // The version number of the dashboard. + // + // VersionNumber is a required field + VersionNumber *int64 `location:"uri" locationName:"VersionNumber" min:"1" type:"long" required:"true"` } // String returns the string representation -func (s UntagResourceInput) String() string { +func (s UpdateDashboardPublishedVersionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceInput) 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 *UntagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *UpdateDashboardPublishedVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPublishedVersionInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.TagKeys != nil && len(s.TagKeys) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 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 { @@ -20942,21 +27677,33 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateDashboardPublishedVersionInput) SetAwsAccountId(v string) *UpdateDashboardPublishedVersionInput { + s.AwsAccountId = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPublishedVersionInput) SetDashboardId(v string) *UpdateDashboardPublishedVersionInput { + s.DashboardId = &v return s } -type UntagResourceOutput struct { +// SetVersionNumber sets the VersionNumber field's value. +func (s *UpdateDashboardPublishedVersionInput) SetVersionNumber(v int64) *UpdateDashboardPublishedVersionInput { + s.VersionNumber = &v + return s +} + +type UpdateDashboardPublishedVersionOutput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (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"` @@ -20965,109 +27712,113 @@ type UntagResourceOutput struct { } // String returns the string representation -func (s UntagResourceOutput) String() string { +func (s UpdateDashboardPublishedVersionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceOutput) GoString() string { +func (s UpdateDashboardPublishedVersionOutput) GoString() string { return s.String() } +// 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 *UntagResourceOutput) SetRequestId(v string) *UntagResourceOutput { +func (s *UpdateDashboardPublishedVersionOutput) SetRequestId(v string) *UpdateDashboardPublishedVersionOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UntagResourceOutput) SetStatus(v int64) *UntagResourceOutput { +func (s *UpdateDashboardPublishedVersionOutput) SetStatus(v int64) *UpdateDashboardPublishedVersionOutput { s.Status = &v return s } -type UpdateDashboardInput struct { +type UpdateDataSetInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're updating. + // 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. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" 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"` - // Options for publishing the dashboard when you create it: - // - // * AvailabilityStatus for AdHocFilteringOption - This status can be either - // ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables - // the left filter pane on the published dashboard, which can be used for - // ad hoc (one-time) filtering. This option is ENABLED by default. + // The ID for the dataset that you want to update. This ID is unique per AWS + // Region for each AWS account. // - // * AvailabilityStatus for ExportToCSVOption - This status can be either - // ENABLED or DISABLED. The visual option to export data to .csv format isn't - // enabled when this is set to DISABLED. This option is ENABLED by default. + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + + // Indicates whether you want to import the data into SPICE. // - // * VisibilityState for SheetControlsOption - This visibility state can - // be either COLLAPSED or EXPANDED. This option is COLLAPSED by default. - DashboardPublishOptions *DashboardPublishOptions `type:"structure"` + // ImportMode is a required field + ImportMode *string `type:"string" required:"true" enum:"DataSetImportMode"` - // The display name of the dashboard. + // 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 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. - Parameters *Parameters `type:"structure"` - - // The entity that you are using as a source when you update the dashboard. - // In SourceEntity, you specify the type of object you're using as source. You - // can only update a dashboard from a template, so you use a SourceTemplate - // entity. If you need to update a dashboard from an analysis, first convert - // the analysis to a template by using the CreateTemplate API operation. For - // SourceTemplate, specify the Amazon Resource Name (ARN) of the source template. - // The SourceTemplate ARN can contain any AWS Account and any QuickSight-supported - // AWS Region. - // - // Use the DataSetReferences entity within SourceTemplate to list the replacement - // datasets for the placeholders listed in the original. The schema in each - // dataset must match its placeholder. + // Declares the physical tables that are available in the underlying data sources. // - // SourceEntity is a required field - SourceEntity *DashboardSourceEntity `type:"structure" required:"true"` + // PhysicalTableMap is a required field + PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map" required:"true"` - // A description for the first version of the dashboard being created. - VersionDescription *string `min:"1" type:"string"` + // The row-level security configuration for the data you want to create. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` } // String returns the string representation -func (s UpdateDashboardInput) String() string { +func (s UpdateDataSetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardInput) 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 *UpdateDashboardInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardInput"} +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.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) + if s.ColumnGroups != nil && len(s.ColumnGroups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnGroups", 1)) } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + 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.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")) @@ -21075,20 +27826,45 @@ func (s *UpdateDashboardInput) Validate() error { 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.PhysicalTableMap == nil { + invalidParams.Add(request.NewErrParamRequired("PhysicalTableMap")) } - if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + if s.PhysicalTableMap != nil && len(s.PhysicalTableMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PhysicalTableMap", 1)) } - if s.Parameters != nil { - if err := s.Parameters.Validate(); err != nil { - invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + 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.SourceEntity != nil { - if err := s.SourceEntity.Validate(); err != nil { - invalidParams.AddNested("SourceEntity", 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)) } } @@ -21099,160 +27875,169 @@ func (s *UpdateDashboardInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDashboardInput) SetAwsAccountId(v string) *UpdateDashboardInput { +func (s *UpdateDataSetInput) SetAwsAccountId(v string) *UpdateDataSetInput { s.AwsAccountId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardInput) SetDashboardId(v string) *UpdateDashboardInput { - s.DashboardId = &v +// SetColumnGroups sets the ColumnGroups field's value. +func (s *UpdateDataSetInput) SetColumnGroups(v []*ColumnGroup) *UpdateDataSetInput { + s.ColumnGroups = v return s } -// SetDashboardPublishOptions sets the DashboardPublishOptions field's value. -func (s *UpdateDashboardInput) SetDashboardPublishOptions(v *DashboardPublishOptions) *UpdateDashboardInput { - s.DashboardPublishOptions = v +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetInput) SetDataSetId(v string) *UpdateDataSetInput { + s.DataSetId = &v + return s +} + +// 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 *UpdateDashboardInput) SetName(v string) *UpdateDashboardInput { +func (s *UpdateDataSetInput) SetName(v string) *UpdateDataSetInput { 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 +// SetPhysicalTableMap sets the PhysicalTableMap field's value. +func (s *UpdateDataSetInput) SetPhysicalTableMap(v map[string]*PhysicalTable) *UpdateDataSetInput { + s.PhysicalTableMap = v return s } -// SetVersionDescription sets the VersionDescription field's value. -func (s *UpdateDashboardInput) SetVersionDescription(v string) *UpdateDashboardInput { - s.VersionDescription = &v +// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. +func (s *UpdateDataSetInput) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *UpdateDataSetInput { + s.RowLevelPermissionDataSet = v return s } -type UpdateDashboardOutput struct { +type UpdateDataSetOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. + // The Amazon Resource Name (ARN) of the dataset. Arn *string `type:"string"` - // The creation status of the request. - CreationStatus *string `type:"string" enum:"ResourceStatus"` + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + DataSetId *string `type:"string"` - // The ID for the dashboard. - DashboardId *string `min:"1" type:"string"` + // The 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 `type:"integer"` - - // The ARN of the dashboard, including the version number. - VersionArn *string `type:"string"` + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s UpdateDashboardOutput) String() string { +func (s UpdateDataSetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardOutput) GoString() string { +func (s UpdateDataSetOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *UpdateDashboardOutput) SetArn(v string) *UpdateDashboardOutput { +func (s *UpdateDataSetOutput) SetArn(v string) *UpdateDataSetOutput { s.Arn = &v return s } -// SetCreationStatus sets the CreationStatus field's value. -func (s *UpdateDashboardOutput) SetCreationStatus(v string) *UpdateDashboardOutput { - s.CreationStatus = &v +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetOutput) SetDataSetId(v string) *UpdateDataSetOutput { + s.DataSetId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardOutput) SetDashboardId(v string) *UpdateDashboardOutput { - s.DashboardId = &v +// 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 *UpdateDashboardOutput) SetRequestId(v string) *UpdateDashboardOutput { +func (s *UpdateDataSetOutput) SetRequestId(v string) *UpdateDataSetOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDashboardOutput) SetStatus(v int64) *UpdateDashboardOutput { +func (s *UpdateDataSetOutput) SetStatus(v int64) *UpdateDataSetOutput { s.Status = &v return s } -// SetVersionArn sets the VersionArn field's value. -func (s *UpdateDashboardOutput) SetVersionArn(v string) *UpdateDashboardOutput { - s.VersionArn = &v - return s -} - -type UpdateDashboardPermissionsInput struct { +type UpdateDataSetPermissionsInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard whose permissions you're - // updating. + // 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. + // The ID for the dataset whose permissions you want to update. This ID is unique + // per AWS Region for each AWS account. // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - // The permissions that you want to grant on this resource. + // The resource permissions that you want to grant to the dataset. GrantPermissions []*ResourcePermission `min:"1" type:"list"` - // The permissions that you want to revoke from this resource. + // The resource permissions that you want to revoke from the dataset. RevokePermissions []*ResourcePermission `min:"1" type:"list"` } // String returns the string representation -func (s UpdateDashboardPermissionsInput) String() string { +func (s UpdateDataSetPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardPermissionsInput) 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 *UpdateDashboardPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPermissionsInput"} +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.GrantPermissions != nil && len(s.GrantPermissions) < 1 { invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) @@ -21288,40 +28073,38 @@ func (s *UpdateDashboardPermissionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDashboardPermissionsInput) SetAwsAccountId(v string) *UpdateDashboardPermissionsInput { +func (s *UpdateDataSetPermissionsInput) SetAwsAccountId(v string) *UpdateDataSetPermissionsInput { s.AwsAccountId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardPermissionsInput) SetDashboardId(v string) *UpdateDashboardPermissionsInput { - s.DashboardId = &v +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetPermissionsInput) SetDataSetId(v string) *UpdateDataSetPermissionsInput { + s.DataSetId = &v return s } // SetGrantPermissions sets the GrantPermissions field's value. -func (s *UpdateDashboardPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { +func (s *UpdateDataSetPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { s.GrantPermissions = v return s } // SetRevokePermissions sets the RevokePermissions field's value. -func (s *UpdateDashboardPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { +func (s *UpdateDataSetPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { s.RevokePermissions = v return s } -type UpdateDashboardPermissionsOutput struct { +type UpdateDataSetPermissionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dashboard. - DashboardArn *string `type:"string"` - - // The ID for the dashboard. - DashboardId *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the dataset. + DataSetArn *string `type:"string"` - // Information about the permissions on the dashboard. - Permissions []*ResourcePermission `min:"1" type:"list"` + // The ID for the dataset whose permissions you want to update. This ID is unique + // per AWS Region for each AWS account. + DataSetId *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -21331,171 +28114,230 @@ type UpdateDashboardPermissionsOutput struct { } // String returns the string representation -func (s UpdateDashboardPermissionsOutput) String() string { +func (s UpdateDataSetPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardPermissionsOutput) GoString() string { +func (s UpdateDataSetPermissionsOutput) 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 +// SetDataSetArn sets the DataSetArn field's value. +func (s *UpdateDataSetPermissionsOutput) SetDataSetArn(v string) *UpdateDataSetPermissionsOutput { + s.DataSetArn = &v return s } -// SetPermissions sets the Permissions field's value. -func (s *UpdateDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsOutput { - s.Permissions = v +// 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 *UpdateDashboardPermissionsOutput) SetRequestId(v string) *UpdateDashboardPermissionsOutput { +func (s *UpdateDataSetPermissionsOutput) SetRequestId(v string) *UpdateDataSetPermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDashboardPermissionsOutput) SetStatus(v int64) *UpdateDashboardPermissionsOutput { +func (s *UpdateDataSetPermissionsOutput) SetStatus(v int64) *UpdateDataSetPermissionsOutput { s.Status = &v return s } -type UpdateDashboardPublishedVersionInput struct { +type UpdateDataSourceInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're updating. + // 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. + // The credentials that QuickSight that uses to connect to your underlying source. + // Currently, only credentials based on user name and password are supported. + Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` + + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` - // The version number of the dashboard. + // The parameters that QuickSight uses to connect to your underlying source. + DataSourceParameters *DataSourceParameters `type:"structure"` + + // A display name for the data source. // - // VersionNumber is a required field - VersionNumber *int64 `location:"uri" locationName:"VersionNumber" min:"1" type:"long" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Secure Socket Layer (SSL) properties that apply when QuickSight connects + // to your underlying source. + SslProperties *SslProperties `type:"structure"` + + // 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 UpdateDashboardPublishedVersionInput) String() string { +func (s UpdateDataSourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardPublishedVersionInput) GoString() string { +func (s UpdateDataSourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateDashboardPublishedVersionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPublishedVersionInput"} +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.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) } - if s.VersionNumber == nil { - invalidParams.Add(request.NewErrParamRequired("VersionNumber")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.VersionNumber != nil && *s.VersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + 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 + 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 +} + +// SetDataSourceParameters sets the DataSourceParameters field's value. +func (s *UpdateDataSourceInput) SetDataSourceParameters(v *DataSourceParameters) *UpdateDataSourceInput { + s.DataSourceParameters = v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDashboardPublishedVersionInput) SetAwsAccountId(v string) *UpdateDashboardPublishedVersionInput { - s.AwsAccountId = &v +// SetName sets the Name field's value. +func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput { + s.Name = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardPublishedVersionInput) SetDashboardId(v string) *UpdateDashboardPublishedVersionInput { - s.DashboardId = &v +// SetSslProperties sets the SslProperties field's value. +func (s *UpdateDataSourceInput) SetSslProperties(v *SslProperties) *UpdateDataSourceInput { + s.SslProperties = v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *UpdateDashboardPublishedVersionInput) SetVersionNumber(v int64) *UpdateDashboardPublishedVersionInput { - s.VersionNumber = &v +// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. +func (s *UpdateDataSourceInput) SetVpcConnectionProperties(v *VpcConnectionProperties) *UpdateDataSourceInput { + s.VpcConnectionProperties = v return s } -type UpdateDashboardPublishedVersionOutput struct { +type UpdateDataSourceOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dashboard. - DashboardArn *string `type:"string"` + // The Amazon Resource Name (ARN) of the data source. + Arn *string `type:"string"` - // The ID for the dashboard. - DashboardId *string `min:"1" type:"string"` + // The ID of the data source. This ID is unique per AWS Region for each 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 UpdateDashboardPublishedVersionOutput) String() string { +func (s UpdateDataSourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardPublishedVersionOutput) GoString() string { +func (s UpdateDataSourceOutput) GoString() string { return s.String() } -// SetDashboardArn sets the DashboardArn field's value. -func (s *UpdateDashboardPublishedVersionOutput) SetDashboardArn(v string) *UpdateDashboardPublishedVersionOutput { - s.DashboardArn = &v +// SetArn sets the Arn field's value. +func (s *UpdateDataSourceOutput) SetArn(v string) *UpdateDataSourceOutput { + s.Arn = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardPublishedVersionOutput) SetDashboardId(v string) *UpdateDashboardPublishedVersionOutput { - s.DashboardId = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourceOutput) SetDataSourceId(v string) *UpdateDataSourceOutput { + s.DataSourceId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateDashboardPublishedVersionOutput) SetRequestId(v string) *UpdateDashboardPublishedVersionOutput { +func (s *UpdateDataSourceOutput) SetRequestId(v string) *UpdateDataSourceOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDashboardPublishedVersionOutput) SetStatus(v int64) *UpdateDashboardPublishedVersionOutput { +func (s *UpdateDataSourceOutput) SetStatus(v int64) *UpdateDataSourceOutput { s.Status = &v return s } -type UpdateDataSetInput struct { +// 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 AWS account ID. @@ -21503,120 +28345,70 @@ type UpdateDataSetInput struct { // 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"` - - // The ID for the dataset that you want to update. This ID is unique per AWS - // Region for each AWS account. - // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - - // Indicates whether 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. + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" 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"` + // A list of resource permissions that you want to grant on the data source. + GrantPermissions []*ResourcePermission `min:"1" type:"list"` - // The row-level security configuration for the data you want to create. - RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` + // 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 UpdateDataSetInput) String() string { +func (s UpdateDataSourcePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSetInput) 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 *UpdateDataSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDataSetInput"} +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.ColumnGroups != nil && len(s.ColumnGroups) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnGroups", 1)) - } - 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.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.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) } - if s.PhysicalTableMap == nil { - invalidParams.Add(request.NewErrParamRequired("PhysicalTableMap")) + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) } - if s.PhysicalTableMap != nil && len(s.PhysicalTableMap) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PhysicalTableMap", 1)) + if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 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.RevokePermissions != nil && len(s.RevokePermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) } - if s.LogicalTableMap != nil { - for i, v := range s.LogicalTableMap { + 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]", "LogicalTableMap", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) } } } - if s.PhysicalTableMap != nil { - for i, v := range s.PhysicalTableMap { + 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]", "PhysicalTableMap", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", 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 { return invalidParams @@ -21625,70 +28417,38 @@ func (s *UpdateDataSetInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDataSetInput) SetAwsAccountId(v string) *UpdateDataSetInput { +func (s *UpdateDataSourcePermissionsInput) SetAwsAccountId(v string) *UpdateDataSourcePermissionsInput { s.AwsAccountId = &v return s } -// SetColumnGroups sets the ColumnGroups field's value. -func (s *UpdateDataSetInput) SetColumnGroups(v []*ColumnGroup) *UpdateDataSetInput { - s.ColumnGroups = v - return s -} - -// SetDataSetId sets the DataSetId field's value. -func (s *UpdateDataSetInput) SetDataSetId(v string) *UpdateDataSetInput { - s.DataSetId = &v - return s -} - -// 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 +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourcePermissionsInput) SetDataSourceId(v string) *UpdateDataSourcePermissionsInput { + s.DataSourceId = &v return s } -// SetPhysicalTableMap sets the PhysicalTableMap field's value. -func (s *UpdateDataSetInput) SetPhysicalTableMap(v map[string]*PhysicalTable) *UpdateDataSetInput { - s.PhysicalTableMap = v +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateDataSourcePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { + s.GrantPermissions = v return s } -// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. -func (s *UpdateDataSetInput) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *UpdateDataSetInput { - s.RowLevelPermissionDataSet = v +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateDataSourcePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { + s.RevokePermissions = v return s } -type UpdateDataSetOutput struct { +type UpdateDataSourcePermissionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dataset. - Arn *string `type:"string"` - - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - DataSetId *string `type:"string"` - - // The ARN for the ingestion, which is triggered as a result of dataset creation - // if the import mode is SPICE. - IngestionArn *string `type:"string"` + // The Amazon Resource Name (ARN) of the data source. + DataSourceArn *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 ID of the data source. This ID is unique per AWS Region for each AWS + // account. + DataSourceId *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -21698,122 +28458,95 @@ type UpdateDataSetOutput struct { } // String returns the string representation -func (s UpdateDataSetOutput) String() string { +func (s UpdateDataSourcePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSetOutput) GoString() string { +func (s UpdateDataSourcePermissionsOutput) 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 +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *UpdateDataSourcePermissionsOutput) SetDataSourceArn(v string) *UpdateDataSourcePermissionsOutput { + s.DataSourceArn = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *UpdateDataSetOutput) SetIngestionId(v string) *UpdateDataSetOutput { - s.IngestionId = &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 *UpdateDataSetOutput) SetRequestId(v string) *UpdateDataSetOutput { +func (s *UpdateDataSourcePermissionsOutput) SetRequestId(v string) *UpdateDataSourcePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDataSetOutput) SetStatus(v int64) *UpdateDataSetOutput { +func (s *UpdateDataSourcePermissionsOutput) SetStatus(v int64) *UpdateDataSourcePermissionsOutput { s.Status = &v return s } -type UpdateDataSetPermissionsInput struct { +type UpdateGroupInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // 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 ID for the dataset whose permissions you want to update. This ID is unique - // per AWS Region for each AWS account. - // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // The description for the group that you want to update. + Description *string `min:"1" type:"string"` - // The resource permissions that you want to grant to the dataset. - GrantPermissions []*ResourcePermission `min:"1" type:"list"` + // 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 resource permissions that you want to revoke from the dataset. - RevokePermissions []*ResourcePermission `min:"1" type:"list"` + // 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 UpdateDataSetPermissionsInput) String() string { +func (s UpdateGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSetPermissionsInput) 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 *UpdateDataSetPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDataSetPermissionsInput"} +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.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + 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.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.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - 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 s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } if invalidParams.Len() > 0 { @@ -21823,38 +28556,34 @@ func (s *UpdateDataSetPermissionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDataSetPermissionsInput) SetAwsAccountId(v string) *UpdateDataSetPermissionsInput { +func (s *UpdateGroupInput) SetAwsAccountId(v string) *UpdateGroupInput { s.AwsAccountId = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *UpdateDataSetPermissionsInput) SetDataSetId(v string) *UpdateDataSetPermissionsInput { - s.DataSetId = &v +// SetDescription sets the Description field's value. +func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { + s.Description = &v return s } -// SetGrantPermissions sets the GrantPermissions field's value. -func (s *UpdateDataSetPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { - s.GrantPermissions = v +// SetGroupName sets the GroupName field's value. +func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { + s.GroupName = &v return s } -// SetRevokePermissions sets the RevokePermissions field's value. -func (s *UpdateDataSetPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { - s.RevokePermissions = v +// SetNamespace sets the Namespace field's value. +func (s *UpdateGroupInput) SetNamespace(v string) *UpdateGroupInput { + s.Namespace = &v return s } -type UpdateDataSetPermissionsOutput struct { +type UpdateGroupOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dataset. - DataSetArn *string `type:"string"` - - // The ID for the dataset whose permissions you want to update. This ID is unique - // per AWS Region for each AWS account. - DataSetId *string `type:"string"` + // The name of the group. + Group *Group `type:"structure"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -21864,119 +28593,101 @@ type UpdateDataSetPermissionsOutput struct { } // String returns the string representation -func (s UpdateDataSetPermissionsOutput) String() string { +func (s UpdateGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSetPermissionsOutput) GoString() string { +func (s UpdateGroupOutput) GoString() string { return s.String() } -// 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 +// 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 *UpdateDataSetPermissionsOutput) SetRequestId(v string) *UpdateDataSetPermissionsOutput { +func (s *UpdateGroupOutput) SetRequestId(v string) *UpdateGroupOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDataSetPermissionsOutput) SetStatus(v int64) *UpdateDataSetPermissionsOutput { +func (s *UpdateGroupOutput) SetStatus(v int64) *UpdateGroupOutput { s.Status = &v return s } -type UpdateDataSourceInput struct { +type UpdateIAMPolicyAssignmentInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The name of the assignment. This name must be unique within an AWS account. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // AssignmentName is a required field + AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` - // The credentials that QuickSight that uses to connect to your underlying source. - // Currently, only credentials based on user name and password are supported. - Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` + // The status of the assignment. Possible values are as follows: + // + // * ENABLED - Anything specified in this assignment is used when creating + // the data source. + // + // * DISABLED - This assignment isn't used when creating the data source. + // + // * DRAFT - This assignment is an unfinished draft and isn't used when creating + // the data source. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. + // The ID of the AWS account that contains the IAM policy assignment. // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The parameters that QuickSight uses to connect to your underlying source. - DataSourceParameters *DataSourceParameters `type:"structure"` + // The QuickSight users, groups, or both that you want to assign the policy + // to. + Identities map[string][]*string `type:"map"` - // A display name for the data source. + // The namespace of the assignment. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // Secure Socket Layer (SSL) properties that apply when QuickSight connects - // to your underlying source. - SslProperties *SslProperties `type:"structure"` + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // Use this parameter only when you want QuickSight to use a VPC connection - // when connecting to your underlying source. - VpcConnectionProperties *VpcConnectionProperties `type:"structure"` + // The ARN for the IAM policy to apply to the QuickSight users and groups specified + // in this assignment. + PolicyArn *string `type:"string"` } // String returns the string representation -func (s UpdateDataSourceInput) String() string { +func (s UpdateIAMPolicyAssignmentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSourceInput) 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 *UpdateDataSourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"} +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.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.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.VpcConnectionProperties != nil { - if err := s.VpcConnectionProperties.Validate(); err != nil { - invalidParams.AddNested("VpcConnectionProperties", err.(request.ErrInvalidParams)) - } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } if invalidParams.Len() > 0 { @@ -21985,179 +28696,191 @@ func (s *UpdateDataSourceInput) Validate() error { 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 +// SetAssignmentName sets the AssignmentName field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetAssignmentName(v string) *UpdateIAMPolicyAssignmentInput { + s.AssignmentName = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *UpdateDataSourceInput) SetDataSourceId(v string) *UpdateDataSourceInput { - s.DataSourceId = &v +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetAssignmentStatus(v string) *UpdateIAMPolicyAssignmentInput { + s.AssignmentStatus = &v return s } -// SetDataSourceParameters sets the DataSourceParameters field's value. -func (s *UpdateDataSourceInput) SetDataSourceParameters(v *DataSourceParameters) *UpdateDataSourceInput { - s.DataSourceParameters = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetAwsAccountId(v string) *UpdateIAMPolicyAssignmentInput { + s.AwsAccountId = &v return s } -// SetName sets the Name field's value. -func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput { - s.Name = &v +// SetIdentities sets the Identities field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetIdentities(v map[string][]*string) *UpdateIAMPolicyAssignmentInput { + s.Identities = v return s -} - -// SetSslProperties sets the SslProperties field's value. -func (s *UpdateDataSourceInput) SetSslProperties(v *SslProperties) *UpdateDataSourceInput { - s.SslProperties = v +} + +// SetNamespace sets the Namespace field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetNamespace(v string) *UpdateIAMPolicyAssignmentInput { + s.Namespace = &v return s } -// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. -func (s *UpdateDataSourceInput) SetVpcConnectionProperties(v *VpcConnectionProperties) *UpdateDataSourceInput { - s.VpcConnectionProperties = v +// SetPolicyArn sets the PolicyArn field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetPolicyArn(v string) *UpdateIAMPolicyAssignmentInput { + s.PolicyArn = &v return s } -type UpdateDataSourceOutput struct { +type UpdateIAMPolicyAssignmentOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the data source. - Arn *string `type:"string"` + // The ID of the assignment. + AssignmentId *string `type:"string"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. - DataSourceId *string `type:"string"` + // The name of the assignment. + AssignmentName *string `min:"1" type:"string"` + + // The status of the assignment. Possible values are as follows: + // + // * ENABLED - Anything specified in this assignment is used when creating + // the data source. + // + // * DISABLED - This assignment isn't used when creating the data source. + // + // * DRAFT - This assignment is an unfinished draft and isn't used when creating + // the data source. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // The QuickSight users, groups, or both that the IAM policy is assigned to. + Identities map[string][]*string `type:"map"` + + // The ARN for the IAM policy 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"` - - // The update status of the data source's last update. - UpdateStatus *string `type:"string" enum:"ResourceStatus"` } // String returns the string representation -func (s UpdateDataSourceOutput) String() string { +func (s UpdateIAMPolicyAssignmentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSourceOutput) GoString() string { +func (s UpdateIAMPolicyAssignmentOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *UpdateDataSourceOutput) SetArn(v string) *UpdateDataSourceOutput { - s.Arn = &v +// SetAssignmentId sets the AssignmentId field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentId(v string) *UpdateIAMPolicyAssignmentOutput { + s.AssignmentId = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *UpdateDataSourceOutput) SetDataSourceId(v string) *UpdateDataSourceOutput { - s.DataSourceId = &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 *UpdateDataSourceOutput) SetRequestId(v string) *UpdateDataSourceOutput { +func (s *UpdateIAMPolicyAssignmentOutput) SetRequestId(v string) *UpdateIAMPolicyAssignmentOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDataSourceOutput) SetStatus(v int64) *UpdateDataSourceOutput { +func (s *UpdateIAMPolicyAssignmentOutput) SetStatus(v int64) *UpdateIAMPolicyAssignmentOutput { 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 { +type UpdateTemplateAliasInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The alias of the template that you want to update. If you name a specific + // alias, you update the version that the alias points to. You can specify the + // latest version of the template by providing the keyword $LATEST in the AliasName + // parameter. The keyword $PUBLISHED doesn't apply to templates. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the template alias that you're updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. + // The ID for the template. // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` - - // A list of resource permissions that you want to grant on the data source. - GrantPermissions []*ResourcePermission `min:"1" type:"list"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - // A list of resource permissions that you want to revoke on the data source. - RevokePermissions []*ResourcePermission `min:"1" type:"list"` + // 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 UpdateDataSourcePermissionsInput) String() string { +func (s UpdateTemplateAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSourcePermissionsInput) 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 *UpdateDataSourcePermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourcePermissionsInput"} +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.DataSourceId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceId")) - } - if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) - } - if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 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.TemplateVersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateVersionNumber")) } - 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 s.TemplateVersionNumber != nil && *s.TemplateVersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("TemplateVersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -22166,137 +28889,147 @@ func (s *UpdateDataSourcePermissionsInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDataSourcePermissionsInput) SetAwsAccountId(v string) *UpdateDataSourcePermissionsInput { - s.AwsAccountId = &v +// SetAliasName sets the AliasName field's value. +func (s *UpdateTemplateAliasInput) SetAliasName(v string) *UpdateTemplateAliasInput { + s.AliasName = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *UpdateDataSourcePermissionsInput) SetDataSourceId(v string) *UpdateDataSourcePermissionsInput { - s.DataSourceId = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateTemplateAliasInput) SetAwsAccountId(v string) *UpdateTemplateAliasInput { + s.AwsAccountId = &v return s } -// SetGrantPermissions sets the GrantPermissions field's value. -func (s *UpdateDataSourcePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { - s.GrantPermissions = v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateAliasInput) SetTemplateId(v string) *UpdateTemplateAliasInput { + s.TemplateId = &v return s } -// SetRevokePermissions sets the RevokePermissions field's value. -func (s *UpdateDataSourcePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { - s.RevokePermissions = v +// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. +func (s *UpdateTemplateAliasInput) SetTemplateVersionNumber(v int64) *UpdateTemplateAliasInput { + s.TemplateVersionNumber = &v return s } -type UpdateDataSourcePermissionsOutput struct { +type UpdateTemplateAliasOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the data source. - DataSourceArn *string `type:"string"` - - // The ID of the data source. This ID is unique per AWS Region for each 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 template alias. + TemplateAlias *TemplateAlias `type:"structure"` } // String returns the string representation -func (s UpdateDataSourcePermissionsOutput) String() string { +func (s UpdateTemplateAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSourcePermissionsOutput) GoString() string { +func (s UpdateTemplateAliasOutput) GoString() string { return s.String() } -// SetDataSourceArn sets the DataSourceArn field's value. -func (s *UpdateDataSourcePermissionsOutput) SetDataSourceArn(v string) *UpdateDataSourcePermissionsOutput { - s.DataSourceArn = &v - return s -} - -// 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 *UpdateDataSourcePermissionsOutput) SetRequestId(v string) *UpdateDataSourcePermissionsOutput { +func (s *UpdateTemplateAliasOutput) SetRequestId(v string) *UpdateTemplateAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDataSourcePermissionsOutput) SetStatus(v int64) *UpdateDataSourcePermissionsOutput { +func (s *UpdateTemplateAliasOutput) SetStatus(v int64) *UpdateTemplateAliasOutput { s.Status = &v return s } -type UpdateGroupInput struct { +// SetTemplateAlias sets the TemplateAlias field's value. +func (s *UpdateTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *UpdateTemplateAliasOutput { + s.TemplateAlias = v + return s +} + +type UpdateTemplateInput 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 ID of the AWS account that contains the template that you're updating. // // 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 for the template. + Name *string `min:"1" type:"string"` - // The name of the group that you want to update. + // The entity that you are using as a source when you update the template. In + // SourceEntity, you specify the type of object you're using as source: SourceTemplate + // for a template or SourceAnalysis for an analysis. Both of these require an + // Amazon Resource Name (ARN). For SourceTemplate, specify the ARN of the source + // template. For SourceAnalysis, specify the ARN of the source analysis. The + // SourceTemplate ARN can contain any AWS Account and any QuickSight-supported + // AWS Region. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Use the DataSetReferences entity within SourceTemplate or SourceAnalysis + // to list the replacement datasets for the placeholders listed in the original. + // The schema in each dataset must match its placeholder. + // + // 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"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + + // A description of the current template version that is being updated. Every + // time you call UpdateTemplate, you create a new version of the template. 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 UpdateGroupInput) String() string { +func (s UpdateTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateGroupInput) 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 *UpdateGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} +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.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) } - 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.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -22306,138 +29039,168 @@ func (s *UpdateGroupInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateGroupInput) SetAwsAccountId(v string) *UpdateGroupInput { +func (s *UpdateTemplateInput) SetAwsAccountId(v string) *UpdateTemplateInput { s.AwsAccountId = &v return s } -// SetDescription sets the Description field's value. -func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { - s.Description = &v +// SetName sets the Name field's value. +func (s *UpdateTemplateInput) SetName(v string) *UpdateTemplateInput { + s.Name = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { - s.GroupName = &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 *UpdateGroupInput) SetNamespace(v string) *UpdateGroupInput { - s.Namespace = &v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateInput) SetTemplateId(v string) *UpdateTemplateInput { + s.TemplateId = &v return s } -type UpdateGroupOutput struct { +// SetVersionDescription sets the VersionDescription field's value. +func (s *UpdateTemplateInput) SetVersionDescription(v string) *UpdateTemplateInput { + s.VersionDescription = &v + return s +} + +type UpdateTemplateOutput struct { _ struct{} `type:"structure"` - // The name of the group. - Group *Group `type:"structure"` + // The Amazon Resource Name (ARN) for the template. + Arn *string `type:"string"` + + // The creation status of the template. + 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 for the template. + TemplateId *string `min:"1" type:"string"` + + // The ARN for the template, including the version information of the first + // version. + VersionArn *string `type:"string"` } // String returns the string representation -func (s UpdateGroupOutput) String() string { +func (s UpdateTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateGroupOutput) GoString() string { +func (s UpdateTemplateOutput) GoString() string { return s.String() } -// SetGroup sets the Group field's value. -func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { - s.Group = v +// 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 *UpdateGroupOutput) SetRequestId(v string) *UpdateGroupOutput { +func (s *UpdateTemplateOutput) SetRequestId(v string) *UpdateTemplateOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateGroupOutput) SetStatus(v int64) *UpdateGroupOutput { +func (s *UpdateTemplateOutput) SetStatus(v int64) *UpdateTemplateOutput { s.Status = &v return s } -type UpdateIAMPolicyAssignmentInput struct { - _ struct{} `type:"structure"` +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateOutput) SetTemplateId(v string) *UpdateTemplateOutput { + s.TemplateId = &v + return s +} - // The name of the assignment. This name must be unique within an AWS account. - // - // AssignmentName is a required field - AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` +// SetVersionArn sets the VersionArn field's value. +func (s *UpdateTemplateOutput) SetVersionArn(v string) *UpdateTemplateOutput { + s.VersionArn = &v + return s +} - // The status of the assignment. Possible values are as follows: - // - // * ENABLED - Anything specified in this assignment is used when creating - // the data source. - // - // * DISABLED - This assignment isn't used when creating the data source. - // - // * DRAFT - This assignment is an unfinished draft and isn't used when creating - // the data source. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` +type UpdateTemplatePermissionsInput struct { + _ struct{} `type:"structure"` - // The ID of the AWS account that contains the IAM policy assignment. + // The ID of the AWS account that contains the template. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The QuickSight users, groups, or both that you want to assign the policy - // to. - Identities map[string][]*string `type:"map"` + // A list of resource permissions to be granted on the template. + GrantPermissions []*ResourcePermission `type:"list"` - // The namespace of the assignment. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // A list of resource permissions to be revoked from the template. + RevokePermissions []*ResourcePermission `type:"list"` - // The ARN for the IAM policy to apply to the QuickSight users and groups specified - // in this assignment. - PolicyArn *string `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 UpdateIAMPolicyAssignmentInput) String() string { +func (s UpdateTemplatePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateIAMPolicyAssignmentInput) 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 *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)) - } +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.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 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 { @@ -22446,168 +29209,126 @@ func (s *UpdateIAMPolicyAssignmentInput) 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 *UpdateIAMPolicyAssignmentInput) SetAwsAccountId(v string) *UpdateIAMPolicyAssignmentInput { +func (s *UpdateTemplatePermissionsInput) SetAwsAccountId(v string) *UpdateTemplatePermissionsInput { s.AwsAccountId = &v return s } -// SetIdentities sets the Identities field's value. -func (s *UpdateIAMPolicyAssignmentInput) SetIdentities(v map[string][]*string) *UpdateIAMPolicyAssignmentInput { - s.Identities = v +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateTemplatePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { + s.GrantPermissions = v return s } -// SetNamespace sets the Namespace field's value. -func (s *UpdateIAMPolicyAssignmentInput) SetNamespace(v string) *UpdateIAMPolicyAssignmentInput { - s.Namespace = &v +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateTemplatePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { + s.RevokePermissions = v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *UpdateIAMPolicyAssignmentInput) SetPolicyArn(v string) *UpdateIAMPolicyAssignmentInput { - s.PolicyArn = &v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplatePermissionsInput) SetTemplateId(v string) *UpdateTemplatePermissionsInput { + s.TemplateId = &v return s } -type UpdateIAMPolicyAssignmentOutput struct { +type UpdateTemplatePermissionsOutput struct { _ struct{} `type:"structure"` - // The ID of the assignment. - AssignmentId *string `type:"string"` - - // The name of the assignment. - AssignmentName *string `min:"1" type:"string"` - - // The status of the assignment. Possible values are as follows: - // - // * ENABLED - Anything specified in this assignment is used when creating - // the data source. - // - // * DISABLED - This assignment isn't used when creating the data source. - // - // * DRAFT - This assignment is an unfinished draft and isn't used when creating - // the data source. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - - // The QuickSight users, groups, or both that the IAM policy is assigned to. - Identities map[string][]*string `type:"map"` - - // The ARN for the IAM policy applied to the QuickSight users and groups specified - // in this assignment. - PolicyArn *string `type:"string"` + // 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 HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The Amazon Resource Name (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 UpdateIAMPolicyAssignmentOutput) String() string { +func (s UpdateTemplatePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateIAMPolicyAssignmentOutput) GoString() string { +func (s UpdateTemplatePermissionsOutput) GoString() string { return s.String() } -// SetAssignmentId sets the AssignmentId field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentId(v string) *UpdateIAMPolicyAssignmentOutput { - s.AssignmentId = &v - return s -} - -// 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 +// SetPermissions sets the Permissions field's value. +func (s *UpdateTemplatePermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsOutput { + s.Permissions = v return s } -// SetIdentities sets the Identities field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetIdentities(v map[string][]*string) *UpdateIAMPolicyAssignmentOutput { - s.Identities = v +// SetRequestId sets the RequestId field's value. +func (s *UpdateTemplatePermissionsOutput) SetRequestId(v string) *UpdateTemplatePermissionsOutput { + s.RequestId = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetPolicyArn(v string) *UpdateIAMPolicyAssignmentOutput { - s.PolicyArn = &v +// SetStatus sets the Status field's value. +func (s *UpdateTemplatePermissionsOutput) SetStatus(v int64) *UpdateTemplatePermissionsOutput { + s.Status = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetRequestId(v string) *UpdateIAMPolicyAssignmentOutput { - s.RequestId = &v +// SetTemplateArn sets the TemplateArn field's value. +func (s *UpdateTemplatePermissionsOutput) SetTemplateArn(v string) *UpdateTemplatePermissionsOutput { + s.TemplateArn = &v return s } -// SetStatus sets the Status field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetStatus(v int64) *UpdateIAMPolicyAssignmentOutput { - s.Status = &v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplatePermissionsOutput) SetTemplateId(v string) *UpdateTemplatePermissionsOutput { + s.TemplateId = &v return s } -type UpdateTemplateAliasInput struct { +type UpdateThemeAliasInput struct { _ struct{} `type:"structure"` - // The alias of the template that you want to update. If you name a specific - // alias, you update the version that the alias points to. You can specify the - // latest version of the template by providing the keyword $LATEST in the AliasName - // parameter. The keyword $PUBLISHED doesn't apply to templates. + // The name of the theme alias that you want to update. // // AliasName is a required field AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` - // The ID of the AWS account that contains the template alias that you're updating. + // The ID of the AWS account that contains the theme alias that you're updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the template. + // The ID for the theme. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` - // The version number of the template. + // The version number of the theme that the alias should reference. // - // TemplateVersionNumber is a required field - TemplateVersionNumber *int64 `min:"1" type:"long" required:"true"` + // ThemeVersionNumber is a required field + ThemeVersionNumber *int64 `min:"1" type:"long" required:"true"` } // String returns the string representation -func (s UpdateTemplateAliasInput) String() string { +func (s UpdateThemeAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplateAliasInput) GoString() string { +func (s UpdateThemeAliasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateTemplateAliasInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateAliasInput"} +func (s *UpdateThemeAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateThemeAliasInput"} if s.AliasName == nil { invalidParams.Add(request.NewErrParamRequired("AliasName")) } @@ -22620,17 +29341,17 @@ func (s *UpdateTemplateAliasInput) Validate() error { 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.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } - if s.TemplateVersionNumber == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateVersionNumber")) + if s.ThemeVersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeVersionNumber")) } - if s.TemplateVersionNumber != nil && *s.TemplateVersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("TemplateVersionNumber", 1)) + if s.ThemeVersionNumber != nil && *s.ThemeVersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("ThemeVersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -22640,30 +29361,30 @@ func (s *UpdateTemplateAliasInput) Validate() error { } // SetAliasName sets the AliasName field's value. -func (s *UpdateTemplateAliasInput) SetAliasName(v string) *UpdateTemplateAliasInput { +func (s *UpdateThemeAliasInput) SetAliasName(v string) *UpdateThemeAliasInput { s.AliasName = &v return s } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateTemplateAliasInput) SetAwsAccountId(v string) *UpdateTemplateAliasInput { +func (s *UpdateThemeAliasInput) SetAwsAccountId(v string) *UpdateThemeAliasInput { s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplateAliasInput) SetTemplateId(v string) *UpdateTemplateAliasInput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemeAliasInput) SetThemeId(v string) *UpdateThemeAliasInput { + s.ThemeId = &v return s } -// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. -func (s *UpdateTemplateAliasInput) SetTemplateVersionNumber(v int64) *UpdateTemplateAliasInput { - s.TemplateVersionNumber = &v +// SetThemeVersionNumber sets the ThemeVersionNumber field's value. +func (s *UpdateThemeAliasInput) SetThemeVersionNumber(v int64) *UpdateThemeAliasInput { + s.ThemeVersionNumber = &v return s } -type UpdateTemplateAliasOutput struct { +type UpdateThemeAliasOutput struct { _ struct{} `type:"structure"` // The AWS request ID for this operation. @@ -22672,115 +29393,106 @@ type UpdateTemplateAliasOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The template alias. - TemplateAlias *TemplateAlias `type:"structure"` + // Information about the theme alias. + ThemeAlias *ThemeAlias `type:"structure"` } // String returns the string representation -func (s UpdateTemplateAliasOutput) String() string { +func (s UpdateThemeAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplateAliasOutput) GoString() string { +func (s UpdateThemeAliasOutput) GoString() string { return s.String() } // SetRequestId sets the RequestId field's value. -func (s *UpdateTemplateAliasOutput) SetRequestId(v string) *UpdateTemplateAliasOutput { +func (s *UpdateThemeAliasOutput) SetRequestId(v string) *UpdateThemeAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateTemplateAliasOutput) SetStatus(v int64) *UpdateTemplateAliasOutput { +func (s *UpdateThemeAliasOutput) SetStatus(v int64) *UpdateThemeAliasOutput { s.Status = &v return s } -// SetTemplateAlias sets the TemplateAlias field's value. -func (s *UpdateTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *UpdateTemplateAliasOutput { - s.TemplateAlias = v +// SetThemeAlias sets the ThemeAlias field's value. +func (s *UpdateThemeAliasOutput) SetThemeAlias(v *ThemeAlias) *UpdateThemeAliasOutput { + s.ThemeAlias = v return s } -type UpdateTemplateInput struct { +type UpdateThemeInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template that you're updating. + // The ID of the AWS account that contains the theme that you're updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The name for the template. - Name *string `min:"1" type:"string"` - - // The entity that you are using as a source when you update the template. In - // SourceEntity, you specify the type of object you're using as source: SourceTemplate - // for a template or SourceAnalysis for an analysis. Both of these require an - // Amazon Resource Name (ARN). For SourceTemplate, specify the ARN of the source - // template. For SourceAnalysis, specify the ARN of the source analysis. The - // SourceTemplate ARN can contain any AWS Account and any QuickSight-supported - // AWS Region. + // The theme ID, defined by Amazon QuickSight, that a custom theme inherits + // from. All themes initially inherit from a default QuickSight theme. // - // Use the DataSetReferences entity within SourceTemplate or SourceAnalysis - // to list the replacement datasets for the placeholders listed in the original. - // The schema in each dataset must match its placeholder. - // - // SourceEntity is a required field - SourceEntity *TemplateSourceEntity `type:"structure" required:"true"` + // BaseThemeId is a required field + BaseThemeId *string `min:"1" type:"string" required:"true"` - // The ID for the template. + // The theme configuration, which contains the theme display properties. + Configuration *ThemeConfiguration `type:"structure"` + + // The name for the theme. + Name *string `min:"1" type:"string"` + + // The ID for the theme. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` - // A description of the current template version that is being updated. Every - // time you call UpdateTemplate, you create a new version of the template. Each - // version of the template maintains a description of the version in the VersionDescription - // field. + // A description of the theme version that you're updating Every time that you + // call UpdateTheme, you create a new version of the theme. Each version of + // the theme maintains a description of the version in VersionDescription. VersionDescription *string `min:"1" type:"string"` } // String returns the string representation -func (s UpdateTemplateInput) String() string { +func (s UpdateThemeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplateInput) GoString() string { +func (s UpdateThemeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateInput"} +func (s *UpdateThemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateThemeInput"} 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.BaseThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("BaseThemeId")) + } + if s.BaseThemeId != nil && len(*s.BaseThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BaseThemeId", 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.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) } - if s.SourceEntity != nil { - if err := s.SourceEntity.Validate(); err != nil { - invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -22789,42 +29501,48 @@ func (s *UpdateTemplateInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateTemplateInput) SetAwsAccountId(v string) *UpdateTemplateInput { +func (s *UpdateThemeInput) SetAwsAccountId(v string) *UpdateThemeInput { s.AwsAccountId = &v return s } -// SetName sets the Name field's value. -func (s *UpdateTemplateInput) SetName(v string) *UpdateTemplateInput { - s.Name = &v +// SetBaseThemeId sets the BaseThemeId field's value. +func (s *UpdateThemeInput) SetBaseThemeId(v string) *UpdateThemeInput { + s.BaseThemeId = &v return s } -// SetSourceEntity sets the SourceEntity field's value. -func (s *UpdateTemplateInput) SetSourceEntity(v *TemplateSourceEntity) *UpdateTemplateInput { - s.SourceEntity = v +// SetConfiguration sets the Configuration field's value. +func (s *UpdateThemeInput) SetConfiguration(v *ThemeConfiguration) *UpdateThemeInput { + s.Configuration = v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplateInput) SetTemplateId(v string) *UpdateTemplateInput { - s.TemplateId = &v +// SetName sets the Name field's value. +func (s *UpdateThemeInput) SetName(v string) *UpdateThemeInput { + s.Name = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemeInput) SetThemeId(v string) *UpdateThemeInput { + s.ThemeId = &v return s } // SetVersionDescription sets the VersionDescription field's value. -func (s *UpdateTemplateInput) SetVersionDescription(v string) *UpdateTemplateInput { +func (s *UpdateThemeInput) SetVersionDescription(v string) *UpdateThemeInput { s.VersionDescription = &v return s } -type UpdateTemplateOutput struct { +type UpdateThemeOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the template. + // The Amazon Resource Name (ARN) for the theme. Arn *string `type:"string"` - // The creation status of the template. + // The creation status of the theme. CreationStatus *string `type:"string" enum:"ResourceStatus"` // The AWS request ID for this operation. @@ -22833,110 +29551,103 @@ type UpdateTemplateOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The ID for the template. - TemplateId *string `min:"1" type:"string"` + // The ID for the theme. + ThemeId *string `min:"1" type:"string"` - // The ARN for the template, including the version information of the first - // version. + // The Amazon Resource Name (ARN) for the new version of the theme. VersionArn *string `type:"string"` } // String returns the string representation -func (s UpdateTemplateOutput) String() string { +func (s UpdateThemeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplateOutput) GoString() string { +func (s UpdateThemeOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *UpdateTemplateOutput) SetArn(v string) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetArn(v string) *UpdateThemeOutput { s.Arn = &v return s } // SetCreationStatus sets the CreationStatus field's value. -func (s *UpdateTemplateOutput) SetCreationStatus(v string) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetCreationStatus(v string) *UpdateThemeOutput { s.CreationStatus = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateTemplateOutput) SetRequestId(v string) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetRequestId(v string) *UpdateThemeOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateTemplateOutput) SetStatus(v int64) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetStatus(v int64) *UpdateThemeOutput { s.Status = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplateOutput) SetTemplateId(v string) *UpdateTemplateOutput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemeOutput) SetThemeId(v string) *UpdateThemeOutput { + s.ThemeId = &v return s } // SetVersionArn sets the VersionArn field's value. -func (s *UpdateTemplateOutput) SetVersionArn(v string) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetVersionArn(v string) *UpdateThemeOutput { s.VersionArn = &v return s } -type UpdateTemplatePermissionsInput struct { +type UpdateThemePermissionsInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template. + // The ID of the AWS account that contains the theme. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // A list of resource permissions to be granted on the template. - GrantPermissions []*ResourcePermission `min:"1" type:"list"` + // A list of resource permissions to be granted for the theme. + GrantPermissions []*ResourcePermission `type:"list"` - // A list of resource permissions to be revoked from the template. - RevokePermissions []*ResourcePermission `min:"1" type:"list"` + // A list of resource permissions to be revoked from the theme. + RevokePermissions []*ResourcePermission `type:"list"` - // The ID for the template. + // The ID for the theme. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s UpdateTemplatePermissionsInput) String() string { +func (s UpdateThemePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplatePermissionsInput) GoString() string { +func (s UpdateThemePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateTemplatePermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateTemplatePermissionsInput"} +func (s *UpdateThemePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateThemePermissionsInput"} 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.GrantPermissions != nil && len(s.GrantPermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) - } - if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) - } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if s.GrantPermissions != nil { for i, v := range s.GrantPermissions { @@ -22966,33 +29677,33 @@ func (s *UpdateTemplatePermissionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateTemplatePermissionsInput) SetAwsAccountId(v string) *UpdateTemplatePermissionsInput { +func (s *UpdateThemePermissionsInput) SetAwsAccountId(v string) *UpdateThemePermissionsInput { s.AwsAccountId = &v return s } // SetGrantPermissions sets the GrantPermissions field's value. -func (s *UpdateTemplatePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { +func (s *UpdateThemePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateThemePermissionsInput { s.GrantPermissions = v return s } // SetRevokePermissions sets the RevokePermissions field's value. -func (s *UpdateTemplatePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { +func (s *UpdateThemePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateThemePermissionsInput { s.RevokePermissions = v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplatePermissionsInput) SetTemplateId(v string) *UpdateTemplatePermissionsInput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemePermissionsInput) SetThemeId(v string) *UpdateThemePermissionsInput { + s.ThemeId = &v return s } -type UpdateTemplatePermissionsOutput struct { +type UpdateThemePermissionsOutput struct { _ struct{} `type:"structure"` - // A list of resource permissions to be set on the template. + // The resulting list of resource permissions for the theme. Permissions []*ResourcePermission `min:"1" type:"list"` // The AWS request ID for this operation. @@ -23001,50 +29712,50 @@ type UpdateTemplatePermissionsOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The Amazon Resource Name (ARN) of the template. - TemplateArn *string `type:"string"` + // The Amazon Resource Name (ARN) of the theme. + ThemeArn *string `type:"string"` - // The ID for the template. - TemplateId *string `min:"1" type:"string"` + // The ID for the theme. + ThemeId *string `min:"1" type:"string"` } // String returns the string representation -func (s UpdateTemplatePermissionsOutput) String() string { +func (s UpdateThemePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplatePermissionsOutput) GoString() string { +func (s UpdateThemePermissionsOutput) GoString() string { return s.String() } // SetPermissions sets the Permissions field's value. -func (s *UpdateTemplatePermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsOutput { +func (s *UpdateThemePermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateThemePermissionsOutput { s.Permissions = v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateTemplatePermissionsOutput) SetRequestId(v string) *UpdateTemplatePermissionsOutput { +func (s *UpdateThemePermissionsOutput) SetRequestId(v string) *UpdateThemePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateTemplatePermissionsOutput) SetStatus(v int64) *UpdateTemplatePermissionsOutput { +func (s *UpdateThemePermissionsOutput) SetStatus(v int64) *UpdateThemePermissionsOutput { s.Status = &v return s } -// SetTemplateArn sets the TemplateArn field's value. -func (s *UpdateTemplatePermissionsOutput) SetTemplateArn(v string) *UpdateTemplatePermissionsOutput { - s.TemplateArn = &v +// SetThemeArn sets the ThemeArn field's value. +func (s *UpdateThemePermissionsOutput) SetThemeArn(v string) *UpdateThemePermissionsOutput { + s.ThemeArn = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplatePermissionsOutput) SetTemplateId(v string) *UpdateTemplatePermissionsOutput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemePermissionsOutput) SetThemeId(v string) *UpdateThemePermissionsOutput { + s.ThemeId = &v return s } @@ -23057,6 +29768,12 @@ type UpdateUserInput struct { // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // The name of the custom permissions profile that you want to assign to this + // user. Currently, custom permissions profile names are assigned to permissions + // profiles in the QuickSight console. You use this API to assign the named + // set of permissions to a QuickSight user. + CustomPermissionsName *string `min:"1" type:"string"` + // The email address of the user that you want to update. // // Email is a required field @@ -23080,6 +29797,12 @@ type UpdateUserInput struct { // Role is a required field Role *string `type:"string" required:"true" enum:"UserRole"` + // A flag that you use to indicate that you want to remove all custom permissions + // from this user. Using this parameter resets the user to the state it was + // in before a custom permissions profile was applied. This parameter defaults + // to NULL and it doesn't accept any other value. + UnapplyCustomPermissions *bool `type:"boolean"` + // The Amazon QuickSight user name that you want to update. // // UserName is a required field @@ -23105,6 +29828,9 @@ func (s *UpdateUserInput) Validate() error { if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } + if s.CustomPermissionsName != nil && len(*s.CustomPermissionsName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomPermissionsName", 1)) + } if s.Email == nil { invalidParams.Add(request.NewErrParamRequired("Email")) } @@ -23136,6 +29862,12 @@ func (s *UpdateUserInput) SetAwsAccountId(v string) *UpdateUserInput { return s } +// SetCustomPermissionsName sets the CustomPermissionsName field's value. +func (s *UpdateUserInput) SetCustomPermissionsName(v string) *UpdateUserInput { + s.CustomPermissionsName = &v + return s +} + // SetEmail sets the Email field's value. func (s *UpdateUserInput) SetEmail(v string) *UpdateUserInput { s.Email = &v @@ -23154,6 +29886,12 @@ func (s *UpdateUserInput) SetRole(v string) *UpdateUserInput { return s } +// SetUnapplyCustomPermissions sets the UnapplyCustomPermissions field's value. +func (s *UpdateUserInput) SetUnapplyCustomPermissions(v bool) *UpdateUserInput { + s.UnapplyCustomPermissions = &v + return s +} + // SetUserName sets the UserName field's value. func (s *UpdateUserInput) SetUserName(v string) *UpdateUserInput { s.UserName = &v @@ -23290,6 +30028,9 @@ type User struct { // The Amazon Resource Name (ARN) for the user. Arn *string `type:"string"` + // The custom permissions profile associated with this user. + CustomPermissionsName *string `min:"1" type:"string"` + // The user's email address. Email *string `type:"string"` @@ -23341,6 +30082,12 @@ func (s *User) SetArn(v string) *User { return s } +// SetCustomPermissionsName sets the CustomPermissionsName field's value. +func (s *User) SetCustomPermissionsName(v string) *User { + s.CustomPermissionsName = &v + return s +} + // SetEmail sets the Email field's value. func (s *User) SetEmail(v string) *User { s.Email = &v @@ -23648,6 +30395,14 @@ const ( DataSourceTypeTwitter = "TWITTER" ) +const ( + // EditionStandard is a Edition enum value + EditionStandard = "STANDARD" + + // EditionEnterprise is a Edition enum value + EditionEnterprise = "ENTERPRISE" +) + const ( // ExceptionResourceTypeUser is a ExceptionResourceType enum value ExceptionResourceTypeUser = "USER" @@ -23730,6 +30485,11 @@ const ( GeoSpatialDataRoleLatitude = "LATITUDE" ) +const ( + // IdentityStoreQuicksight is a IdentityStore enum value + IdentityStoreQuicksight = "QUICKSIGHT" +) + const ( // IdentityTypeIam is a IdentityType enum value IdentityTypeIam = "IAM" @@ -23939,6 +30699,31 @@ const ( JoinTypeRight = "RIGHT" ) +const ( + // NamespaceErrorTypePermissionDenied is a NamespaceErrorType enum value + NamespaceErrorTypePermissionDenied = "PERMISSION_DENIED" + + // NamespaceErrorTypeInternalServiceError is a NamespaceErrorType enum value + NamespaceErrorTypeInternalServiceError = "INTERNAL_SERVICE_ERROR" +) + +const ( + // NamespaceStatusCreated is a NamespaceStatus enum value + NamespaceStatusCreated = "CREATED" + + // NamespaceStatusCreating is a NamespaceStatus enum value + NamespaceStatusCreating = "CREATING" + + // NamespaceStatusDeleting is a NamespaceStatus enum value + NamespaceStatusDeleting = "DELETING" + + // NamespaceStatusRetryableFailure is a NamespaceStatus enum value + NamespaceStatusRetryableFailure = "RETRYABLE_FAILURE" + + // NamespaceStatusNonRetryableFailure is a NamespaceStatus enum value + NamespaceStatusNonRetryableFailure = "NON_RETRYABLE_FAILURE" +) + const ( // ResourceStatusCreationInProgress is a ResourceStatus enum value ResourceStatusCreationInProgress = "CREATION_IN_PROGRESS" @@ -23986,6 +30771,22 @@ const ( TextQualifierSingleQuote = "SINGLE_QUOTE" ) +const ( + // ThemeErrorTypeInternalFailure is a ThemeErrorType enum value + ThemeErrorTypeInternalFailure = "INTERNAL_FAILURE" +) + +const ( + // ThemeTypeQuicksight is a ThemeType enum value + ThemeTypeQuicksight = "QUICKSIGHT" + + // ThemeTypeCustom is a ThemeType enum value + ThemeTypeCustom = "CUSTOM" + + // ThemeTypeAll is a ThemeType enum value + ThemeTypeAll = "ALL" +) + const ( // UserRoleAdmin is a UserRole enum value UserRoleAdmin = "ADMIN" 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 980b7220c89..6ab23785f83 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 @@ -2236,10 +2236,6 @@ func (c *RDS) CreateDBProxyRequest(input *CreateDBProxyInput) (req *request.Requ // CreateDBProxy API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Creates a new DB proxy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3645,10 +3641,6 @@ func (c *RDS) DeleteDBProxyRequest(input *DeleteDBProxyInput) (req *request.Requ // DeleteDBProxy API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Deletes an existing proxy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4320,10 +4312,6 @@ func (c *RDS) DeregisterDBProxyTargetsRequest(input *DeregisterDBProxyTargetsInp // DeregisterDBProxyTargets API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Remove the association between one or more DBProxyTarget data structures // and a DBProxyTargetGroup. // @@ -6560,10 +6548,6 @@ func (c *RDS) DescribeDBProxiesRequest(input *DescribeDBProxiesInput) (req *requ // DescribeDBProxies API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Returns information about DB proxies. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6702,10 +6686,6 @@ func (c *RDS) DescribeDBProxyTargetGroupsRequest(input *DescribeDBProxyTargetGro // DescribeDBProxyTargetGroups API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Returns information about DB proxy target groups, represented by DBProxyTargetGroup // data structures. // @@ -6852,10 +6832,6 @@ func (c *RDS) DescribeDBProxyTargetsRequest(input *DescribeDBProxyTargetsInput) // DescribeDBProxyTargets API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Returns information about DBProxyTarget objects. This API supports pagination. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -10658,6 +10634,12 @@ func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *reques // // * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault" // +// * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred accessing an AWS KMS key. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The requested operation can't be performed while the cluster is in this state. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) { req, out := c.ModifyDBInstanceRequest(input) @@ -10825,10 +10807,6 @@ func (c *RDS) ModifyDBProxyRequest(input *ModifyDBProxyInput) (req *request.Requ // ModifyDBProxy API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Changes the settings for an existing DB proxy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -10916,10 +10894,6 @@ func (c *RDS) ModifyDBProxyTargetGroupRequest(input *ModifyDBProxyTargetGroupInp // ModifyDBProxyTargetGroup API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Modifies the properties of a DBProxyTargetGroup. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -11912,10 +11886,6 @@ func (c *RDS) RegisterDBProxyTargetsRequest(input *RegisterDBProxyTargetsInput) // RegisterDBProxyTargets API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14389,8 +14359,13 @@ func (c *RDS) StopDBInstanceWithContext(ctx aws.Context, input *StopDBInstanceIn // * EventSubscriptions - The number of event subscriptions per account. // The used value is the count of the event subscriptions in the account. // -// * ManualSnapshots - The number of manual DB snapshots per account. The -// used value is the count of the manual DB snapshots in the account. +// * ManualClusterSnapshots - The number of manual DB cluster snapshots per +// account. The used value is the count of the manual DB cluster snapshots +// in the account. +// +// * ManualSnapshots - The number of manual DB instance snapshots per account. +// The used value is the count of the manual DB instance snapshots in the +// account. // // * OptionGroups - The number of DB option groups per account, excluding // default option groups. The used value is the count of nondefault DB option @@ -15609,10 +15584,6 @@ func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *Clou return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Specifies the settings that control the size and behavior of the connection // pool associated with a DBProxyTargetGroup. type ConnectionPoolConfiguration struct { @@ -15633,8 +15604,6 @@ type ConnectionPoolConfiguration struct { // statements, use semicolons as the separator. You can also include multiple // variables in a single SET statement, such as SET x=1, y=2. // - // InitQuery is not currently supported for PostgreSQL. - // // Default: no initialization query InitQuery *string `type:"string"` @@ -15708,10 +15677,6 @@ func (s *ConnectionPoolConfiguration) SetSessionPinningFilters(v []*string) *Con return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Displays the settings that control the size and behavior of the connection // pool associated with a DBProxyTarget. type ConnectionPoolConfigurationInfo struct { @@ -15728,8 +15693,6 @@ type ConnectionPoolConfigurationInfo struct { // is empty by default. For multiple statements, use semicolons as the separator. // You can also include multiple variables in a single SET statement, such as // SET x=1, y=2. - // - // InitQuery is not currently supported for PostgreSQL. InitQuery *string `type:"string"` // The maximum size of the connection pool for each target in a target group. @@ -18942,7 +18905,7 @@ type CreateDBInstanceReadReplicaInput struct { // The Active Directory directory ID to create the DB instance in. // - // For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate + // For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate // users that connect to the DB instance. For more information, see Using Kerberos // Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html) // in the Amazon RDS User Guide. @@ -21760,10 +21723,18 @@ type DBEngineVersion struct { // of the CreateDBInstance action. SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"` + // A value that indicates whether you can use Aurora global databases with a + // specific DB engine version. + SupportsGlobalDatabases *bool `type:"boolean"` + // A value that indicates whether the engine version supports exporting the // log types specified by ExportableLogTypes to CloudWatch Logs. SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"` + // A value that indicates whether you can use Aurora parallel query with a specific + // DB engine version. + SupportsParallelQuery *bool `type:"boolean"` + // Indicates whether the database engine version supports read replicas. SupportsReadReplica *bool `type:"boolean"` @@ -21854,12 +21825,24 @@ func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion return s } +// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value. +func (s *DBEngineVersion) SetSupportsGlobalDatabases(v bool) *DBEngineVersion { + s.SupportsGlobalDatabases = &v + return s +} + // SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value. func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion { s.SupportsLogExportsToCloudwatchLogs = &v return s } +// SetSupportsParallelQuery sets the SupportsParallelQuery field's value. +func (s *DBEngineVersion) SetSupportsParallelQuery(v bool) *DBEngineVersion { + s.SupportsParallelQuery = &v + return s +} + // SetSupportsReadReplica sets the SupportsReadReplica field's value. func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion { s.SupportsReadReplica = &v @@ -22987,10 +22970,6 @@ func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterG return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // The data structure representing a proxy managed by the RDS Proxy. // // This data type is used as a response element in the DescribeDBProxies action. @@ -23154,10 +23133,6 @@ func (s *DBProxy) SetVpcSubnetIds(v []*string) *DBProxy { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Contains the details for an RDS Proxy target. It represents an RDS DB instance // or Aurora DB cluster that the proxy can connect to. One or more targets are // associated with an RDS Proxy target group. @@ -23245,10 +23220,6 @@ func (s *DBProxyTarget) SetType(v string) *DBProxyTarget { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Represents a set of RDS DB instances, Aurora DB clusters, or both that a // proxy can connect to. Currently, each target group is associated with exactly // one RDS DB instance or Aurora DB cluster. @@ -33147,7 +33118,7 @@ type ModifyDBInstanceInput struct { // SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html) // in the Amazon RDS User Guide. // - // For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate + // For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate // users that connect to the DB instance. For more information, see Using Kerberos // Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html) // in the Amazon RDS User Guide. @@ -35416,6 +35387,13 @@ type OrderableDBInstanceOption struct { // Indicates whether a DB instance is Multi-AZ capable. MultiAZCapable *bool `type:"boolean"` + // Whether a DB instance supports RDS on Outposts. + // + // For more information about RDS on Outposts, see Amazon RDS on AWS Outposts + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) + // in the Amazon RDS User Guide. + OutpostCapable *bool `type:"boolean"` + // Indicates whether a DB instance can have a read replica. ReadReplicaCapable *bool `type:"boolean"` @@ -35433,6 +35411,10 @@ type OrderableDBInstanceOption struct { // from 1 to 60 seconds. SupportsEnhancedMonitoring *bool `type:"boolean"` + // A value that indicates whether you can use Aurora global databases with a + // specific combination of other DB engine attributes. + SupportsGlobalDatabases *bool `type:"boolean"` + // Indicates whether a DB instance supports IAM database authentication. SupportsIAMDatabaseAuthentication *bool `type:"boolean"` @@ -35550,6 +35532,12 @@ func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstan return s } +// SetOutpostCapable sets the OutpostCapable field's value. +func (s *OrderableDBInstanceOption) SetOutpostCapable(v bool) *OrderableDBInstanceOption { + s.OutpostCapable = &v + return s +} + // SetReadReplicaCapable sets the ReadReplicaCapable field's value. func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption { s.ReadReplicaCapable = &v @@ -35574,6 +35562,12 @@ func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *Order return s } +// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value. +func (s *OrderableDBInstanceOption) SetSupportsGlobalDatabases(v bool) *OrderableDBInstanceOption { + s.SupportsGlobalDatabases = &v + return s +} + // SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value. func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption { s.SupportsIAMDatabaseAuthentication = &v @@ -35616,6 +35610,34 @@ func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption { return s } +// A data type that represents an Outpost. +// +// For more information about RDS on Outposts, see Amazon RDS on AWS Outposts +// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) +// in the Amazon RDS User Guide. +type Outpost struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Outpost. + Arn *string `type:"string"` +} + +// String returns the string representation +func (s Outpost) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Outpost) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Outpost) SetArn(v string) *Outpost { + s.Arn = &v + return s +} + // This data type is used as a request parameter in the ModifyDBParameterGroup // and ResetDBParameterGroup actions. // @@ -38758,7 +38780,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html) // in the Amazon RDS User Guide. // - // For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate + // For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate // users that connect to the DB instance. For more information, see Using Kerberos // Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html) // in the Amazon RDS User Guide. @@ -39849,7 +39871,7 @@ type RestoreDBInstanceToPointInTimeInput struct { // SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html) // in the Amazon RDS User Guide. // - // For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate + // For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate // users that connect to the DB instance. For more information, see Using Kerberos // Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html) // in the Amazon RDS User Guide. @@ -41423,8 +41445,8 @@ func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutpu return s } -// This data type is used as a response element in the DescribeDBSubnetGroups -// action. +// This data type is used as a response element for the DescribeDBSubnetGroups +// operation. type Subnet struct { _ struct{} `type:"structure"` @@ -41434,10 +41456,17 @@ type Subnet struct { // type. SubnetAvailabilityZone *AvailabilityZone `type:"structure"` - // Specifies the identifier of the subnet. + // The identifier of the subnet. SubnetIdentifier *string `type:"string"` - // Specifies the status of the subnet. + // If the subnet is associated with an Outpost, this value specifies the Outpost. + // + // For more information about RDS on Outposts, see Amazon RDS on AWS Outposts + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) + // in the Amazon RDS User Guide. + SubnetOutpost *Outpost `type:"structure"` + + // The status of the subnet. SubnetStatus *string `type:"string"` } @@ -41463,6 +41492,12 @@ func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { return s } +// SetSubnetOutpost sets the SubnetOutpost field's value. +func (s *Subnet) SetSubnetOutpost(v *Outpost) *Subnet { + s.SubnetOutpost = v + return s +} + // SetSubnetStatus sets the SubnetStatus field's value. func (s *Subnet) SetSubnetStatus(v string) *Subnet { s.SubnetStatus = &v @@ -41508,10 +41543,6 @@ func (s *Tag) SetValue(v string) *Tag { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Information about the connection health of an RDS Proxy target. type TargetHealth struct { _ struct{} `type:"structure"` @@ -41646,10 +41677,6 @@ func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Specifies the details of authentication used by a proxy to log in as a specific // database user. type UserAuthConfig struct { @@ -41716,10 +41743,6 @@ func (s *UserAuthConfig) SetUserName(v string) *UserAuthConfig { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Returns the details of authentication used by a proxy to log in as a specific // database user. type UserAuthConfigInfo struct { diff --git a/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go b/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go index c339a2c8eec..6b04ce3ff04 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go @@ -55,7 +55,8 @@ func (c *ResourceGroups) CreateGroupRequest(input *CreateGroupInput) (req *reque // CreateGroup API operation for AWS Resource Groups. // -// Creates a group with a specified name, description, and resource query. +// Creates a resource group with the specified name and description. You can +// optionally include a resource query, or a service 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 @@ -66,20 +67,20 @@ func (c *ResourceGroups) CreateGroupRequest(input *CreateGroupInput) (req *reque // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/CreateGroup func (c *ResourceGroups) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { @@ -132,8 +133,8 @@ const opDeleteGroup = "DeleteGroup" func (c *ResourceGroups) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { op := &request.Operation{ Name: opDeleteGroup, - HTTPMethod: "DELETE", - HTTPPath: "/groups/{GroupName}", + HTTPMethod: "POST", + HTTPPath: "/delete-group", } if input == nil { @@ -147,8 +148,9 @@ func (c *ResourceGroups) DeleteGroupRequest(input *DeleteGroupInput) (req *reque // DeleteGroup API operation for AWS Resource Groups. // -// Deletes a specified resource group. Deleting a resource group does not delete -// resources that are members of the group; it only deletes the group structure. +// Deletes the specified resource group. Deleting a resource group does not +// delete any resources that are members of the group; it only deletes the group +// structure. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -159,23 +161,23 @@ func (c *ResourceGroups) DeleteGroupRequest(input *DeleteGroupInput) (req *reque // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/DeleteGroup func (c *ResourceGroups) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { @@ -228,8 +230,8 @@ const opGetGroup = "GetGroup" func (c *ResourceGroups) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) { op := &request.Operation{ Name: opGetGroup, - HTTPMethod: "GET", - HTTPPath: "/groups/{GroupName}", + HTTPMethod: "POST", + HTTPPath: "/get-group", } if input == nil { @@ -254,23 +256,23 @@ func (c *ResourceGroups) GetGroupRequest(input *GetGroupInput) (req *request.Req // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroup func (c *ResourceGroups) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) { @@ -294,6 +296,108 @@ func (c *ResourceGroups) GetGroupWithContext(ctx aws.Context, input *GetGroupInp return out, req.Send() } +const opGetGroupConfiguration = "GetGroupConfiguration" + +// GetGroupConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetGroupConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetGroupConfiguration for more information on using the GetGroupConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetGroupConfigurationRequest method. +// req, resp := client.GetGroupConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupConfiguration +func (c *ResourceGroups) GetGroupConfigurationRequest(input *GetGroupConfigurationInput) (req *request.Request, output *GetGroupConfigurationOutput) { + op := &request.Operation{ + Name: opGetGroupConfiguration, + HTTPMethod: "POST", + HTTPPath: "/get-group-configuration", + } + + if input == nil { + input = &GetGroupConfigurationInput{} + } + + output = &GetGroupConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetGroupConfiguration API operation for AWS Resource Groups. +// +// Returns the service configuration associated with the specified resource +// group. AWS Resource Groups supports configurations for the following resource +// group types: +// +// * AWS::EC2::CapacityReservationPool - Amazon EC2 capacity reservation +// pools. For more information, see Working with capacity reservation groups +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html#create-cr-group) +// in the EC2 Users 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 Resource Groups's +// API operation GetGroupConfiguration for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request includes one or more parameters that violate validation rules. +// +// * ForbiddenException +// The caller isn't authorized to make the request. Check permissions. +// +// * NotFoundException +// One or more of the specified resources don't exist. +// +// * MethodNotAllowedException +// The request uses an HTTP method that isn't allowed for the specified resource. +// +// * TooManyRequestsException +// You've exceeded throttling limits by making too many requests in a period +// of time. +// +// * InternalServerErrorException +// An internal error occurred while processing the request. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupConfiguration +func (c *ResourceGroups) GetGroupConfiguration(input *GetGroupConfigurationInput) (*GetGroupConfigurationOutput, error) { + req, out := c.GetGroupConfigurationRequest(input) + return out, req.Send() +} + +// GetGroupConfigurationWithContext is the same as GetGroupConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetGroupConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ResourceGroups) GetGroupConfigurationWithContext(ctx aws.Context, input *GetGroupConfigurationInput, opts ...request.Option) (*GetGroupConfigurationOutput, error) { + req, out := c.GetGroupConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetGroupQuery = "GetGroupQuery" // GetGroupQueryRequest generates a "aws/request.Request" representing the @@ -323,8 +427,8 @@ const opGetGroupQuery = "GetGroupQuery" func (c *ResourceGroups) GetGroupQueryRequest(input *GetGroupQueryInput) (req *request.Request, output *GetGroupQueryOutput) { op := &request.Operation{ Name: opGetGroupQuery, - HTTPMethod: "GET", - HTTPPath: "/groups/{GroupName}/query", + HTTPMethod: "POST", + HTTPPath: "/get-group-query", } if input == nil { @@ -338,7 +442,7 @@ func (c *ResourceGroups) GetGroupQueryRequest(input *GetGroupQueryInput) (req *r // GetGroupQuery API operation for AWS Resource Groups. // -// Returns the resource query associated with the specified resource group. +// Retrieves the resource query associated with the specified resource 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 @@ -349,23 +453,23 @@ func (c *ResourceGroups) GetGroupQueryRequest(input *GetGroupQueryInput) (req *r // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupQuery func (c *ResourceGroups) GetGroupQuery(input *GetGroupQueryInput) (*GetGroupQueryOutput, error) { @@ -445,23 +549,23 @@ func (c *ResourceGroups) GetTagsRequest(input *GetTagsInput) (req *request.Reque // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetTags func (c *ResourceGroups) GetTags(input *GetTagsInput) (*GetTagsOutput, error) { @@ -485,6 +589,101 @@ func (c *ResourceGroups) GetTagsWithContext(ctx aws.Context, input *GetTagsInput return out, req.Send() } +const opGroupResources = "GroupResources" + +// GroupResourcesRequest generates a "aws/request.Request" representing the +// client's request for the GroupResources operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GroupResources for more information on using the GroupResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GroupResourcesRequest method. +// req, resp := client.GroupResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupResources +func (c *ResourceGroups) GroupResourcesRequest(input *GroupResourcesInput) (req *request.Request, output *GroupResourcesOutput) { + op := &request.Operation{ + Name: opGroupResources, + HTTPMethod: "POST", + HTTPPath: "/group-resources", + } + + if input == nil { + input = &GroupResourcesInput{} + } + + output = &GroupResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GroupResources API operation for AWS Resource Groups. +// +// Adds the specified resources to the specified 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 Resource Groups's +// API operation GroupResources for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request includes one or more parameters that violate validation rules. +// +// * ForbiddenException +// The caller isn't authorized to make the request. Check permissions. +// +// * NotFoundException +// One or more of the specified resources don't exist. +// +// * MethodNotAllowedException +// The request uses an HTTP method that isn't allowed for the specified resource. +// +// * TooManyRequestsException +// You've exceeded throttling limits by making too many requests in a period +// of time. +// +// * InternalServerErrorException +// An internal error occurred while processing the request. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupResources +func (c *ResourceGroups) GroupResources(input *GroupResourcesInput) (*GroupResourcesOutput, error) { + req, out := c.GroupResourcesRequest(input) + return out, req.Send() +} + +// GroupResourcesWithContext is the same as GroupResources with the addition of +// the ability to pass a context and additional request options. +// +// See GroupResources for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ResourceGroups) GroupResourcesWithContext(ctx aws.Context, input *GroupResourcesInput, opts ...request.Option) (*GroupResourcesOutput, error) { + req, out := c.GroupResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListGroupResources = "ListGroupResources" // ListGroupResourcesRequest generates a "aws/request.Request" representing the @@ -515,7 +714,7 @@ func (c *ResourceGroups) ListGroupResourcesRequest(input *ListGroupResourcesInpu op := &request.Operation{ Name: opListGroupResources, HTTPMethod: "POST", - HTTPPath: "/groups/{GroupName}/resource-identifiers-list", + HTTPPath: "/list-group-resources", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -535,7 +734,7 @@ func (c *ResourceGroups) ListGroupResourcesRequest(input *ListGroupResourcesInpu // ListGroupResources API operation for AWS Resource Groups. // -// Returns a list of ARNs of resources that are members of a specified resource +// Returns a list of ARNs of the resources that are members of a specified resource // group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -547,27 +746,27 @@ func (c *ResourceGroups) ListGroupResourcesRequest(input *ListGroupResourcesInpu // // Returned Error Types: // * UnauthorizedException -// The request has not been applied because it lacks valid authentication credentials -// for the target resource. +// The request was rejected because it doesn't have valid credentials for the +// target resource. // // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResources func (c *ResourceGroups) ListGroupResources(input *ListGroupResourcesInput) (*ListGroupResourcesOutput, error) { @@ -704,20 +903,20 @@ func (c *ResourceGroups) ListGroupsRequest(input *ListGroupsInput) (req *request // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroups func (c *ResourceGroups) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { @@ -843,7 +1042,7 @@ func (c *ResourceGroups) SearchResourcesRequest(input *SearchResourcesInput) (re // SearchResources API operation for AWS Resource Groups. // -// Returns a list of AWS resource identifiers that matches a specified query. +// Returns a list of AWS resource identifiers that matches tne specified query. // The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery // operation. // @@ -856,24 +1055,24 @@ func (c *ResourceGroups) SearchResourcesRequest(input *SearchResourcesInput) (re // // Returned Error Types: // * UnauthorizedException -// The request has not been applied because it lacks valid authentication credentials -// for the target resource. +// The request was rejected because it doesn't have valid credentials for the +// target resource. // // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResources func (c *ResourceGroups) SearchResources(input *SearchResourcesInput) (*SearchResourcesOutput, error) { @@ -996,6 +1195,11 @@ func (c *ResourceGroups) TagRequest(input *TagInput) (req *request.Request, outp // Adds tags to a resource group with the specified ARN. Existing tags on a // resource group are not changed if they are not specified in the request parameters. // +// Do not store personally identifiable information (PII) or other confidential +// or sensitive information in tags. We use tags to provide you with billing +// and administration services. Tags are not intended to be used for private +// or sensitive 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. @@ -1005,23 +1209,23 @@ func (c *ResourceGroups) TagRequest(input *TagInput) (req *request.Request, outp // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Tag func (c *ResourceGroups) Tag(input *TagInput) (*TagOutput, error) { @@ -1045,6 +1249,101 @@ func (c *ResourceGroups) TagWithContext(ctx aws.Context, input *TagInput, opts . return out, req.Send() } +const opUngroupResources = "UngroupResources" + +// UngroupResourcesRequest generates a "aws/request.Request" representing the +// client's request for the UngroupResources operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UngroupResources for more information on using the UngroupResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UngroupResourcesRequest method. +// req, resp := client.UngroupResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UngroupResources +func (c *ResourceGroups) UngroupResourcesRequest(input *UngroupResourcesInput) (req *request.Request, output *UngroupResourcesOutput) { + op := &request.Operation{ + Name: opUngroupResources, + HTTPMethod: "POST", + HTTPPath: "/ungroup-resources", + } + + if input == nil { + input = &UngroupResourcesInput{} + } + + output = &UngroupResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UngroupResources API operation for AWS Resource Groups. +// +// Removes the specified resources from the specified 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 Resource Groups's +// API operation UngroupResources for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request includes one or more parameters that violate validation rules. +// +// * ForbiddenException +// The caller isn't authorized to make the request. Check permissions. +// +// * NotFoundException +// One or more of the specified resources don't exist. +// +// * MethodNotAllowedException +// The request uses an HTTP method that isn't allowed for the specified resource. +// +// * TooManyRequestsException +// You've exceeded throttling limits by making too many requests in a period +// of time. +// +// * InternalServerErrorException +// An internal error occurred while processing the request. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UngroupResources +func (c *ResourceGroups) UngroupResources(input *UngroupResourcesInput) (*UngroupResourcesOutput, error) { + req, out := c.UngroupResourcesRequest(input) + return out, req.Send() +} + +// UngroupResourcesWithContext is the same as UngroupResources with the addition of +// the ability to pass a context and additional request options. +// +// See UngroupResources for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ResourceGroups) UngroupResourcesWithContext(ctx aws.Context, input *UngroupResourcesInput, opts ...request.Option) (*UngroupResourcesOutput, error) { + req, out := c.UngroupResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUntag = "Untag" // UntagRequest generates a "aws/request.Request" representing the @@ -1089,7 +1388,7 @@ func (c *ResourceGroups) UntagRequest(input *UntagInput) (req *request.Request, // Untag API operation for AWS Resource Groups. // -// Deletes specified tags from a specified resource. +// Deletes tags from a specified resource 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 @@ -1100,23 +1399,23 @@ func (c *ResourceGroups) UntagRequest(input *UntagInput) (req *request.Request, // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Untag func (c *ResourceGroups) Untag(input *UntagInput) (*UntagOutput, error) { @@ -1169,8 +1468,8 @@ const opUpdateGroup = "UpdateGroup" func (c *ResourceGroups) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { op := &request.Operation{ Name: opUpdateGroup, - HTTPMethod: "PUT", - HTTPPath: "/groups/{GroupName}", + HTTPMethod: "POST", + HTTPPath: "/update-group", } if input == nil { @@ -1184,8 +1483,8 @@ func (c *ResourceGroups) UpdateGroupRequest(input *UpdateGroupInput) (req *reque // UpdateGroup API operation for AWS Resource Groups. // -// Updates an existing group with a new or changed description. You cannot update -// the name of a resource group. +// Updates the description for an existing group. You cannot update the name +// of a resource 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 @@ -1196,23 +1495,23 @@ func (c *ResourceGroups) UpdateGroupRequest(input *UpdateGroupInput) (req *reque // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroup func (c *ResourceGroups) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { @@ -1265,8 +1564,8 @@ const opUpdateGroupQuery = "UpdateGroupQuery" func (c *ResourceGroups) UpdateGroupQueryRequest(input *UpdateGroupQueryInput) (req *request.Request, output *UpdateGroupQueryOutput) { op := &request.Operation{ Name: opUpdateGroupQuery, - HTTPMethod: "PUT", - HTTPPath: "/groups/{GroupName}/query", + HTTPMethod: "POST", + HTTPPath: "/update-group-query", } if input == nil { @@ -1291,23 +1590,23 @@ func (c *ResourceGroups) UpdateGroupQueryRequest(input *UpdateGroupQueryInput) ( // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupQuery func (c *ResourceGroups) UpdateGroupQuery(input *UpdateGroupQueryInput) (*UpdateGroupQueryOutput, error) { @@ -1331,8 +1630,7 @@ func (c *ResourceGroups) UpdateGroupQueryWithContext(ctx aws.Context, input *Upd return out, req.Send() } -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. type BadRequestException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1391,16 +1689,23 @@ func (s *BadRequestException) RequestID() string { type CreateGroupInput struct { _ struct{} `type:"structure"` - // The description of the resource group. Descriptions can have a maximum of - // 511 characters, including letters, numbers, hyphens, underscores, punctuation, - // and spaces. + // A configuration associates the resource group with an AWS service and specifies + // how the service can interact with the resources in the group. A configuration + // is an array of GroupConfigurationItem elements. + // + // You can specify either a Configuration or a ResourceQuery in a group, but + // not both. + Configuration []*GroupConfigurationItem `type:"list"` + + // The description of the resource group. Descriptions can consist of letters, + // numbers, hyphens, underscores, periods, and spaces. Description *string `type:"string"` // The name of the group, which is the identifier of the group in other operations. - // A resource group name cannot be updated after it is created. A resource group - // name can have a maximum of 128 characters, including letters, numbers, hyphens, - // dots, and underscores. The name cannot start with AWS or aws; these are reserved. - // A resource group name must be unique within your account. + // You can't change the name of a resource group after you create it. A resource + // group name can consist of letters, numbers, hyphens, periods, and underscores. + // The name cannot start with AWS or aws; these are reserved. A resource group + // name must be unique within each AWS Region in your AWS account. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -1408,12 +1713,10 @@ type CreateGroupInput struct { // The resource query that determines which AWS resources are members of this // group. // - // ResourceQuery is a required field - ResourceQuery *ResourceQuery `type:"structure" required:"true"` + // You can specify either a ResourceQuery or a Configuration, but not both. + ResourceQuery *ResourceQuery `type:"structure"` - // The tags to add to the group. A tag is a string-to-string map of key-value - // pairs. Tag keys can have a maximum character length of 128 characters, and - // tag values can have a maximum length of 256 characters. + // The tags to add to the group. A tag is key-value pair string. Tags map[string]*string `type:"map"` } @@ -1436,8 +1739,15 @@ func (s *CreateGroupInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.ResourceQuery == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceQuery")) + if s.Configuration != nil { + for i, v := range s.Configuration { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Configuration", i), err.(request.ErrInvalidParams)) + } + } } if s.ResourceQuery != nil { if err := s.ResourceQuery.Validate(); err != nil { @@ -1451,6 +1761,12 @@ func (s *CreateGroupInput) Validate() error { return nil } +// SetConfiguration sets the Configuration field's value. +func (s *CreateGroupInput) SetConfiguration(v []*GroupConfigurationItem) *CreateGroupInput { + s.Configuration = v + return s +} + // SetDescription sets the Description field's value. func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { s.Description = &v @@ -1478,9 +1794,19 @@ func (s *CreateGroupInput) SetTags(v map[string]*string) *CreateGroupInput { type CreateGroupOutput struct { _ struct{} `type:"structure"` - // A full description of the resource group after it is created. + // The description of the resource group. Group *Group `type:"structure"` + // The service configuration associated with the resource group. AWS Resource + // Groups supports adding service configurations for the following resource + // group types: + // + // * AWS::EC2::CapacityReservationPool - Amazon EC2 capacity reservation + // pools. For more information, see Working with capacity reservation groups + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html#create-cr-group) + // in the EC2 Users Guide. + GroupConfiguration *GroupConfiguration `type:"structure"` + // The resource query associated with the group. ResourceQuery *ResourceQuery `type:"structure"` @@ -1504,6 +1830,12 @@ func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { return s } +// SetGroupConfiguration sets the GroupConfiguration field's value. +func (s *CreateGroupOutput) SetGroupConfiguration(v *GroupConfiguration) *CreateGroupOutput { + s.GroupConfiguration = v + return s +} + // SetResourceQuery sets the ResourceQuery field's value. func (s *CreateGroupOutput) SetResourceQuery(v *ResourceQuery) *CreateGroupOutput { s.ResourceQuery = v @@ -1519,10 +1851,13 @@ func (s *CreateGroupOutput) SetTags(v map[string]*string) *CreateGroupOutput { type DeleteGroupInput struct { _ struct{} `type:"structure"` - // The name of the resource group to delete. + // The name or the ARN of the resource group to delete. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` } // String returns the string representation @@ -1538,8 +1873,8 @@ func (s DeleteGroupInput) GoString() 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.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -1551,6 +1886,12 @@ func (s *DeleteGroupInput) Validate() error { return nil } +// SetGroup sets the Group field's value. +func (s *DeleteGroupInput) SetGroup(v string) *DeleteGroupInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { s.GroupName = &v @@ -1580,32 +1921,74 @@ func (s *DeleteGroupOutput) SetGroup(v *Group) *DeleteGroupOutput { return s } -// The caller is not authorized to make the request. -type ForbiddenException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// A resource that failed to be added to or removed from a group. +type FailedResource struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" min:"1" type:"string"` + // The error code associated with the failure. + ErrorCode *string `min:"1" type:"string"` + + // The error message text associated with the failure. + ErrorMessage *string `min:"1" type:"string"` + + // The ARN of the resource that failed to be added or removed. + ResourceArn *string `type:"string"` } // String returns the string representation -func (s ForbiddenException) String() string { +func (s FailedResource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ForbiddenException) GoString() string { +func (s FailedResource) GoString() string { return s.String() } -func newErrorForbiddenException(v protocol.ResponseMetadata) error { - return &ForbiddenException{ - RespMetadata: v, - } +// SetErrorCode sets the ErrorCode field's value. +func (s *FailedResource) SetErrorCode(v string) *FailedResource { + s.ErrorCode = &v + return s } -// Code returns the exception type name. -func (s *ForbiddenException) Code() string { +// SetErrorMessage sets the ErrorMessage field's value. +func (s *FailedResource) SetErrorMessage(v string) *FailedResource { + s.ErrorMessage = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *FailedResource) SetResourceArn(v string) *FailedResource { + s.ResourceArn = &v + return s +} + +// The caller isn't authorized to make the request. Check permissions. +type ForbiddenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` +} + +// String returns the string representation +func (s ForbiddenException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ForbiddenException) GoString() string { + return s.String() +} + +func newErrorForbiddenException(v protocol.ResponseMetadata) error { + return &ForbiddenException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ForbiddenException) Code() string { return "ForbiddenException" } @@ -1636,13 +2019,75 @@ func (s *ForbiddenException) RequestID() string { return s.RespMetadata.RequestID } +type GetGroupConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name or the ARN of the resource group. + Group *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetGroupConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetGroupConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGroupConfigurationInput"} + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroup sets the Group field's value. +func (s *GetGroupConfigurationInput) SetGroup(v string) *GetGroupConfigurationInput { + s.Group = &v + return s +} + +type GetGroupConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The configuration associated with the specified group. + GroupConfiguration *GroupConfiguration `type:"structure"` +} + +// String returns the string representation +func (s GetGroupConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupConfigurationOutput) GoString() string { + return s.String() +} + +// SetGroupConfiguration sets the GroupConfiguration field's value. +func (s *GetGroupConfigurationOutput) SetGroupConfiguration(v *GroupConfiguration) *GetGroupConfigurationOutput { + s.GroupConfiguration = v + return s +} + type GetGroupInput struct { _ struct{} `type:"structure"` - // The name of the resource group. + // The name or the ARN of the resource group to retrieve. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` } // String returns the string representation @@ -1658,8 +2103,8 @@ func (s GetGroupInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *GetGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -1671,6 +2116,12 @@ func (s *GetGroupInput) Validate() error { return nil } +// SetGroup sets the Group field's value. +func (s *GetGroupInput) SetGroup(v string) *GetGroupInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput { s.GroupName = &v @@ -1703,10 +2154,13 @@ func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput { type GetGroupQueryInput struct { _ struct{} `type:"structure"` - // The name of the resource group. + // The name or the ARN of the resource group to query. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` } // String returns the string representation @@ -1722,8 +2176,8 @@ func (s GetGroupQueryInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *GetGroupQueryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetGroupQueryInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -1735,6 +2189,12 @@ func (s *GetGroupQueryInput) Validate() error { return nil } +// SetGroup sets the Group field's value. +func (s *GetGroupQueryInput) SetGroup(v string) *GetGroupQueryInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *GetGroupQueryInput) SetGroupName(v string) *GetGroupQueryInput { s.GroupName = &v @@ -1767,8 +2227,7 @@ func (s *GetGroupQueryOutput) SetGroupQuery(v *GroupQuery) *GetGroupQueryOutput type GetTagsInput struct { _ struct{} `type:"structure"` - // The ARN of the resource group for which you want a list of tags. The resource - // must exist within the account you are using. + // The ARN of the resource group whose tags you want to retrieve. // // Arn is a required field Arn *string `location:"uri" locationName:"Arn" min:"12" type:"string" required:"true"` @@ -1838,19 +2297,29 @@ func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput { return s } -// A resource group. +// A resource group that contains AWS resources. You can assign resources to +// the group by associating either of the following elements with the group: +// +// * ResourceQuery - Use a resource query to specify a set of tag keys and +// values. All resources in the same AWS Region and AWS account that have +// those keys with the same values are included in the group. You can add +// a resource query when you create the group. +// +// * GroupConfiguration - Use a service configuration to associate the group +// with an AWS service. The configuration specifies which resource types +// can be included in the group. type Group struct { _ struct{} `type:"structure"` // The description of the resource group. Description *string `type:"string"` - // The ARN of a resource group. + // The ARN of the resource group. // // GroupArn is a required field GroupArn *string `min:"12" type:"string" required:"true"` - // The name of a resource group. + // The name of the resource group. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -1884,8 +2353,200 @@ func (s *Group) SetName(v string) *Group { return s } -// A filter name and value pair that is used to obtain more specific results -// from a list of groups. +// A service configuration associated with a resource group. The configuration +// options are determined by the AWS service that defines the Type, and specifies +// which resources can be included in the group. You can add a service configuration +// when you create the group. +type GroupConfiguration struct { + _ struct{} `type:"structure"` + + // The configuration currently associated with the group and in effect. + Configuration []*GroupConfigurationItem `type:"list"` + + // If present, the reason why a request to update the group configuration failed. + FailureReason *string `type:"string"` + + // If present, the new configuration that is in the process of being applied + // to the group. + ProposedConfiguration []*GroupConfigurationItem `type:"list"` + + // The current status of an attempt to update the group configuration. + Status *string `type:"string" enum:"GroupConfigurationStatus"` +} + +// String returns the string representation +func (s GroupConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupConfiguration) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *GroupConfiguration) SetConfiguration(v []*GroupConfigurationItem) *GroupConfiguration { + s.Configuration = v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *GroupConfiguration) SetFailureReason(v string) *GroupConfiguration { + s.FailureReason = &v + return s +} + +// SetProposedConfiguration sets the ProposedConfiguration field's value. +func (s *GroupConfiguration) SetProposedConfiguration(v []*GroupConfigurationItem) *GroupConfiguration { + s.ProposedConfiguration = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GroupConfiguration) SetStatus(v string) *GroupConfiguration { + s.Status = &v + return s +} + +// An item in a group configuration. A group configuration can have one or more +// items. +type GroupConfigurationItem struct { + _ struct{} `type:"structure"` + + // A collection of parameters for this group configuration item. + Parameters []*GroupConfigurationParameter `type:"list"` + + // Specifies the type of group configuration item. Each item must have a unique + // value for type. + // + // You can specify the following string values: + // + // * AWS::EC2::CapacityReservationPool For more information about EC2 capacity + // reservation groups, see Working with capacity reservation groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html#create-cr-group) + // in the EC2 Users Guide. + // + // * AWS::ResourceGroups::Generic - Supports parameters that configure the + // behavior of resource groups of any type. + // + // Type is a required field + Type *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GroupConfigurationItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupConfigurationItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GroupConfigurationItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GroupConfigurationItem"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Parameters != nil { + for i, v := range s.Parameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParameters sets the Parameters field's value. +func (s *GroupConfigurationItem) SetParameters(v []*GroupConfigurationParameter) *GroupConfigurationItem { + s.Parameters = v + return s +} + +// SetType sets the Type field's value. +func (s *GroupConfigurationItem) SetType(v string) *GroupConfigurationItem { + s.Type = &v + return s +} + +// A parameter for a group configuration item. +type GroupConfigurationParameter struct { + _ struct{} `type:"structure"` + + // The name of the group configuration parameter. + // + // You can specify the following string values: + // + // * For configuration item type AWS::ResourceGroups::Generic: allowed-resource-types + // Specifies the types of resources that you can add to this group by using + // the GroupResources operation. + // + // * For configuration item type AWS::EC2::CapacityReservationPool: None + // - This configuration item type doesn't support any parameters. For more + // information about EC2 capacity reservation groups, see Working with capacity + // reservation groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html#create-cr-group) + // in the EC2 Users Guide. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The values of for this parameter. + // + // You can specify the following string value: + // + // * For item type allowed-resource-types: the only supported parameter value + // is AWS::EC2::CapacityReservation. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s GroupConfigurationParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupConfigurationParameter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GroupConfigurationParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GroupConfigurationParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GroupConfigurationParameter) SetName(v string) *GroupConfigurationParameter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *GroupConfigurationParameter) SetValues(v []*string) *GroupConfigurationParameter { + s.Values = v + return s +} + +// A filter collection that you can use to restrict the results from a List +// operation to only those you want to include. type GroupFilter struct { _ struct{} `type:"structure"` @@ -1942,14 +2603,14 @@ func (s *GroupFilter) SetValues(v []*string) *GroupFilter { return s } -// The ARN and group name of a group. +// The unique identifiers for a resource group. type GroupIdentifier struct { _ struct{} `type:"structure"` - // The ARN of a resource group. + // The ARN of the resource group. GroupArn *string `min:"12" type:"string"` - // The name of a resource group. + // The name of the resource group. GroupName *string `min:"1" type:"string"` } @@ -1975,18 +2636,18 @@ func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier { return s } -// The underlying resource query of a resource group. Resources that match query -// results are part of the group. +// A mapping of a query attached to a resource group that determines the AWS +// resources that are members of the group. type GroupQuery struct { _ struct{} `type:"structure"` - // The name of a resource group that is associated with a specific resource + // The name of the resource group that is associated with the specified resource // query. // // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` - // The resource query which determines which AWS resources are members of the + // The resource query that determines which AWS resources are members of the // associated resource group. // // ResourceQuery is a required field @@ -2015,7 +2676,98 @@ func (s *GroupQuery) SetResourceQuery(v *ResourceQuery) *GroupQuery { return s } -// An internal error occurred while processing the request. +type GroupResourcesInput struct { + _ struct{} `type:"structure"` + + // The name or the ARN of the resource group to add resources to. + // + // Group is a required field + Group *string `min:"1" type:"string" required:"true"` + + // The list of ARNs for resources to be added to the group. + // + // ResourceArns is a required field + ResourceArns []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s GroupResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GroupResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GroupResourcesInput"} + if s.Group == nil { + invalidParams.Add(request.NewErrParamRequired("Group")) + } + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) + } + if s.ResourceArns == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArns")) + } + if s.ResourceArns != nil && len(s.ResourceArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroup sets the Group field's value. +func (s *GroupResourcesInput) SetGroup(v string) *GroupResourcesInput { + s.Group = &v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *GroupResourcesInput) SetResourceArns(v []*string) *GroupResourcesInput { + s.ResourceArns = v + return s +} + +type GroupResourcesOutput struct { + _ struct{} `type:"structure"` + + // The ARNs of the resources that failed to be added to the group by this operation. + Failed []*FailedResource `type:"list"` + + // The ARNs of the resources that were successfully added to the group by this + // operation. + Succeeded []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s GroupResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupResourcesOutput) GoString() string { + return s.String() +} + +// SetFailed sets the Failed field's value. +func (s *GroupResourcesOutput) SetFailed(v []*FailedResource) *GroupResourcesOutput { + s.Failed = v + return s +} + +// SetSucceeded sets the Succeeded field's value. +func (s *GroupResourcesOutput) SetSucceeded(v []*string) *GroupResourcesOutput { + s.Succeeded = v + return s +} + +// An internal error occurred while processing the request. Try again later. type InternalServerErrorException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2075,26 +2827,54 @@ type ListGroupResourcesInput struct { _ struct{} `type:"structure"` // Filters, formatted as ResourceFilter objects, that you want to apply to a - // ListGroupResources operation. + // ListGroupResources operation. Filters the results to include only those of + // the specified resource types. // // * resource-type - Filter resources by their type. Specify up to five resource // types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, // or AWS::S3::Bucket. + // + // When you specify a resource-type filter for ListGroupResources, AWS Resource + // Groups validates your filter resource types against the types that are defined + // in the query associated with the group. For example, if a group contains + // only S3 buckets because its query specifies only that resource type, but + // your resource-type filter includes EC2 instances, AWS Resource Groups does + // not filter for EC2 instances. In this case, a ListGroupResources request + // returns a BadRequestException error with a message similar to the following: + // + // The resource types specified as filters in the request are not valid. + // + // The error includes a list of resource types that failed the validation because + // they are not part of the query associated with the group. This validation + // doesn't occur when the group query specifies AWS::AllSupported, because a + // group based on such a query can contain any of the allowed resource types + // for the query type (tag-based or AWS CloudFormation stack-based queries). Filters []*ResourceFilter `type:"list"` - // The name of the resource group. - // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // The name or the ARN of the resource group + Group *string `min:"1" type:"string"` - // The maximum number of group member ARNs that are returned in a single call - // by ListGroupResources, in paginated output. By default, this number is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // Don't use this parameter. Use Group instead. + // + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` + + // The total number of results that you want included on each page of the response. + // If you do not include this parameter, it defaults to a value that is specific + // to the operation. If additional items exist beyond the maximum you specify, + // the NextToken response element is present and has a value (is not null). + // Include that value as the NextToken request parameter in the next call to + // the operation to get the next part of the results. Note that the service + // might return fewer results than the maximum even when there are more results + // available. You should check NextToken after every operation to ensure that + // you receive all of the results. + MaxResults *int64 `min:"1" type:"integer"` - // The NextToken value that is returned in a paginated ListGroupResources request. - // To get the next page of results, run the call again, add the NextToken parameter, - // and specify the NextToken value. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The parameter for receiving additional results if you receive a NextToken + // response in a previous request. A NextToken response indicates that more + // output is available. Set this parameter to the value provided by a previous + // call's NextToken response to indicate where the output should continue from. + NextToken *string `type:"string"` } // String returns the string representation @@ -2110,8 +2890,8 @@ func (s ListGroupResourcesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListGroupResourcesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListGroupResourcesInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -2142,6 +2922,12 @@ func (s *ListGroupResourcesInput) SetFilters(v []*ResourceFilter) *ListGroupReso return s } +// SetGroup sets the Group field's value. +func (s *ListGroupResourcesInput) SetGroup(v string) *ListGroupResourcesInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *ListGroupResourcesInput) SetGroupName(v string) *ListGroupResourcesInput { s.GroupName = &v @@ -2163,8 +2949,10 @@ func (s *ListGroupResourcesInput) SetNextToken(v string) *ListGroupResourcesInpu type ListGroupResourcesOutput struct { _ struct{} `type:"structure"` - // The NextToken value to include in a subsequent ListGroupResources request, - // to get more results. + // If present, indicates that more output is available than is included in the + // current response. Use this value in the NextToken request parameter in a + // subsequent call to the operation to get the next part of the output. You + // should repeat this until the NextToken response element comes back as null. NextToken *string `type:"string"` // A list of QueryError objects. Each error is an object that contains ErrorCode @@ -2211,18 +2999,30 @@ type ListGroupsInput struct { // Filters, formatted as GroupFilter objects, that you want to apply to a ListGroups // operation. // - // * resource-type - Filter groups by resource type. Specify up to five resource - // types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, - // or AWS::S3::Bucket. + // * resource-type - Filter the results to include only those of the specified + // resource types. Specify up to five resource types in the format AWS::ServiceCode::ResourceType + // . For example, AWS::EC2::Instance, or AWS::S3::Bucket. + // + // * configuration-type - Filter the results to include only those groups + // that have the specified configuration types attached. The current supported + // values are: AWS:EC2::CapacityReservationPool Filters []*GroupFilter `type:"list"` - // The maximum number of resource group results that are returned by ListGroups - // in paginated output. By default, this number is 50. + // The total number of results that you want included on each page of the response. + // If you do not include this parameter, it defaults to a value that is specific + // to the operation. If additional items exist beyond the maximum you specify, + // the NextToken response element is present and has a value (is not null). + // Include that value as the NextToken request parameter in the next call to + // the operation to get the next part of the results. Note that the service + // might return fewer results than the maximum even when there are more results + // available. You should check NextToken after every operation to ensure that + // you receive all of the results. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The NextToken value that is returned in a paginated ListGroups request. To - // get the next page of results, run the call again, add the NextToken parameter, - // and specify the NextToken value. + // The parameter for receiving additional results if you receive a NextToken + // response in a previous request. A NextToken response indicates that more + // output is available. Set this parameter to the value provided by a previous + // call's NextToken response to indicate where the output should continue from. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -2281,16 +3081,19 @@ type ListGroupsOutput struct { _ struct{} `type:"structure"` // A list of GroupIdentifier objects. Each identifier is an object that contains - // both the GroupName and the GroupArn. + // both the Name and the GroupArn. GroupIdentifiers []*GroupIdentifier `type:"list"` - // A list of resource groups. + // This output element is deprecated and shouldn't be used. Refer to GroupIdentifiers + // instead. // // Deprecated: This field is deprecated, use GroupIdentifiers instead. Groups []*Group `deprecated:"true" type:"list"` - // The NextToken value to include in a subsequent ListGroups request, to get - // more results. + // If present, indicates that more output is available than is included in the + // current response. Use this value in the NextToken request parameter in a + // subsequent call to the operation to get the next part of the output. You + // should repeat this until the NextToken response element comes back as null. NextToken *string `type:"string"` } @@ -2322,7 +3125,7 @@ func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { return s } -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. type MethodNotAllowedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2378,7 +3181,7 @@ func (s *MethodNotAllowedException) RequestID() string { return s.RespMetadata.RequestID } -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. type NotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2575,40 +3378,32 @@ type ResourceQuery struct { // Query is a required field Query *string `type:"string" required:"true"` - // The type of the query. The valid values in this release are TAG_FILTERS_1_0 - // and CLOUDFORMATION_STACK_1_0. - // - // TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of simple - // tag filters for resource types and tags, as supported by the AWS Tagging - // API GetResources (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) - // operation. If you specify more than one tag key, only resources that match - // all tag keys, and at least one value of each specified tag key, are returned - // in your query. If you specify more than one value for a tag key, a resource - // matches the filter if it has a tag key value that matches any of the specified - // values. + // The type of the query. You can use the following values: // - // For example, consider the following sample query for resources that have - // two tags, Stage and Version, with two values each. ([{"Key":"Stage","Values":["Test","Deploy"]},{"Key":"Version","Values":["1","2"]}]) - // The results of this query might include the following. + // * CLOUDFORMATION_STACK_1_0: A JSON syntax that lets you specify a CloudFormation + // stack ARN. // - // * An EC2 instance that has the following two tags: {"Key":"Stage","Value":"Deploy"}, - // and {"Key":"Version","Value":"2"} - // - // * An S3 bucket that has the following two tags: {"Key":"Stage","Value":"Test"}, - // and {"Key":"Version","Value":"1"} - // - // The query would not return the following results, however. The following - // EC2 instance does not have all tag keys specified in the filter, so it is - // rejected. The RDS database has all of the tag keys, but no values that match - // at least one of the specified tag key values in the filter. - // - // * An EC2 instance that has only the following tag: {"Key":"Stage","Value":"Deploy"}. - // - // * An RDS database that has the following two tags: {"Key":"Stage","Value":"Archived"}, - // and {"Key":"Version","Value":"4"} - // - // CLOUDFORMATION_STACK_1_0: A JSON syntax that lets you specify a CloudFormation - // stack ARN. + // * TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of + // simple tag filters for resource types and tags, as supported by the AWS + // Tagging API ResourceTypeFilters parameter of the tagging:GetResources + // (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html#resourcegrouptagging-GetResources-request-ResourceTypeFilters) + // operation. If you specify more than one tag key, only resources that match + // all tag keys, and at least one value of each specified tag key, are returned + // in your query. If you specify more than one value for a tag key, a resource + // matches the filter if it has a tag key value that matches any of the specified + // values. For example, consider the following sample query for resources + // that have two tags, Stage and Version, with two values each: [{"Key":"Stage","Values":["Test","Deploy"]},{"Key":"Version","Values":["1","2"]}] + // The results of this query could include the following. An EC2 instance + // that has the following two tags: {"Key":"Stage","Value":"Deploy"}, and + // {"Key":"Version","Value":"2"} An S3 bucket that has the following two + // tags: {"Key":"Stage","Value":"Test"}, and {"Key":"Version","Value":"1"} + // The query would not include the following items in the results, however. + // An EC2 instance that has only the following tag: {"Key":"Stage","Value":"Deploy"}. + // The instance does not have all of the tag keys specified in the filter, + // so it is excluded from the results. An RDS database that has the following + // two tags: {"Key":"Stage","Value":"Archived"}, and {"Key":"Version","Value":"4"} + // The database has all of the tag keys, but none of those keys has an associated + // value that matches at least one of the specified values in the filter. // // Type is a required field Type *string `min:"1" type:"string" required:"true" enum:"QueryType"` @@ -2658,17 +3453,25 @@ func (s *ResourceQuery) SetType(v string) *ResourceQuery { type SearchResourcesInput struct { _ struct{} `type:"structure"` - // The maximum number of group member ARNs returned by SearchResources in paginated - // output. By default, this number is 50. + // The total number of results that you want included on each page of the response. + // If you do not include this parameter, it defaults to a value that is specific + // to the operation. If additional items exist beyond the maximum you specify, + // the NextToken response element is present and has a value (is not null). + // Include that value as the NextToken request parameter in the next call to + // the operation to get the next part of the results. Note that the service + // might return fewer results than the maximum even when there are more results + // available. You should check NextToken after every operation to ensure that + // you receive all of the results. MaxResults *int64 `min:"1" type:"integer"` - // The NextToken value that is returned in a paginated SearchResources request. - // To get the next page of results, run the call again, add the NextToken parameter, - // and specify the NextToken value. + // The parameter for receiving additional results if you receive a NextToken + // response in a previous request. A NextToken response indicates that more + // output is available. Set this parameter to the value provided by a previous + // call's NextToken response to indicate where the output should continue from. NextToken *string `type:"string"` // The search query, using the same formats that are supported for resource - // group definition. + // group definition. For more information, see CreateGroup. // // ResourceQuery is a required field ResourceQuery *ResourceQuery `type:"structure" required:"true"` @@ -2726,8 +3529,10 @@ func (s *SearchResourcesInput) SetResourceQuery(v *ResourceQuery) *SearchResourc type SearchResourcesOutput struct { _ struct{} `type:"structure"` - // The NextToken value to include in a subsequent SearchResources request, to - // get more results. + // If present, indicates that more output is available than is included in the + // current response. Use this value in the NextToken request parameter in a + // subsequent call to the operation to get the next part of the output. You + // should repeat this until the NextToken response element comes back as null. NextToken *string `type:"string"` // A list of QueryError objects. Each error is an object that contains ErrorCode @@ -2771,14 +3576,13 @@ func (s *SearchResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) type TagInput struct { _ struct{} `type:"structure"` - // The ARN of the resource to which to add tags. + // The ARN of the resource group to which to add tags. // // Arn is a required field Arn *string `location:"uri" locationName:"Arn" min:"12" type:"string" required:"true"` - // The tags to add to the specified resource. A tag is a string-to-string map - // of key-value pairs. Tag keys can have a maximum character length of 128 characters, - // and tag values can have a maximum length of 256 characters. + // The tags to add to the specified resource group. A tag is a string-to-string + // map of key-value pairs. // // Tags is a required field Tags map[string]*string `type:"map" required:"true"` @@ -2831,7 +3635,7 @@ type TagOutput struct { // The ARN of the tagged resource. Arn *string `min:"12" type:"string"` - // The tags that have been added to the specified resource. + // The tags that have been added to the specified resource group. Tags map[string]*string `type:"map"` } @@ -2857,7 +3661,8 @@ func (s *TagOutput) SetTags(v map[string]*string) *TagOutput { return s } -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. type TooManyRequestsException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2913,8 +3718,8 @@ func (s *TooManyRequestsException) RequestID() string { return s.RespMetadata.RequestID } -// The request has not been applied because it lacks valid authentication credentials -// for the target resource. +// The request was rejected because it doesn't have valid credentials for the +// target resource. type UnauthorizedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2970,10 +3775,101 @@ func (s *UnauthorizedException) RequestID() string { return s.RespMetadata.RequestID } +type UngroupResourcesInput struct { + _ struct{} `type:"structure"` + + // The name or the ARN of the resource group from which to remove the resources. + // + // Group is a required field + Group *string `min:"1" type:"string" required:"true"` + + // The ARNs of the resources to be removed from the group. + // + // ResourceArns is a required field + ResourceArns []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UngroupResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UngroupResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UngroupResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UngroupResourcesInput"} + if s.Group == nil { + invalidParams.Add(request.NewErrParamRequired("Group")) + } + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) + } + if s.ResourceArns == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArns")) + } + if s.ResourceArns != nil && len(s.ResourceArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroup sets the Group field's value. +func (s *UngroupResourcesInput) SetGroup(v string) *UngroupResourcesInput { + s.Group = &v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *UngroupResourcesInput) SetResourceArns(v []*string) *UngroupResourcesInput { + s.ResourceArns = v + return s +} + +type UngroupResourcesOutput struct { + _ struct{} `type:"structure"` + + // The resources that failed to be removed from the group. + Failed []*FailedResource `type:"list"` + + // The ARNs of the resources that were successfully removed from the group. + Succeeded []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s UngroupResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UngroupResourcesOutput) GoString() string { + return s.String() +} + +// SetFailed sets the Failed field's value. +func (s *UngroupResourcesOutput) SetFailed(v []*FailedResource) *UngroupResourcesOutput { + s.Failed = v + return s +} + +// SetSucceeded sets the Succeeded field's value. +func (s *UngroupResourcesOutput) SetSucceeded(v []*string) *UngroupResourcesOutput { + s.Succeeded = v + return s +} + type UntagInput struct { _ struct{} `type:"structure"` - // The ARN of the resource from which to remove tags. + // The ARN of the resource group from which to remove tags. The command removed + // both the specified keys and any values associated with those keys. // // Arn is a required field Arn *string `location:"uri" locationName:"Arn" min:"12" type:"string" required:"true"` @@ -3028,10 +3924,10 @@ func (s *UntagInput) SetKeys(v []*string) *UntagInput { type UntagOutput struct { _ struct{} `type:"structure"` - // The ARN of the resource from which tags have been removed. + // The ARN of the resource group from which tags have been removed. Arn *string `min:"12" type:"string"` - // The keys of tags that have been removed. + // The keys of the tags that were removed. Keys []*string `type:"list"` } @@ -3060,15 +3956,17 @@ func (s *UntagOutput) SetKeys(v []*string) *UntagOutput { type UpdateGroupInput struct { _ struct{} `type:"structure"` - // The description of the resource group. Descriptions can have a maximum of - // 511 characters, including letters, numbers, hyphens, underscores, punctuation, - // and spaces. + // The new description that you want to update the resource group with. Descriptions + // can contain letters, numbers, hyphens, underscores, periods, and spaces. Description *string `type:"string"` - // The name of the resource group for which you want to update its description. + // The name or the ARN of the resource group to modify. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` } // String returns the string representation @@ -3084,8 +3982,8 @@ func (s UpdateGroupInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -3103,6 +4001,12 @@ func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { return s } +// SetGroup sets the Group field's value. +func (s *UpdateGroupInput) SetGroup(v string) *UpdateGroupInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { s.GroupName = &v @@ -3112,7 +4016,7 @@ func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { type UpdateGroupOutput struct { _ struct{} `type:"structure"` - // The full description of the resource group after it has been updated. + // The update description of the resource group. Group *Group `type:"structure"` } @@ -3135,13 +4039,16 @@ func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { type UpdateGroupQueryInput struct { _ struct{} `type:"structure"` - // The name of the resource group for which you want to edit the query. + // The name or the ARN of the resource group to query. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` - // The resource query that determines which AWS resources are members of the - // resource group. + // The resource query to determine which AWS resources are members of this resource + // group. // // ResourceQuery is a required field ResourceQuery *ResourceQuery `type:"structure" required:"true"` @@ -3160,8 +4067,8 @@ func (s UpdateGroupQueryInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateGroupQueryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateGroupQueryInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -3181,6 +4088,12 @@ func (s *UpdateGroupQueryInput) Validate() error { return nil } +// SetGroup sets the Group field's value. +func (s *UpdateGroupQueryInput) SetGroup(v string) *UpdateGroupQueryInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *UpdateGroupQueryInput) SetGroupName(v string) *UpdateGroupQueryInput { s.GroupName = &v @@ -3196,7 +4109,7 @@ func (s *UpdateGroupQueryInput) SetResourceQuery(v *ResourceQuery) *UpdateGroupQ type UpdateGroupQueryOutput struct { _ struct{} `type:"structure"` - // The resource query associated with the resource group after the update. + // The updated resource query associated with the resource group after the update. GroupQuery *GroupQuery `type:"structure"` } @@ -3216,9 +4129,23 @@ func (s *UpdateGroupQueryOutput) SetGroupQuery(v *GroupQuery) *UpdateGroupQueryO return s } +const ( + // GroupConfigurationStatusUpdating is a GroupConfigurationStatus enum value + GroupConfigurationStatusUpdating = "UPDATING" + + // GroupConfigurationStatusUpdateComplete is a GroupConfigurationStatus enum value + GroupConfigurationStatusUpdateComplete = "UPDATE_COMPLETE" + + // GroupConfigurationStatusUpdateFailed is a GroupConfigurationStatus enum value + GroupConfigurationStatusUpdateFailed = "UPDATE_FAILED" +) + const ( // GroupFilterNameResourceType is a GroupFilterName enum value GroupFilterNameResourceType = "resource-type" + + // GroupFilterNameConfigurationType is a GroupFilterName enum value + GroupFilterNameConfigurationType = "configuration-type" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go b/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go index 0d0a2a074ca..27a78e163ac 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go @@ -11,45 +11,45 @@ const ( // ErrCodeBadRequestException for service response error code // "BadRequestException". // - // The request does not comply with validation rules that are defined for the - // request parameters. + // The request includes one or more parameters that violate validation rules. ErrCodeBadRequestException = "BadRequestException" // ErrCodeForbiddenException for service response error code // "ForbiddenException". // - // The caller is not authorized to make the request. + // The caller isn't authorized to make the request. Check permissions. ErrCodeForbiddenException = "ForbiddenException" // ErrCodeInternalServerErrorException for service response error code // "InternalServerErrorException". // - // An internal error occurred while processing the request. + // An internal error occurred while processing the request. Try again later. ErrCodeInternalServerErrorException = "InternalServerErrorException" // ErrCodeMethodNotAllowedException for service response error code // "MethodNotAllowedException". // - // The request uses an HTTP method which is not allowed for the specified resource. + // The request uses an HTTP method that isn't allowed for the specified resource. ErrCodeMethodNotAllowedException = "MethodNotAllowedException" // ErrCodeNotFoundException for service response error code // "NotFoundException". // - // One or more resources specified in the request do not exist. + // One or more of the specified resources don't exist. ErrCodeNotFoundException = "NotFoundException" // ErrCodeTooManyRequestsException for service response error code // "TooManyRequestsException". // - // The caller has exceeded throttling limits. + // You've exceeded throttling limits by making too many requests in a period + // of time. ErrCodeTooManyRequestsException = "TooManyRequestsException" // ErrCodeUnauthorizedException for service response error code // "UnauthorizedException". // - // The request has not been applied because it lacks valid authentication credentials - // for the target resource. + // The request was rejected because it doesn't have valid credentials for the + // target resource. ErrCodeUnauthorizedException = "UnauthorizedException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/api.go b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/api.go index 273a861b403..62dee45029a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/api.go @@ -1003,6 +1003,11 @@ func (c *ResourceGroupsTaggingAPI) TagResourcesRequest(input *TagResourcesInput) // service that the resource belongs to as well as permissions for adding // tags. For more information, see this list (http://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/Welcome.html). // +// Do not store personally identifiable information (PII) or other confidential +// or sensitive information in tags. We use tags to provide you with billing +// and administration services. Tags are not intended to be used for private +// or sensitive 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. diff --git a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/doc.go b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/doc.go index b444e46c526..85ffbf7ddbc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/doc.go @@ -10,6 +10,11 @@ // EC2 instances, you might assign both a tag key of "Stack." But the value // of "Stack" might be "Testing" for one and "Production" for the other. // +// Do not store personally identifiable information (PII) or other confidential +// or sensitive information in tags. We use tags to provide you with billing +// and administration services. Tags are not intended to be used for private +// or sensitive data. +// // Tagging can help you organize your resources and enables you to simplify // resource management, access management and cost allocation. // @@ -46,202 +51,244 @@ // For more information on IAM policies, see Managing IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) // in the IAM User Guide. // +// Services that support the Resource Groups Tagging API +// // You can use the Resource Groups Tagging API to tag resources for the following // AWS services. // -// * Alexa for Business (a4b) +// * Alexa for Business (a4b) (https://docs.aws.amazon.com/a4b) +// +// * API Gateway (https://docs.aws.amazon.com/apigateway) +// +// * Amazon AppStream (https://docs.aws.amazon.com/appstream2) +// +// * AWS AppSync (https://docs.aws.amazon.com/appsync) +// +// * AWS App Mesh (https://docs.aws.amazon.com/app-mesh) +// +// * Amazon Athena (https://docs.aws.amazon.com/athena) +// +// * Amazon Aurora (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide) +// +// * AWS Backup (https://docs.aws.amazon.com/aws-backup) +// +// * AWS Certificate Manager (https://docs.aws.amazon.com/acm) +// +// * AWS Certificate Manager Private CA (https://docs.aws.amazon.com/acm) +// +// * Amazon Cloud Directory (https://docs.aws.amazon.com/clouddirectory) +// +// * AWS Cloud Map (https://docs.aws.amazon.com/cloud-map) +// +// * AWS CloudFormation (https://docs.aws.amazon.com/cloudformation) +// +// * Amazon CloudFront (https://docs.aws.amazon.com/cloudfront) +// +// * AWS CloudHSM (https://docs.aws.amazon.com/cloudhsm) +// +// * AWS CloudTrail (https://docs.aws.amazon.com/cloudtrail) +// +// * Amazon CloudWatch (alarms only) (https://docs.aws.amazon.com/cloudwatch) +// +// * Amazon CloudWatch Events (https://docs.aws.amazon.com/cloudwatch/?id=docs_gateway#amazon-cloudwatch-events) +// +// * Amazon CloudWatch Logs (https://docs.aws.amazon.com/cloudwatch/?id=docs_gateway#amazon-cloudwatch-logs) +// +// * Amazon Cloudwatch Synthetics (https://docs.aws.amazon.com/cloudwatch) +// +// * AWS CodeBuild (https://docs.aws.amazon.com/codebuild) // -// * API Gateway +// * AWS CodeCommit (https://docs.aws.amazon.com/codecommit) // -// * Amazon AppStream +// * AWS CodePipeline (https://docs.aws.amazon.com/codepipeline) // -// * AWS AppSync +// * AWS CodeStar (https://docs.aws.amazon.com/codestar) // -// * AWS App Mesh +// * AWS CodeStar Connections (https://docs.aws.amazon.com/codestar-connections/latest/APIReference/) // -// * Amazon Athena +// * Amazon Cognito Identity (https://docs.aws.amazon.com/cognito) // -// * Amazon Aurora +// * Amazon Cognito User Pools (https://docs.aws.amazon.com/cognito) // -// * AWS Backup +// * Amazon Comprehend (https://docs.aws.amazon.com/comprehend) // -// * AWS Certificate Manager +// * AWS Config (https://docs.aws.amazon.com/config) // -// * AWS Certificate Manager Private CA +// * Amazon Connect (http://aws.amazon.com/connect/resources/?whats-new-cards#Documentation) // -// * Amazon Cloud Directory +// * AWS Data Exchange (https://docs.aws.amazon.com/data-exchange) // -// * AWS CloudFormation +// * AWS Data Pipeline (https://docs.aws.amazon.com/data-pipeline) // -// * Amazon CloudFront +// * AWS Database Migration Service (https://docs.aws.amazon.com/dms) // -// * AWS CloudHSM +// * AWS DataSync (https://docs.aws.amazon.com/datasync) // -// * AWS CloudTrail +// * AWS Device Farm (https://docs.aws.amazon.com/devicefarm) // -// * Amazon CloudWatch (alarms only) +// * AWS Direct Connect (https://docs.aws.amazon.com/directconnect) // -// * Amazon CloudWatch Events +// * AWS Directory Service (https://docs.aws.amazon.com/directory-service) // -// * Amazon CloudWatch Logs +// * Amazon DynamoDB (https://docs.aws.amazon.com/dynamodb) // -// * AWS CodeBuild +// * Amazon EBS (https://docs.aws.amazon.com/ebs) // -// * AWS CodeCommit +// * Amazon EC2 (https://docs.aws.amazon.com/ec2) // -// * AWS CodePipeline +// * EC2 Image Builder (https://docs.aws.amazon.com/imagebuilder) // -// * AWS CodeStar +// * Amazon ECR (https://docs.aws.amazon.com/ecr) // -// * Amazon Cognito Identity +// * Amazon ECS (https://docs.aws.amazon.com/ecs) // -// * Amazon Cognito User Pools +// * Amazon EKS (https://docs.aws.amazon.com/eks) // -// * Amazon Comprehend +// * AWS Elastic Beanstalk (https://docs.aws.amazon.com/elastic-beanstalk) // -// * AWS Config +// * Amazon Elastic File System (https://docs.aws.amazon.com/efs) // -// * AWS Data Exchange +// * Elastic Load Balancing (https://docs.aws.amazon.com/elasticloadbalancing) // -// * AWS Data Pipeline +// * Amazon ElastiCache (https://docs.aws.amazon.com/elasticache) // -// * AWS Database Migration Service +// * Amazon Elasticsearch Service (https://docs.aws.amazon.com/elasticsearch-service) // -// * AWS DataSync +// * AWS Elemental MediaLive (https://docs.aws.amazon.com/medialive) // -// * AWS Device Farm +// * AWS Elemental MediaPackage (https://docs.aws.amazon.com/mediapackage) // -// * AWS Direct Connect +// * AWS Elemental MediaPackage VoD (https://docs.aws.amazon.com/mediapackage) // -// * AWS Directory Service +// * AWS Elemental MediaTailor (https://docs.aws.amazon.com/mediatailor) // -// * Amazon DynamoDB +// * Amazon EMR (https://docs.aws.amazon.com/emr) // -// * Amazon EBS +// * Amazon EventBridge Schema (https://docs.aws.amazon.com/eventbridge) // -// * Amazon EC2 +// * AWS Firewall Manager (https://docs.aws.amazon.com/firewall-manager) // -// * Amazon ECR +// * Amazon Fraud Detector (https://docs.aws.amazon.com/frauddetector) // -// * Amazon ECS +// * Amazon FSx (https://docs.aws.amazon.com/fsx) // -// * Amazon EKS +// * Amazon S3 Glacier (https://docs.aws.amazon.com/s3/?id=docs_gateway#amazon-s3-glacier) // -// * AWS Elastic Beanstalk +// * AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator) // -// * Amazon Elastic File System +// * AWS Ground Station (https://docs.aws.amazon.com/ground-station) // -// * Elastic Load Balancing +// * AWS Glue (https://docs.aws.amazon.com/glue) // -// * Amazon ElastiCache +// * Amazon GuardDuty (https://docs.aws.amazon.com/guardduty) // -// * Amazon Elasticsearch Service +// * Amazon Inspector (https://docs.aws.amazon.com/inspector) // -// * AWS Elemental MediaLive +// * AWS IoT Analytics (https://docs.aws.amazon.com/iotanalytics) // -// * AWS Elemental MediaPackage +// * AWS IoT Core (https://docs.aws.amazon.com/iot) // -// * AWS Elemental MediaTailor +// * AWS IoT Device Defender (https://docs.aws.amazon.com/iot-device-defender) // -// * Amazon EMR +// * AWS IoT Device Management (https://docs.aws.amazon.com/iot-device-management) // -// * Amazon FSx +// * AWS IoT Events (https://docs.aws.amazon.com/iotevents) // -// * Amazon S3 Glacier +// * AWS IoT Greengrass (https://docs.aws.amazon.com/greengrass) // -// * AWS Glue +// * AWS IoT 1-Click (https://docs.aws.amazon.com/iot-1-click) // -// * Amazon GuardDuty +// * AWS IoT Sitewise (https://docs.aws.amazon.com/iot-sitewise) // -// * Amazon Inspector +// * AWS IoT Things Graph (https://docs.aws.amazon.com/thingsgraph) // -// * AWS IoT Analytics +// * Amazon Kendra (https://docs.aws.amazon.com/kendra) // -// * AWS IoT Core +// * AWS Key Management Service (https://docs.aws.amazon.com/kms) // -// * AWS IoT Device Defender +// * Amazon Kinesis (https://docs.aws.amazon.com/kinesis) // -// * AWS IoT Device Management +// * Amazon Kinesis Data Analytics (https://docs.aws.amazon.com/kinesis/?id=docs_gateway#amazon-kinesis-data-analytics) // -// * AWS IoT Events +// * Amazon Kinesis Data Firehose (https://docs.aws.amazon.com/kinesis/?id=docs_gateway#amazon-kinesis-data-firehose) // -// * AWS IoT Greengrass +// * AWS Lambda (https://docs.aws.amazon.com/lambda) // -// * AWS IoT 1-Click +// * Amazon Lex (https://docs.aws.amazon.com/lex) // -// * AWS IoT Things Graph +// * AWS License Manager (https://docs.aws.amazon.com/license-manager) // -// * AWS Key Management Service +// * Amazon Macie (https://docs.aws.amazon.com/macie) // -// * Amazon Kinesis +// * Amazon Machine Learning (https://docs.aws.amazon.com/machine-learning) // -// * Amazon Kinesis Data Analytics +// * Amazon MQ (https://docs.aws.amazon.com/amazon-mq) // -// * Amazon Kinesis Data Firehose +// * Amazon MSK (https://docs.aws.amazon.com/msk) // -// * AWS Lambda +// * Amazon Neptune (https://docs.aws.amazon.com/neptune) // -// * AWS License Manager +// * AWS OpsWorks (https://docs.aws.amazon.com/opsworks) // -// * Amazon Machine Learning +// * AWS OpsWorks CM (https://docs.aws.amazon.com/opsworks) // -// * Amazon MQ +// * AWS Organizations (https://docs.aws.amazon.com/organizations) // -// * Amazon MSK +// * Amazon Pinpoint (https://docs.aws.amazon.com/pinpoint) // -// * Amazon Neptune +// * Amazon Quantum Ledger Database (QLDB) (https://docs.aws.amazon.com/qldb) // -// * AWS OpsWorks +// * Amazon RDS (https://docs.aws.amazon.com/rds) // -// * AWS Organizations +// * Amazon Redshift (https://docs.aws.amazon.com/redshift) // -// * Amazon Quantum Ledger Database (QLDB) +// * AWS Resource Access Manager (https://docs.aws.amazon.com/ram) // -// * Amazon RDS +// * AWS Resource Groups (https://docs.aws.amazon.com/ARG) // -// * Amazon Redshift +// * AWS RoboMaker (https://docs.aws.amazon.com/robomaker) // -// * AWS Resource Access Manager +// * Amazon Route 53 (https://docs.aws.amazon.com/route53) // -// * AWS Resource Groups +// * Amazon Route 53 Resolver (https://docs.aws.amazon.com/route53) // -// * AWS RoboMaker +// * Amazon S3 (buckets only) (https://docs.aws.amazon.com/s3) // -// * Amazon Route 53 +// * Amazon SageMaker (https://docs.aws.amazon.com/sagemaker) // -// * Amazon Route 53 Resolver +// * Savings Plans (https://docs.aws.amazon.com/savingsplans) // -// * Amazon S3 (buckets only) +// * AWS Secrets Manager (https://docs.aws.amazon.com/secretsmanager) // -// * Amazon SageMaker +// * AWS Security Hub (https://docs.aws.amazon.com/securityhub) // -// * AWS Secrets Manager +// * AWS Service Catalog (https://docs.aws.amazon.com/servicecatalog) // -// * AWS Security Hub +// * Amazon Simple Email Service (SES) (https://docs.aws.amazon.com/ses) // -// * AWS Service Catalog +// * Amazon Simple Notification Service (SNS) (https://docs.aws.amazon.com/sns) // -// * Amazon Simple Email Service (SES) +// * Amazon Simple Queue Service (SQS) (https://docs.aws.amazon.com/sqs) // -// * Amazon Simple Notification Service (SNS) +// * Amazon Simple Workflow Service (https://docs.aws.amazon.com/swf) // -// * Amazon Simple Queue Service (SQS) +// * AWS Step Functions (https://docs.aws.amazon.com/step-functions) // -// * Amazon Simple Workflow Service +// * AWS Storage Gateway (https://docs.aws.amazon.com/storagegateway) // -// * AWS Step Functions +// * AWS Systems Manager (https://docs.aws.amazon.com/systems-manager) // -// * AWS Storage Gateway +// * AWS Transfer for SFTP (https://docs.aws.amazon.com/transfer) // -// * AWS Systems Manager +// * Amazon VPC (https://docs.aws.amazon.com/vpc) // -// * AWS Transfer for SFTP +// * AWS WAFv2 (https://docs.aws.amazon.com/waf) // -// * AWS WAF Regional +// * AWS WAF Regional (https://docs.aws.amazon.com/waf) // -// * Amazon VPC +// * Amazon WorkLink (https://docs.aws.amazon.com/worklink) // -// * Amazon WorkSpaces +// * Amazon WorkSpaces (https://docs.aws.amazon.com/workspaces) // // See https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26 for more information on this service. // 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 228cd3cfe59..82defe7f2cf 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 @@ -9599,6 +9599,8 @@ func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObject return out, req.Send() } +var _ awserr.Error + // SelectObjectContentEventStream provides the event stream handling for the SelectObjectContent. type SelectObjectContentEventStream struct { @@ -9673,6 +9675,7 @@ func (es *SelectObjectContentEventStream) waitStreamPartClose() { // * ProgressEvent // * RecordsEvent // * StatsEvent +// * SelectObjectContentEventStreamUnknownEvent func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent { return es.Reader.Events() } @@ -11558,6 +11561,8 @@ func (s *ContinuationEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *ContinuationEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) return msg, err @@ -14774,6 +14779,8 @@ func (s *EndEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *EndEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) return msg, err @@ -23548,6 +23555,8 @@ func (s *ProgressEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *ProgressEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) var buf bytes.Buffer @@ -26984,6 +26993,8 @@ func (s *RecordsEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *RecordsEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) msg.Headers.Set(":content-type", eventstream.StringValue("application/octet-stream")) @@ -28204,6 +28215,7 @@ type SelectObjectContentEventStreamEvent interface { // * ProgressEvent // * RecordsEvent // * StatsEvent +// * SelectObjectContentEventStreamUnknownEvent type SelectObjectContentEventStreamReader interface { // Returns a channel of events as they are read from the event stream. Events() <-chan SelectObjectContentEventStreamEvent @@ -28278,6 +28290,9 @@ func (r *readSelectObjectContentEventStream) readEventStream() { return default: } + if _, ok := err.(*eventstreamapi.UnknownMessageTypeError); ok { + continue + } r.err.SetError(err) return } @@ -28307,14 +28322,39 @@ func (u unmarshalerForSelectObjectContentEventStreamEvent) UnmarshalerForEventNa case "Stats": return &StatsEvent{}, nil default: - return nil, awserr.New( - request.ErrCodeSerialization, - fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType), - nil, - ) + return &SelectObjectContentEventStreamUnknownEvent{Type: eventType}, nil } } +// SelectObjectContentEventStreamUnknownEvent provides a failsafe event for the +// SelectObjectContentEventStream group of events when an unknown event is received. +type SelectObjectContentEventStreamUnknownEvent struct { + Type string + Message eventstream.Message +} + +// The SelectObjectContentEventStreamUnknownEvent is and event in the SelectObjectContentEventStream +// group of events. +func (s *SelectObjectContentEventStreamUnknownEvent) eventSelectObjectContentEventStream() {} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (e *SelectObjectContentEventStreamUnknownEvent) MarshalEvent(pm protocol.PayloadMarshaler) ( + msg eventstream.Message, err error, +) { + return e.Message.Clone(), nil +} + +// UnmarshalEvent unmarshals the EventStream Message into the SelectObjectContentEventStreamData value. +// This method is only used internally within the SDK's EventStream handling. +func (e *SelectObjectContentEventStreamUnknownEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + e.Message = msg.Clone() + return nil +} + // Request to filter the contents of an Amazon S3 object based on a simple Structured // Query Language (SQL) statement. In the request, along with the SQL expression, // you must specify a data serialization format (JSON or CSV) of the object. @@ -28966,6 +29006,8 @@ func (s *StatsEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *StatsEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) var buf bytes.Buffer diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/bucket_region.go b/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/bucket_region.go index f61665a58a4..9cc1e5970c1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/bucket_region.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/bucket_region.go @@ -3,6 +3,7 @@ package s3manager import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/corehandlers" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/service/s3" @@ -35,6 +36,30 @@ import ( // } // fmt.Printf("Bucket %s is in %s region\n", bucket, region) // +// By default the request will be made to the Amazon S3 endpoint using the Path +// style addressing. +// +// s3.us-west-2.amazonaws.com/bucketname +// +// This is not compatible with Amazon S3's FIPS endpoints. To override this +// behavior to use Virtual Host style addressing, provide a functional option +// that will set the Request's Config.S3ForcePathStyle to aws.Bool(false). +// +// region, err := s3manager.GetBucketRegion(ctx, sess, "bucketname", "us-west-2", func(r *request.Request) { +// r.S3ForcePathStyle = aws.Bool(false) +// }) +// +// To configure the GetBucketRegion to make a request via the Amazon +// S3 FIPS endpoints directly when a FIPS region name is not available, (e.g. +// fips-us-gov-west-1) set the Config.Endpoint on the Session, or client the +// utility is called with. The hint region will be ignored if an endpoint URL +// is configured on the session or client. +// +// sess, err := session.NewSession(&aws.Config{ +// Endpoint: aws.String("https://s3-fips.us-west-2.amazonaws.com"), +// }) +// +// region, err := s3manager.GetBucketRegion(context.Background(), sess, "bucketname", "") func GetBucketRegion(ctx aws.Context, c client.ConfigProvider, bucket, regionHint string, opts ...request.Option) (string, error) { var cfg aws.Config if len(regionHint) != 0 { @@ -50,12 +75,38 @@ const bucketRegionHeader = "X-Amz-Bucket-Region" // that it takes a S3 service client instead of a Session. The regionHint is // derived from the region the S3 service client was created in. // +// By default the request will be made to the Amazon S3 endpoint using the Path +// style addressing. +// +// s3.us-west-2.amazonaws.com/bucketname +// +// This is not compatible with Amazon S3's FIPS endpoints. To override this +// behavior to use Virtual Host style addressing, provide a functional option +// that will set the Request's Config.S3ForcePathStyle to aws.Bool(false). +// +// region, err := s3manager.GetBucketRegionWithClient(ctx, client, "bucketname", func(r *request.Request) { +// r.S3ForcePathStyle = aws.Bool(false) +// }) +// +// To configure the GetBucketRegion to make a request via the Amazon +// S3 FIPS endpoints directly when a FIPS region name is not available, (e.g. +// fips-us-gov-west-1) set the Config.Endpoint on the Session, or client the +// utility is called with. The hint region will be ignored if an endpoint URL +// is configured on the session or client. +// +// region, err := s3manager.GetBucketRegionWithClient(context.Background(), +// s3.New(sess, &aws.Config{ +// Endpoint: aws.String("https://s3-fips.us-west-2.amazonaws.com"), +// }), +// "bucketname") +// // See GetBucketRegion for more information. func GetBucketRegionWithClient(ctx aws.Context, svc s3iface.S3API, bucket string, opts ...request.Option) (string, error) { req, _ := svc.HeadBucketRequest(&s3.HeadBucketInput{ Bucket: aws.String(bucket), }) req.Config.S3ForcePathStyle = aws.Bool(true) + req.Config.Credentials = credentials.AnonymousCredentials req.SetContext(ctx) @@ -75,6 +126,16 @@ func GetBucketRegionWithClient(ctx aws.Context, svc s3iface.S3API, bucket string r.HTTPResponse.Status = "OK" r.Error = nil }) + // Replace the endpoint validation handler to not require a region if an + // endpoint URL was specified. Since these requests are not authenticated, + // requiring a region is not needed when an endpoint URL is provided. + req.Handlers.Validate.Swap( + corehandlers.ValidateEndpointHandler.Name, + request.NamedHandler{ + Name: "validateEndpointWithoutRegion", + Fn: validateEndpointWithoutRegion, + }, + ) req.ApplyOptions(opts...) @@ -86,3 +147,13 @@ func GetBucketRegionWithClient(ctx aws.Context, svc s3iface.S3API, bucket string return bucketRegion, nil } + +func validateEndpointWithoutRegion(r *request.Request) { + // Check if the caller provided an explicit URL instead of one derived by + // the SDK's endpoint resolver. For GetBucketRegion, with an explicit + // endpoint URL, a region is not needed. If no endpoint URL is provided, + // fallback the SDK's standard endpoint validation handler. + if len(aws.StringValue(r.Config.Endpoint)) == 0 { + corehandlers.ValidateEndpointHandler.Fn(r) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go index 22a06ab6bb5..d31b9e382bb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go @@ -306,12 +306,10 @@ func (c *SageMaker) CreateAppRequest(input *CreateAppInput) (req *request.Reques // CreateApp API operation for Amazon SageMaker Service. // -// Creates a running App for the specified UserProfile. Supported Apps are JupyterServer, -// KernelGateway, and TensorBoard. This operation is automatically invoked by -// Amazon SageMaker Studio upon access to the associated Domain, and when new -// kernel configurations are selected by the user. A user may have multiple -// Apps active simultaneously. UserProfiles are limited to 5 concurrently running -// Apps at a time. +// Creates a running App for the specified UserProfile. Supported Apps are JupyterServer +// and KernelGateway. This operation is automatically invoked by Amazon SageMaker +// Studio upon access to the associated Domain, and when new kernel configurations +// are selected by the user. A user may have multiple Apps active simultaneously. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -585,7 +583,7 @@ func (c *SageMaker) CreateCompilationJobRequest(input *CreateCompilationJobInput // the model runs on // // * The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker -// assumes to perform the model compilation job +// assumes to perform the model compilation job. // // You can also provide a Tag to track the model compilation job's resource // use and costs. The response body contains the CompilationJobArn for the compiled @@ -1009,9 +1007,9 @@ func (c *SageMaker) CreateExperimentRequest(input *CreateExperimentInput) (req * // CreateExperiment API operation for Amazon SageMaker Service. // -// Creates an Amazon SageMaker experiment. An experiment is a collection of -// trials that are observed, compared and evaluated as a group. A trial is a -// set of steps, called trial components, that produce a machine learning model. +// Creates an SageMaker experiment. An experiment is a collection of trials +// that are observed, compared and evaluated as a group. A trial is a set of +// steps, called trial components, that produce a machine learning model. // // The goal of an experiment is to determine the components that produce the // best model. Multiple trials are performed, each one isolating and measuring @@ -2710,6 +2708,96 @@ func (c *SageMaker) CreateUserProfileWithContext(ctx aws.Context, input *CreateU return out, req.Send() } +const opCreateWorkforce = "CreateWorkforce" + +// CreateWorkforceRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkforce operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateWorkforce for more information on using the CreateWorkforce +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateWorkforceRequest method. +// req, resp := client.CreateWorkforceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateWorkforce +func (c *SageMaker) CreateWorkforceRequest(input *CreateWorkforceInput) (req *request.Request, output *CreateWorkforceOutput) { + op := &request.Operation{ + Name: opCreateWorkforce, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateWorkforceInput{} + } + + output = &CreateWorkforceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWorkforce API operation for Amazon SageMaker Service. +// +// Use this operation to create a workforce. This operation will return an error +// if a workforce already exists in the AWS Region that you specify. You can +// only create one workforce in each AWS Region. +// +// If you want to create a new workforce in an AWS Region where the a workforce +// already exists, use the API operation to delete the existing workforce and +// then use this operation to create a new workforce. +// +// To create a private workforce using Amazon Cognito, you must specify a Cognito +// user pool in CognitoConfig. You can also create an Amazon Cognito workforce +// using the Amazon SageMaker console. For more information, see Create a Private +// Workforce (Amazon Cognito) (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private.html). +// +// To create a private workforce using your own OIDC Identity Provider (IdP), +// specify your IdP configuration in OidcConfig. You must create a OIDC IdP +// workforce using this API operation. For more information, see Create a Private +// Workforce (OIDC IdP) (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private-oidc.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 SageMaker Service's +// API operation CreateWorkforce for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateWorkforce +func (c *SageMaker) CreateWorkforce(input *CreateWorkforceInput) (*CreateWorkforceOutput, error) { + req, out := c.CreateWorkforceRequest(input) + return out, req.Send() +} + +// CreateWorkforceWithContext is the same as CreateWorkforce with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkforce for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) CreateWorkforceWithContext(ctx aws.Context, input *CreateWorkforceInput, opts ...request.Option) (*CreateWorkforceOutput, error) { + req, out := c.CreateWorkforceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateWorkteam = "CreateWorkteam" // CreateWorkteamRequest generates a "aws/request.Request" representing the @@ -3416,6 +3504,9 @@ func (c *SageMaker) DeleteFlowDefinitionRequest(input *DeleteFlowDefinitionInput // API operation DeleteFlowDefinition for usage and error information. // // Returned Error Types: +// * ResourceInUse +// Resource being accessed is in use. +// // * ResourceNotFound // Resource being access is not found. // @@ -3441,6 +3532,90 @@ func (c *SageMaker) DeleteFlowDefinitionWithContext(ctx aws.Context, input *Dele return out, req.Send() } +const opDeleteHumanTaskUi = "DeleteHumanTaskUi" + +// DeleteHumanTaskUiRequest generates a "aws/request.Request" representing the +// client's request for the DeleteHumanTaskUi operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteHumanTaskUi for more information on using the DeleteHumanTaskUi +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteHumanTaskUiRequest method. +// req, resp := client.DeleteHumanTaskUiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteHumanTaskUi +func (c *SageMaker) DeleteHumanTaskUiRequest(input *DeleteHumanTaskUiInput) (req *request.Request, output *DeleteHumanTaskUiOutput) { + op := &request.Operation{ + Name: opDeleteHumanTaskUi, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteHumanTaskUiInput{} + } + + output = &DeleteHumanTaskUiOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteHumanTaskUi API operation for Amazon SageMaker Service. +// +// Use this operation to delete a human task user interface (worker task template). +// +// To see a list of human task user interfaces (work task templates) in your +// account, use . When you delete a worker task template, it no longer appears +// when you call ListHumanTaskUis. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 SageMaker Service's +// API operation DeleteHumanTaskUi for usage and error information. +// +// Returned Error Types: +// * ResourceNotFound +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteHumanTaskUi +func (c *SageMaker) DeleteHumanTaskUi(input *DeleteHumanTaskUiInput) (*DeleteHumanTaskUiOutput, error) { + req, out := c.DeleteHumanTaskUiRequest(input) + return out, req.Send() +} + +// DeleteHumanTaskUiWithContext is the same as DeleteHumanTaskUi with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteHumanTaskUi for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) DeleteHumanTaskUiWithContext(ctx aws.Context, input *DeleteHumanTaskUiInput, opts ...request.Option) (*DeleteHumanTaskUiOutput, error) { + req, out := c.DeleteHumanTaskUiRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteModel = "DeleteModel" // DeleteModelRequest generates a "aws/request.Request" representing the @@ -4162,6 +4337,85 @@ func (c *SageMaker) DeleteUserProfileWithContext(ctx aws.Context, input *DeleteU return out, req.Send() } +const opDeleteWorkforce = "DeleteWorkforce" + +// DeleteWorkforceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkforce operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteWorkforce for more information on using the DeleteWorkforce +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteWorkforceRequest method. +// req, resp := client.DeleteWorkforceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteWorkforce +func (c *SageMaker) DeleteWorkforceRequest(input *DeleteWorkforceInput) (req *request.Request, output *DeleteWorkforceOutput) { + op := &request.Operation{ + Name: opDeleteWorkforce, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteWorkforceInput{} + } + + output = &DeleteWorkforceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWorkforce API operation for Amazon SageMaker Service. +// +// Use this operation to delete a workforce. +// +// If you want to create a new workforce in an AWS Region where the a workforce +// already exists, use this operation to delete the existing workforce and then +// use to create a new workforce. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 SageMaker Service's +// API operation DeleteWorkforce for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteWorkforce +func (c *SageMaker) DeleteWorkforce(input *DeleteWorkforceInput) (*DeleteWorkforceOutput, error) { + req, out := c.DeleteWorkforceRequest(input) + return out, req.Send() +} + +// DeleteWorkforceWithContext is the same as DeleteWorkforce with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkforce for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) DeleteWorkforceWithContext(ctx aws.Context, input *DeleteWorkforceInput, opts ...request.Option) (*DeleteWorkforceOutput, error) { + req, out := c.DeleteWorkforceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteWorkteam = "DeleteWorkteam" // DeleteWorkteamRequest generates a "aws/request.Request" representing the @@ -5060,7 +5314,8 @@ func (c *SageMaker) DescribeHumanTaskUiRequest(input *DescribeHumanTaskUiInput) // DescribeHumanTaskUi API operation for Amazon SageMaker Service. // -// Returns information about the requested human task user interface. +// Returns information about the requested human task user interface (worker +// task 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 @@ -10512,6 +10767,139 @@ func (c *SageMaker) ListUserProfilesPagesWithContext(ctx aws.Context, input *Lis return p.Err() } +const opListWorkforces = "ListWorkforces" + +// ListWorkforcesRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkforces operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListWorkforces for more information on using the ListWorkforces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListWorkforcesRequest method. +// req, resp := client.ListWorkforcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListWorkforces +func (c *SageMaker) ListWorkforcesRequest(input *ListWorkforcesInput) (req *request.Request, output *ListWorkforcesOutput) { + op := &request.Operation{ + Name: opListWorkforces, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWorkforcesInput{} + } + + output = &ListWorkforcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWorkforces API operation for Amazon SageMaker Service. +// +// Use this operation to list all private and vendor workforces in an AWS Region. +// Note that you can only have one private workforce per AWS 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 +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListWorkforces for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListWorkforces +func (c *SageMaker) ListWorkforces(input *ListWorkforcesInput) (*ListWorkforcesOutput, error) { + req, out := c.ListWorkforcesRequest(input) + return out, req.Send() +} + +// ListWorkforcesWithContext is the same as ListWorkforces with the addition of +// the ability to pass a context and additional request options. +// +// See ListWorkforces for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) ListWorkforcesWithContext(ctx aws.Context, input *ListWorkforcesInput, opts ...request.Option) (*ListWorkforcesOutput, error) { + req, out := c.ListWorkforcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWorkforcesPages iterates over the pages of a ListWorkforces operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkforces 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 ListWorkforces operation. +// pageNum := 0 +// err := client.ListWorkforcesPages(params, +// func(page *sagemaker.ListWorkforcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListWorkforcesPages(input *ListWorkforcesInput, fn func(*ListWorkforcesOutput, bool) bool) error { + return c.ListWorkforcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkforcesPagesWithContext same as ListWorkforcesPages 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 *SageMaker) ListWorkforcesPagesWithContext(ctx aws.Context, input *ListWorkforcesInput, fn func(*ListWorkforcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkforcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkforcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkforcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListWorkteams = "ListWorkteams" // ListWorkteamsRequest generates a "aws/request.Request" representing the @@ -10698,6 +11086,11 @@ func (c *SageMaker) RenderUiTemplateRequest(input *RenderUiTemplateInput) (req * // // See the AWS API reference guide for Amazon SageMaker Service's // API operation RenderUiTemplate for usage and error information. +// +// Returned Error Types: +// * ResourceNotFound +// Resource being access is not found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/RenderUiTemplate func (c *SageMaker) RenderUiTemplate(input *RenderUiTemplateInput) (*RenderUiTemplateOutput, error) { req, out := c.RenderUiTemplateRequest(input) @@ -12745,7 +13138,7 @@ func (c *SageMaker) UpdateWorkforceRequest(input *UpdateWorkforceInput) (req *re // // Restricts access to tasks assigned to workers in the specified workforce // to those within specific ranges of IP addresses. You specify allowed IP addresses -// by creating a list of up to four CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html). +// by creating a list of up to ten CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html). // // By default, a workforce isn't restricted to specific IP addresses. If you // specify a range of IP addresses, workers who attempt to access tasks using @@ -13384,16 +13777,20 @@ func (s *AlgorithmValidationSpecification) SetValidationRole(v string) *Algorith return s } -// Configures how labels are consolidated across human workers. +// Configures how labels are consolidated across human workers and processes +// output data. type AnnotationConsolidationConfig struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of a Lambda function implements the logic - // for annotation consolidation. + // for annotation consolidation (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html) + // and to process output data. // - // For the built-in bounding box, image classification, semantic segmentation, - // and text classification task types, Amazon SageMaker Ground Truth provides - // the following Lambda functions: + // This parameter is required for all labeling jobs. For built-in task types + // (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), use + // one of the following Amazon SageMaker Ground Truth Lambda function ARNs for + // AnnotationConsolidationLambdaArn. For custom labeling workflows, see Post-annotation + // Lambda (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3.html#sms-custom-templates-step3-postlambda). // // Bounding box - Finds the most similar boxes from different workers based // on the Jaccard index of the boxes. @@ -13496,22 +13893,147 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-NamedEntityRecognition // arn:aws:lambda:ca-central-1:918755190332:function:ACS-NamedEntityRecognition // - // Bounding box verification - Uses a variant of the Expectation Maximization - // approach to estimate the true class of verification judgement for bounding - // box labels based on annotations from individual workers. + // Named entity recognition - Groups similar selections and calculates aggregate + // boundaries, resolving to most-assigned label. // - // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox - // arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox - // arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationBoundingBox - // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationBoundingBox - // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition + // arn:aws:lambda:us-east-2:266458841044:function:ACS-NamedEntityRecognition + // arn:aws:lambda:us-west-2:081040173940:function:ACS-NamedEntityRecognition + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-NamedEntityRecognition + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-NamedEntityRecognition + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-NamedEntityRecognition + // + // Video Classification - Use this task type when you need workers to classify + // videos using predefined labels that you specify. Workers are shown videos + // and are asked to choose one label for each video. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoMultiClass arn:aws:lambda:us-east-2:266458841044:function:ACS-VideoMultiClass + // arn:aws:lambda:us-west-2:081040173940:function:ACS-VideoMultiClass arn:aws:lambda:eu-west-1:568282634449:function:ACS-VideoMultiClass + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VideoMultiClass + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VideoMultiClass + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VideoMultiClass arn:aws:lambda:eu-central-1:203001061592:function:ACS-VideoMultiClass + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VideoMultiClass + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VideoMultiClass arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VideoMultiClass + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VideoMultiClass + // + // Video Frame Object Detection - Use this task type to have workers identify + // and locate objects in a sequence of video frames (images extracted from a + // video) using bounding boxes. For example, you can use this task to ask workers + // to identify and localize various objects in a series of video frames, such + // as cars, bikes, and pedestrians. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectDetection + // arn:aws:lambda:us-east-2:266458841044:function:ACS-VideoObjectDetection + // arn:aws:lambda:us-west-2:081040173940:function:ACS-VideoObjectDetection + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VideoObjectDetection + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VideoObjectDetection + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VideoObjectDetection + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VideoObjectDetection + // + // Video Frame Object Tracking - Use this task type to have workers track the + // movement of objects in a sequence of video frames (images extracted from + // a video) using bounding boxes. For example, you can use this task to ask + // workers to track the movement of objects, such as cars, bikes, and pedestrians. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectTracking + // arn:aws:lambda:us-east-2:266458841044:function:ACS-VideoObjectTracking + // arn:aws:lambda:us-west-2:081040173940:function:ACS-VideoObjectTracking + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VideoObjectTracking + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VideoObjectTracking + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VideoObjectTracking + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VideoObjectTracking + // + // 3D point cloud object detection - Use this task type when you want workers + // to classify objects in a 3D point cloud by drawing 3D cuboids around objects. + // For example, you can use this task type to ask workers to identify different + // types of objects in a point cloud, such as cars, bikes, and pedestrians. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudObjectDetection + // + // 3D point cloud object tracking - Use this task type when you want workers + // to draw 3D cuboids around objects that appear in a sequence of 3D point cloud + // frames. For example, you can use this task type to ask workers to track the + // movement of vehicles across multiple point cloud frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudObjectTracking + // + // 3D point cloud semantic segmentation - Use this task type when you want workers + // to create a point-level semantic segmentation masks by painting objects in + // a 3D point cloud using different colors where each color is assigned to one + // of the classes you specify. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudSemanticSegmentation + // + // Use the following ARNs for Label Verification and Adjustment Jobs + // + // Use label verification and adjustment jobs to review and adjust labels. To + // learn more, see Verify and Adjust Labels (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-verification-data.html). + // + // Semantic segmentation adjustment - Treats each pixel in an image as a multi-class + // classification and treats pixel adjusted annotations from workers as "votes" + // for the correct label. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentSemanticSegmentation // // Semantic segmentation verification - Uses a variant of the Expectation Maximization // approach to estimate the true class of verification judgment for semantic @@ -13530,6 +14052,23 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationSemanticSegmentation // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationSemanticSegmentation // + // Bounding box verification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of verification judgement for bounding + // box labels based on annotations from individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox + // arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox + // arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationBoundingBox + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationBoundingBox + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox + // // Bounding box adjustment - Finds the most similar boxes from different workers // based on the Jaccard index of the adjusted annotations. // @@ -13546,24 +14085,89 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentBoundingBox // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentBoundingBox // - // Semantic segmentation adjustment - Treats each pixel in an image as a multi-class - // classification and treats pixel adjusted annotations from workers as "votes" - // for the correct label. - // - // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentSemanticSegmentation - // - // For more information, see Annotation Consolidation (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html). + // Video Frame Object Detection Adjustment - Use this task type when you want + // workers to adjust bounding boxes that workers have added to video frames + // to classify and localize objects in a sequence of video frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentVideoObjectDetection + // + // Video Frame Object Tracking Adjustment - Use this task type when you want + // workers to adjust bounding boxes that workers have added to video frames + // to track object movement across a sequence of video frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentVideoObjectTracking + // + // 3D point cloud object detection adjustment - Use this task type when you + // want workers to adjust 3D cuboids around objects in a 3D point cloud. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudObjectDetection + // + // 3D point cloud object tracking adjustment - Use this task type when you want + // workers to adjust 3D cuboids around objects that appear in a sequence of + // 3D point cloud frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudObjectTracking + // + // 3D point cloud semantic segmentation adjustment - Use this task type when + // you want workers to adjust a point-level semantic segmentation masks using + // a paint tool. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudSemanticSegmentation // // AnnotationConsolidationLambdaArn is a required field AnnotationConsolidationLambdaArn *string `type:"string" required:"true"` @@ -15149,6 +15753,71 @@ func (s *CodeRepositorySummary) SetLastModifiedTime(v time.Time) *CodeRepository return s } +// Use this parameter to configure your Amazon Cognito workforce. A single Cognito +// workforce is created using and corresponds to a single Amazon Cognito user +// pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). +type CognitoConfig struct { + _ struct{} `type:"structure"` + + // The client ID for your Amazon Cognito user pool. + // + // ClientId is a required field + ClientId *string `min:"1" type:"string" required:"true"` + + // A user pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) + // is a user directory in Amazon Cognito. With a user pool, your users can sign + // in to your web or mobile app through Amazon Cognito. Your users can also + // sign in through social identity providers like Google, Facebook, Amazon, + // or Apple, and through SAML identity providers. + // + // UserPool is a required field + UserPool *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CognitoConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CognitoConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CognitoConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CognitoConfig"} + if s.ClientId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientId")) + } + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.UserPool == nil { + invalidParams.Add(request.NewErrParamRequired("UserPool")) + } + if s.UserPool != nil && len(*s.UserPool) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPool", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientId sets the ClientId field's value. +func (s *CognitoConfig) SetClientId(v string) *CognitoConfig { + s.ClientId = &v + return s +} + +// SetUserPool sets the UserPool field's value. +func (s *CognitoConfig) SetUserPool(v string) *CognitoConfig { + s.UserPool = &v + return s +} + // Identifies a Amazon Cognito user group. A user group can be used in on or // more work teams. type CognitoMemberDefinition struct { @@ -15301,10 +15970,20 @@ type CompilationJobSummary struct { // The time when the model compilation job started. CompilationStartTime *time.Time `type:"timestamp"` - // The type of device that the model will run on after compilation has completed. - // - // CompilationTargetDevice is a required field - CompilationTargetDevice *string `type:"string" required:"true" enum:"TargetDevice"` + // The type of device that the model will run on after the compilation job has + // completed. + CompilationTargetDevice *string `type:"string" enum:"TargetDevice"` + + // The type of accelerator that the model will run on after the compilation + // job has completed. + CompilationTargetPlatformAccelerator *string `type:"string" enum:"TargetPlatformAccelerator"` + + // The type of architecture that the model will run on after the compilation + // job has completed. + CompilationTargetPlatformArch *string `type:"string" enum:"TargetPlatformArch"` + + // The type of OS that the model will run on after the compilation job has completed. + CompilationTargetPlatformOs *string `type:"string" enum:"TargetPlatformOs"` // The time when the model compilation job was created. // @@ -15361,6 +16040,24 @@ func (s *CompilationJobSummary) SetCompilationTargetDevice(v string) *Compilatio return s } +// SetCompilationTargetPlatformAccelerator sets the CompilationTargetPlatformAccelerator field's value. +func (s *CompilationJobSummary) SetCompilationTargetPlatformAccelerator(v string) *CompilationJobSummary { + s.CompilationTargetPlatformAccelerator = &v + return s +} + +// SetCompilationTargetPlatformArch sets the CompilationTargetPlatformArch field's value. +func (s *CompilationJobSummary) SetCompilationTargetPlatformArch(v string) *CompilationJobSummary { + s.CompilationTargetPlatformArch = &v + return s +} + +// SetCompilationTargetPlatformOs sets the CompilationTargetPlatformOs field's value. +func (s *CompilationJobSummary) SetCompilationTargetPlatformOs(v string) *CompilationJobSummary { + s.CompilationTargetPlatformOs = &v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *CompilationJobSummary) SetCreationTime(v time.Time) *CompilationJobSummary { s.CreationTime = &v @@ -17484,7 +18181,14 @@ type CreateLabelingJobInput struct { // The S3 URL of the file that defines the categories used to label the data // objects. // - // The file is a JSON structure in the following format: + // For 3D point cloud task types, see Create a Labeling Category Configuration + // File for 3D Point Cloud Labeling Jobs (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-label-category-config.html). + // + // For all other built-in task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) + // and custom tasks (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html), + // your label category configuration file must be a JSON file in the following + // format. Identify the labels you want to use by replacing label_1, label_2,...,label_n + // with your label categories. // // { // @@ -17494,13 +18198,13 @@ type CreateLabelingJobInput struct { // // { // - // "label": "label 1" + // "label": "label_1" // // }, // // { // - // "label": "label 2" + // "label": "label_2" // // }, // @@ -17508,7 +18212,7 @@ type CreateLabelingJobInput struct { // // { // - // "label": "label n" + // "label": "label_n" // // } // @@ -18663,7 +19367,14 @@ type CreateProcessingJobInput struct { // Sets the environment variables in the Docker container. Environment map[string]*string `type:"map"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // Networking options for a processing job. @@ -18935,7 +19646,14 @@ type CreateTrainingJobInput struct { // have network access. EnableNetworkIsolation *bool `type:"boolean"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // Algorithm-specific parameters that influence the quality of the model. You @@ -19316,7 +20034,14 @@ type CreateTransformJobInput struct { // 16 key and values entries in the map. Environment map[string]*string `type:"map"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // The maximum number of parallel requests that can be sent to each instance @@ -19984,6 +20709,142 @@ func (s *CreateUserProfileOutput) SetUserProfileArn(v string) *CreateUserProfile return s } +type CreateWorkforceInput struct { + _ struct{} `type:"structure"` + + // Use this parameter to configure an Amazon Cognito private workforce. A single + // Cognito workforce is created using and corresponds to a single Amazon Cognito + // user pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). + // + // Do not use OidcConfig if you specify values for CognitoConfig. + CognitoConfig *CognitoConfig `type:"structure"` + + // Use this parameter to configure a private workforce using your own OIDC Identity + // Provider. Do not use CognitoConfig if you specify values for OidcConfig. + OidcConfig *OidcConfig `type:"structure"` + + // A list of IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)). + // Used to create an allow list of IP addresses for a private workforce. For + // more information, see . + SourceIpConfig *SourceIpConfig `type:"structure"` + + // An array of key-value pairs that contain metadata to help you categorize + // and organize our workforce. Each tag consists of a key and a value, both + // of which you define. + Tags []*Tag `type:"list"` + + // The name of the private workforce. + // + // WorkforceName is a required field + WorkforceName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateWorkforceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkforceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWorkforceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkforceInput"} + if s.WorkforceName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkforceName")) + } + if s.WorkforceName != nil && len(*s.WorkforceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkforceName", 1)) + } + if s.CognitoConfig != nil { + if err := s.CognitoConfig.Validate(); err != nil { + invalidParams.AddNested("CognitoConfig", err.(request.ErrInvalidParams)) + } + } + if s.OidcConfig != nil { + if err := s.OidcConfig.Validate(); err != nil { + invalidParams.AddNested("OidcConfig", err.(request.ErrInvalidParams)) + } + } + if s.SourceIpConfig != nil { + if err := s.SourceIpConfig.Validate(); err != nil { + invalidParams.AddNested("SourceIpConfig", 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 +} + +// SetCognitoConfig sets the CognitoConfig field's value. +func (s *CreateWorkforceInput) SetCognitoConfig(v *CognitoConfig) *CreateWorkforceInput { + s.CognitoConfig = v + return s +} + +// SetOidcConfig sets the OidcConfig field's value. +func (s *CreateWorkforceInput) SetOidcConfig(v *OidcConfig) *CreateWorkforceInput { + s.OidcConfig = v + return s +} + +// SetSourceIpConfig sets the SourceIpConfig field's value. +func (s *CreateWorkforceInput) SetSourceIpConfig(v *SourceIpConfig) *CreateWorkforceInput { + s.SourceIpConfig = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateWorkforceInput) SetTags(v []*Tag) *CreateWorkforceInput { + s.Tags = v + return s +} + +// SetWorkforceName sets the WorkforceName field's value. +func (s *CreateWorkforceInput) SetWorkforceName(v string) *CreateWorkforceInput { + s.WorkforceName = &v + return s +} + +type CreateWorkforceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the workforce. + // + // WorkforceArn is a required field + WorkforceArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateWorkforceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkforceOutput) GoString() string { + return s.String() +} + +// SetWorkforceArn sets the WorkforceArn field's value. +func (s *CreateWorkforceOutput) SetWorkforceArn(v string) *CreateWorkforceOutput { + s.WorkforceArn = &v + return s +} + type CreateWorkteamInput struct { _ struct{} `type:"structure"` @@ -20012,6 +20873,9 @@ type CreateWorkteamInput struct { // in the AWS Billing and Cost Management User Guide. Tags []*Tag `type:"list"` + // The name of the workforce. + WorkforceName *string `min:"1" type:"string"` + // The name of the work team. Use this name to identify the work team. // // WorkteamName is a required field @@ -20043,6 +20907,9 @@ func (s *CreateWorkteamInput) Validate() error { if s.MemberDefinitions != nil && len(s.MemberDefinitions) < 1 { invalidParams.Add(request.NewErrParamMinLen("MemberDefinitions", 1)) } + if s.WorkforceName != nil && len(*s.WorkforceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkforceName", 1)) + } if s.WorkteamName == nil { invalidParams.Add(request.NewErrParamRequired("WorkteamName")) } @@ -20100,6 +20967,12 @@ func (s *CreateWorkteamInput) SetTags(v []*Tag) *CreateWorkteamInput { return s } +// SetWorkforceName sets the WorkforceName field's value. +func (s *CreateWorkteamInput) SetWorkforceName(v string) *CreateWorkteamInput { + s.WorkforceName = &v + return s +} + // SetWorkteamName sets the WorkteamName field's value. func (s *CreateWorkteamInput) SetWorkteamName(v string) *CreateWorkteamInput { s.WorkteamName = &v @@ -21150,6 +22023,62 @@ func (s DeleteFlowDefinitionOutput) GoString() string { return s.String() } +type DeleteHumanTaskUiInput struct { + _ struct{} `type:"structure"` + + // The name of the human task user interface (work task template) you want to + // delete. + // + // HumanTaskUiName is a required field + HumanTaskUiName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteHumanTaskUiInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteHumanTaskUiInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteHumanTaskUiInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteHumanTaskUiInput"} + if s.HumanTaskUiName == nil { + invalidParams.Add(request.NewErrParamRequired("HumanTaskUiName")) + } + if s.HumanTaskUiName != nil && len(*s.HumanTaskUiName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HumanTaskUiName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHumanTaskUiName sets the HumanTaskUiName field's value. +func (s *DeleteHumanTaskUiInput) SetHumanTaskUiName(v string) *DeleteHumanTaskUiInput { + s.HumanTaskUiName = &v + return s +} + +type DeleteHumanTaskUiOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteHumanTaskUiOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteHumanTaskUiOutput) GoString() string { + return s.String() +} + type DeleteModelInput struct { _ struct{} `type:"structure"` @@ -21680,6 +22609,61 @@ func (s DeleteUserProfileOutput) GoString() string { return s.String() } +type DeleteWorkforceInput struct { + _ struct{} `type:"structure"` + + // The name of the workforce. + // + // WorkforceName is a required field + WorkforceName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWorkforceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkforceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkforceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkforceInput"} + if s.WorkforceName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkforceName")) + } + if s.WorkforceName != nil && len(*s.WorkforceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkforceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkforceName sets the WorkforceName field's value. +func (s *DeleteWorkforceInput) SetWorkforceName(v string) *DeleteWorkforceInput { + s.WorkforceName = &v + return s +} + +type DeleteWorkforceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWorkforceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkforceOutput) GoString() string { + return s.String() +} + type DeleteWorkteamInput struct { _ struct{} `type:"structure"` @@ -23379,6 +24363,7 @@ type DescribeFlowDefinitionOutput struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` + // The reason your flow definition failed. FailureReason *string `type:"string"` // The Amazon Resource Name (ARN) of the flow defintion. @@ -23494,7 +24479,8 @@ func (s *DescribeFlowDefinitionOutput) SetRoleArn(v string) *DescribeFlowDefinit type DescribeHumanTaskUiInput struct { _ struct{} `type:"structure"` - // The name of the human task user interface you want information about. + // The name of the human task user interface (worker task template) you want + // information about. // // HumanTaskUiName is a required field HumanTaskUiName *string `min:"1" type:"string" required:"true"` @@ -23540,16 +24526,21 @@ type DescribeHumanTaskUiOutput struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` - // The Amazon Resource Name (ARN) of the human task user interface. + // The Amazon Resource Name (ARN) of the human task user interface (worker task + // template). // // HumanTaskUiArn is a required field HumanTaskUiArn *string `type:"string" required:"true"` - // The name of the human task user interface. + // The name of the human task user interface (worker task template). // // HumanTaskUiName is a required field HumanTaskUiName *string `min:"1" type:"string" required:"true"` + // The status of the human task user interface (worker task template). Valid + // values are listed below. + HumanTaskUiStatus *string `type:"string" enum:"HumanTaskUiStatus"` + // Container for user interface template information. // // UiTemplate is a required field @@ -23584,6 +24575,12 @@ func (s *DescribeHumanTaskUiOutput) SetHumanTaskUiName(v string) *DescribeHumanT return s } +// SetHumanTaskUiStatus sets the HumanTaskUiStatus field's value. +func (s *DescribeHumanTaskUiOutput) SetHumanTaskUiStatus(v string) *DescribeHumanTaskUiOutput { + s.HumanTaskUiStatus = &v + return s +} + // SetUiTemplate sets the UiTemplate field's value. func (s *DescribeHumanTaskUiOutput) SetUiTemplate(v *UiTemplateInfo) *DescribeHumanTaskUiOutput { s.UiTemplate = v @@ -23593,7 +24590,7 @@ func (s *DescribeHumanTaskUiOutput) SetUiTemplate(v *UiTemplateInfo) *DescribeHu type DescribeHyperParameterTuningJobInput struct { _ struct{} `type:"structure"` - // The name of the tuning job to describe. + // The name of the tuning job. // // HyperParameterTuningJobName is a required field HyperParameterTuningJobName *string `min:"1" type:"string" required:"true"` @@ -25335,7 +26332,14 @@ type DescribeTrainingJobOutput struct { // have network access. EnableNetworkIsolation *bool `type:"boolean"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // If the training job failed, the reason it failed. @@ -25801,7 +26805,14 @@ type DescribeTransformJobOutput struct { // 16 key and values entries in the map. Environment map[string]*string `type:"map"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // If the transform job failed, FailureReason describes why it failed. A transform @@ -27197,17 +28208,26 @@ func (s *Experiment) SetTags(v []*Tag) *Experiment { return s } -// Configuration for the experiment. +// Associates a SageMaker job as a trial component with an experiment and trial. +// Specified when you call the following APIs: +// +// * CreateProcessingJob +// +// * CreateTrainingJob +// +// * CreateTransformJob type ExperimentConfig struct { _ struct{} `type:"structure"` - // The name of the experiment. + // The name of an existing experiment to associate the trial component with. ExperimentName *string `min:"1" type:"string"` - // Display name for the trial component. + // The display name for the trial component. If this key isn't specified, the + // display name is the trial component name. TrialComponentDisplayName *string `min:"1" type:"string"` - // The name of the trial. + // The name of an existing trial to associate the trial component with. If not + // specified, a new trial is created. TrialName *string `min:"1" type:"string"` } @@ -28545,9 +29565,10 @@ type HumanTaskConfig struct { // data object is sent to a human worker. Use this function to provide input // to a custom labeling job. // - // For the built-in bounding box, image classification, semantic segmentation, - // and text classification task types, Amazon SageMaker Ground Truth provides - // the following Lambda functions: + // For built-in task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), + // use one of the following Amazon SageMaker Ground Truth Lambda function ARNs + // for PreHumanTaskLambdaArn. For custom labeling workflows, see Pre-annotation + // Lambda (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3.html#sms-custom-templates-step3-prelambda). // // Bounding box - Finds the most similar boxes from different workers based // on the Jaccard index of the boxes. @@ -28741,33 +29762,218 @@ type HumanTaskConfig struct { // // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition // + // Video Classification - Use this task type when you need workers to classify + // videos using predefined labels that you specify. Workers are shown videos + // and are asked to choose one label for each video. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoMultiClass + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoMultiClass + // + // Video Frame Object Detection - Use this task type to have workers identify + // and locate objects in a sequence of video frames (images extracted from a + // video) using bounding boxes. For example, you can use this task to ask workers + // to identify and localize various objects in a series of video frames, such + // as cars, bikes, and pedestrians. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoObjectDetection + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoObjectDetection + // + // Video Frame Object Tracking - Use this task type to have workers track the + // movement of objects in a sequence of video frames (images extracted from + // a video) using bounding boxes. For example, you can use this task to ask + // workers to track the movement of objects, such as cars, bikes, and pedestrians. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoObjectTracking + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoObjectTracking + // + // 3D Point Cloud Modalities + // + // Use the following pre-annotation lambdas for 3D point cloud labeling modality + // tasks. See 3D Point Cloud Task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-task-types.html) + // to learn more. + // + // 3D Point Cloud Object Detection - Use this task type when you want workers + // to classify objects in a 3D point cloud by drawing 3D cuboids around objects. + // For example, you can use this task type to ask workers to identify different + // types of objects in a point cloud, such as cars, bikes, and pedestrians. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectDetection + // + // 3D Point Cloud Object Tracking - Use this task type when you want workers + // to draw 3D cuboids around objects that appear in a sequence of 3D point cloud + // frames. For example, you can use this task type to ask workers to track the + // movement of vehicles across multiple point cloud frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectTracking + // + // 3D Point Cloud Semantic Segmentation - Use this task type when you want workers + // to create a point-level semantic segmentation masks by painting objects in + // a 3D point cloud using different colors where each color is assigned to one + // of the classes you specify. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudSemanticSegmentation + // + // Use the following ARNs for Label Verification and Adjustment Jobs + // + // Use label verification and adjustment jobs to review and adjust labels. To + // learn more, see Verify and Adjust Labels (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-verification-data.html). + // // Bounding box verification - Uses a variant of the Expectation Maximization // approach to estimate the true class of verification judgement for bounding // box labels based on annotations from individual workers. // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking // // Bounding box adjustment - Finds the most similar boxes from different workers // based on the Jaccard index of the adjusted annotations. @@ -28852,6 +30058,143 @@ type HumanTaskConfig struct { // // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentSemanticSegmentation // + // Video Frame Object Detection Adjustment - Use this task type when you want + // workers to adjust bounding boxes that workers have added to video frames + // to classify and localize objects in a sequence of video frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentVideoObjectDetection + // + // Video Frame Object Tracking Adjustment - Use this task type when you want + // workers to adjust bounding boxes that workers have added to video frames + // to track object movement across a sequence of video frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentVideoObjectTracking + // + // 3D point cloud object detection adjustment - Adjust 3D cuboids in a point + // cloud frame. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectDetection + // + // 3D point cloud object tracking adjustment - Adjust 3D cuboids across a sequence + // of point cloud frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking + // + // 3D point cloud semantic segmentation adjustment - Adjust semantic segmentation + // masks in a 3D point cloud. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // // PreHumanTaskLambdaArn is a required field PreHumanTaskLambdaArn *string `type:"string" required:"true"` @@ -30783,9 +32126,7 @@ type LabelingJobDataSource struct { _ struct{} `type:"structure"` // The Amazon S3 location of the input data objects. - // - // S3DataSource is a required field - S3DataSource *LabelingJobS3DataSource `type:"structure" required:"true"` + S3DataSource *LabelingJobS3DataSource `type:"structure"` } // String returns the string representation @@ -30801,9 +32142,6 @@ func (s LabelingJobDataSource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *LabelingJobDataSource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LabelingJobDataSource"} - if s.S3DataSource == nil { - invalidParams.Add(request.NewErrParamRequired("S3DataSource")) - } if s.S3DataSource != nil { if err := s.S3DataSource.Validate(); err != nil { invalidParams.AddNested("S3DataSource", err.(request.ErrInvalidParams)) @@ -35506,6 +36844,116 @@ func (s *ListUserProfilesOutput) SetUserProfiles(v []*UserProfileDetails) *ListU return s } +type ListWorkforcesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of workforces returned in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A filter you can use to search for workforces using part of the workforce + // name. + NameContains *string `min:"1" type:"string"` + + // A token to resume pagination. + NextToken *string `type:"string"` + + // Sort workforces using the workforce name or creation date. + SortBy *string `type:"string" enum:"ListWorkforcesSortByOptions"` + + // Sort workforces in ascending or descending order. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation +func (s ListWorkforcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWorkforcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWorkforcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkforcesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NameContains != nil && len(*s.NameContains) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameContains", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkforcesInput) SetMaxResults(v int64) *ListWorkforcesInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListWorkforcesInput) SetNameContains(v string) *ListWorkforcesInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkforcesInput) SetNextToken(v string) *ListWorkforcesInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListWorkforcesInput) SetSortBy(v string) *ListWorkforcesInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListWorkforcesInput) SetSortOrder(v string) *ListWorkforcesInput { + s.SortOrder = &v + return s +} + +type ListWorkforcesOutput struct { + _ struct{} `type:"structure"` + + // A token to resume pagination. + NextToken *string `type:"string"` + + // A list containing information about your workforce. + // + // Workforces is a required field + Workforces []*Workforce `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListWorkforcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWorkforcesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkforcesOutput) SetNextToken(v string) *ListWorkforcesOutput { + s.NextToken = &v + return s +} + +// SetWorkforces sets the Workforces field's value. +func (s *ListWorkforcesOutput) SetWorkforces(v []*Workforce) *ListWorkforcesOutput { + s.Workforces = v + return s +} + type ListWorkteamsInput struct { _ struct{} `type:"structure"` @@ -35625,6 +37073,13 @@ type MemberDefinition struct { // The Amazon Cognito user group that is part of the work team. CognitoMemberDefinition *CognitoMemberDefinition `type:"structure"` + + // A list user groups that exist in your OIDC Identity Provider (IdP). One to + // ten groups can be used to create a single private work team. When you add + // a user group to the list of Groups, you can add that user group to one or + // more private work teams. If you add a user group to a private work team, + // all workers in that user group are added to the work team. + OidcMemberDefinition *OidcMemberDefinition `type:"structure"` } // String returns the string representation @@ -35645,6 +37100,11 @@ func (s *MemberDefinition) Validate() error { invalidParams.AddNested("CognitoMemberDefinition", err.(request.ErrInvalidParams)) } } + if s.OidcMemberDefinition != nil { + if err := s.OidcMemberDefinition.Validate(); err != nil { + invalidParams.AddNested("OidcMemberDefinition", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -35658,6 +37118,12 @@ func (s *MemberDefinition) SetCognitoMemberDefinition(v *CognitoMemberDefinition return s } +// SetOidcMemberDefinition sets the OidcMemberDefinition field's value. +func (s *MemberDefinition) SetOidcMemberDefinition(v *OidcMemberDefinition) *MemberDefinition { + s.OidcMemberDefinition = v + return s +} + // The name, value, and date and time of a metric that was emitted to Amazon // CloudWatch. type MetricData struct { @@ -37693,22 +39159,349 @@ func (s *ObjectiveStatusCounters) SetSucceeded(v int64) *ObjectiveStatusCounters return s } +// Use this parameter to configure your OIDC Identity Provider (IdP). +type OidcConfig struct { + _ struct{} `type:"structure"` + + // The OIDC IdP authorization endpoint used to configure your private workforce. + // + // AuthorizationEndpoint is a required field + AuthorizationEndpoint *string `type:"string" required:"true"` + + // The OIDC IdP client ID used to configure your private workforce. + // + // ClientId is a required field + ClientId *string `min:"1" type:"string" required:"true"` + + // The OIDC IdP client secret used to configure your private workforce. + // + // ClientSecret is a required field + ClientSecret *string `min:"1" type:"string" required:"true" sensitive:"true"` + + // The OIDC IdP issuer used to configure your private workforce. + // + // Issuer is a required field + Issuer *string `type:"string" required:"true"` + + // The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce. + // + // JwksUri is a required field + JwksUri *string `type:"string" required:"true"` + + // The OIDC IdP logout endpoint used to configure your private workforce. + // + // LogoutEndpoint is a required field + LogoutEndpoint *string `type:"string" required:"true"` + + // The OIDC IdP token endpoint used to configure your private workforce. + // + // TokenEndpoint is a required field + TokenEndpoint *string `type:"string" required:"true"` + + // The OIDC IdP user information endpoint used to configure your private workforce. + // + // UserInfoEndpoint is a required field + UserInfoEndpoint *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s OidcConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OidcConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OidcConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OidcConfig"} + if s.AuthorizationEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("AuthorizationEndpoint")) + } + if s.ClientId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientId")) + } + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.ClientSecret == nil { + invalidParams.Add(request.NewErrParamRequired("ClientSecret")) + } + if s.ClientSecret != nil && len(*s.ClientSecret) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientSecret", 1)) + } + if s.Issuer == nil { + invalidParams.Add(request.NewErrParamRequired("Issuer")) + } + if s.JwksUri == nil { + invalidParams.Add(request.NewErrParamRequired("JwksUri")) + } + if s.LogoutEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("LogoutEndpoint")) + } + if s.TokenEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("TokenEndpoint")) + } + if s.UserInfoEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("UserInfoEndpoint")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value. +func (s *OidcConfig) SetAuthorizationEndpoint(v string) *OidcConfig { + s.AuthorizationEndpoint = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *OidcConfig) SetClientId(v string) *OidcConfig { + s.ClientId = &v + return s +} + +// SetClientSecret sets the ClientSecret field's value. +func (s *OidcConfig) SetClientSecret(v string) *OidcConfig { + s.ClientSecret = &v + return s +} + +// SetIssuer sets the Issuer field's value. +func (s *OidcConfig) SetIssuer(v string) *OidcConfig { + s.Issuer = &v + return s +} + +// SetJwksUri sets the JwksUri field's value. +func (s *OidcConfig) SetJwksUri(v string) *OidcConfig { + s.JwksUri = &v + return s +} + +// SetLogoutEndpoint sets the LogoutEndpoint field's value. +func (s *OidcConfig) SetLogoutEndpoint(v string) *OidcConfig { + s.LogoutEndpoint = &v + return s +} + +// SetTokenEndpoint sets the TokenEndpoint field's value. +func (s *OidcConfig) SetTokenEndpoint(v string) *OidcConfig { + s.TokenEndpoint = &v + return s +} + +// SetUserInfoEndpoint sets the UserInfoEndpoint field's value. +func (s *OidcConfig) SetUserInfoEndpoint(v string) *OidcConfig { + s.UserInfoEndpoint = &v + return s +} + +// Your Amazon Cognito workforce configuration. +type OidcConfigForResponse struct { + _ struct{} `type:"structure"` + + // The OIDC IdP authorization endpoint used to configure your private workforce. + AuthorizationEndpoint *string `type:"string"` + + // The OIDC IdP client ID used to configure your private workforce. + ClientId *string `min:"1" type:"string"` + + // The OIDC IdP issuer used to configure your private workforce. + Issuer *string `type:"string"` + + // The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce. + JwksUri *string `type:"string"` + + // The OIDC IdP logout endpoint used to configure your private workforce. + LogoutEndpoint *string `type:"string"` + + // The OIDC IdP token endpoint used to configure your private workforce. + TokenEndpoint *string `type:"string"` + + // The OIDC IdP user information endpoint used to configure your private workforce. + UserInfoEndpoint *string `type:"string"` +} + +// String returns the string representation +func (s OidcConfigForResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OidcConfigForResponse) GoString() string { + return s.String() +} + +// SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value. +func (s *OidcConfigForResponse) SetAuthorizationEndpoint(v string) *OidcConfigForResponse { + s.AuthorizationEndpoint = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *OidcConfigForResponse) SetClientId(v string) *OidcConfigForResponse { + s.ClientId = &v + return s +} + +// SetIssuer sets the Issuer field's value. +func (s *OidcConfigForResponse) SetIssuer(v string) *OidcConfigForResponse { + s.Issuer = &v + return s +} + +// SetJwksUri sets the JwksUri field's value. +func (s *OidcConfigForResponse) SetJwksUri(v string) *OidcConfigForResponse { + s.JwksUri = &v + return s +} + +// SetLogoutEndpoint sets the LogoutEndpoint field's value. +func (s *OidcConfigForResponse) SetLogoutEndpoint(v string) *OidcConfigForResponse { + s.LogoutEndpoint = &v + return s +} + +// SetTokenEndpoint sets the TokenEndpoint field's value. +func (s *OidcConfigForResponse) SetTokenEndpoint(v string) *OidcConfigForResponse { + s.TokenEndpoint = &v + return s +} + +// SetUserInfoEndpoint sets the UserInfoEndpoint field's value. +func (s *OidcConfigForResponse) SetUserInfoEndpoint(v string) *OidcConfigForResponse { + s.UserInfoEndpoint = &v + return s +} + +// A list user groups that exist in your OIDC Identity Provider (IdP). One to +// ten groups can be used to create a single private work team. When you add +// a user group to the list of Groups, you can add that user group to one or +// more private work teams. If you add a user group to a private work team, +// all workers in that user group are added to the work team. +type OidcMemberDefinition struct { + _ struct{} `type:"structure"` + + // A list of comma seperated strings that identifies user groups in your OIDC + // IdP. Each user group is made up of a group of private workers. + // + // Groups is a required field + Groups []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s OidcMemberDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OidcMemberDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OidcMemberDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OidcMemberDefinition"} + if s.Groups == nil { + invalidParams.Add(request.NewErrParamRequired("Groups")) + } + if s.Groups != nil && len(s.Groups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Groups", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroups sets the Groups field's value. +func (s *OidcMemberDefinition) SetGroups(v []*string) *OidcMemberDefinition { + s.Groups = v + return s +} + // Contains information about the output location for the compiled model and -// the device (target) that the model runs on. +// the target device that the model runs on. TargetDevice and TargetPlatform +// are mutually exclusive, so you need to choose one between the two to specify +// your target device or platform. If you cannot find your device you want to +// use from the TargetDevice list, use TargetPlatform to describe the platform +// of your edge device and CompilerOptions if there are specific settings that +// are required or recommended to use for particular TargetPlatform. type OutputConfig struct { _ struct{} `type:"structure"` - // Identifies the S3 path where you want Amazon SageMaker to store the model + // Specifies additional parameters for compiler options in JSON format. The + // compiler options are TargetPlatform specific. It is required for NVIDIA accelerators + // and highly recommended for CPU compliations. For any other cases, it is optional + // to specify CompilerOptions. + // + // * CPU: Compilation for CPU supports the following compiler options. mcpu: + // CPU micro-architecture. For example, {'mcpu': 'skylake-avx512'} mattr: + // CPU flags. For example, {'mattr': ['+neon', '+vfpv4']} + // + // * ARM: Details of ARM CPU compilations. NEON: NEON is an implementation + // of the Advanced SIMD extension used in ARMv7 processors. For example, + // add {'mattr': ['+neon']} to the compiler options if compiling for ARM + // 32-bit platform with the NEON support. + // + // * NVIDIA: Compilation for NVIDIA GPU supports the following compiler options. + // gpu_code: Specifies the targeted architecture. trt-ver: Specifies the + // TensorRT versions in x.y.z. format. cuda-ver: Specifies the CUDA version + // in x.y format. For example, {'gpu-code': 'sm_72', 'trt-ver': '6.0.1', + // 'cuda-ver': '10.1'} + // + // * ANDROID: Compilation for the Android OS supports the following compiler + // options: ANDROID_PLATFORM: Specifies the Android API levels. Available + // levels range from 21 to 29. For example, {'ANDROID_PLATFORM': 28}. mattr: + // Add {'mattr': ['+neon']} to compiler options if compiling for ARM 32-bit + // platform with NEON support. + CompilerOptions *string `min:"7" type:"string"` + + // Identifies the S3 bucket where you want Amazon SageMaker to store the model // artifacts. For example, s3://bucket-name/key-name-prefix. // // S3OutputLocation is a required field S3OutputLocation *string `type:"string" required:"true"` - // Identifies the device that you want to run your model on after it has been - // compiled. For example: ml_c5. + // Identifies the target device or the machine learning instance that you want + // to run your model on after the compilation has completed. Alternatively, + // you can specify OS, architecture, and accelerator using TargetPlatform fields. + // It can be used instead of TargetPlatform. + TargetDevice *string `type:"string" enum:"TargetDevice"` + + // Contains information about a target platform that you want your model to + // run on, such as OS, architecture, and accelerators. It is an alternative + // of TargetDevice. + // + // The following examples show how to configure the TargetPlatform and CompilerOptions + // JSON strings for popular target platforms: + // + // * Raspberry Pi 3 Model B+ "TargetPlatform": {"Os": "LINUX", "Arch": "ARM_EABIHF"}, + // "CompilerOptions": {'mattr': ['+neon']} + // + // * Jetson TX2 "TargetPlatform": {"Os": "LINUX", "Arch": "ARM64", "Accelerator": + // "NVIDIA"}, "CompilerOptions": {'gpu-code': 'sm_62', 'trt-ver': '6.0.1', + // 'cuda-ver': '10.0'} + // + // * EC2 m5.2xlarge instance OS "TargetPlatform": {"Os": "LINUX", "Arch": + // "X86_64", "Accelerator": "NVIDIA"}, "CompilerOptions": {'mcpu': 'skylake-avx512'} + // + // * RK3399 "TargetPlatform": {"Os": "LINUX", "Arch": "ARM64", "Accelerator": + // "MALI"} + // + // * ARMv7 phone (CPU) "TargetPlatform": {"Os": "ANDROID", "Arch": "ARM_EABI"}, + // "CompilerOptions": {'ANDROID_PLATFORM': 25, 'mattr': ['+neon']} // - // TargetDevice is a required field - TargetDevice *string `type:"string" required:"true" enum:"TargetDevice"` + // * ARMv8 phone (CPU) "TargetPlatform": {"Os": "ANDROID", "Arch": "ARM64"}, + // "CompilerOptions": {'ANDROID_PLATFORM': 29} + TargetPlatform *TargetPlatform `type:"structure"` } // String returns the string representation @@ -37724,11 +39517,16 @@ func (s OutputConfig) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *OutputConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "OutputConfig"} + if s.CompilerOptions != nil && len(*s.CompilerOptions) < 7 { + invalidParams.Add(request.NewErrParamMinLen("CompilerOptions", 7)) + } if s.S3OutputLocation == nil { invalidParams.Add(request.NewErrParamRequired("S3OutputLocation")) } - if s.TargetDevice == nil { - invalidParams.Add(request.NewErrParamRequired("TargetDevice")) + if s.TargetPlatform != nil { + if err := s.TargetPlatform.Validate(); err != nil { + invalidParams.AddNested("TargetPlatform", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -37737,6 +39535,12 @@ func (s *OutputConfig) Validate() error { return nil } +// SetCompilerOptions sets the CompilerOptions field's value. +func (s *OutputConfig) SetCompilerOptions(v string) *OutputConfig { + s.CompilerOptions = &v + return s +} + // SetS3OutputLocation sets the S3OutputLocation field's value. func (s *OutputConfig) SetS3OutputLocation(v string) *OutputConfig { s.S3OutputLocation = &v @@ -37749,6 +39553,12 @@ func (s *OutputConfig) SetTargetDevice(v string) *OutputConfig { return s } +// SetTargetPlatform sets the TargetPlatform field's value. +func (s *OutputConfig) SetTargetPlatform(v *TargetPlatform) *OutputConfig { + s.TargetPlatform = v + return s +} + // Provides information about how to store model training results (model artifacts). type OutputDataConfig struct { _ struct{} `type:"structure"` @@ -38228,7 +40038,14 @@ type ProcessingJob struct { // container when the processing job exits. ExitMessage *string `type:"string"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // A string, up to one KB in size, that contains the reason a processing job @@ -39408,6 +41225,8 @@ type RenderUiTemplateInput struct { // The HumanTaskUiArn of the worker UI that you want to render. Do not provide // a HumanTaskUiArn if you use the UiTemplate parameter. + // + // See a list of available Human Ui Amazon Resource Names (ARNs) in UiConfig. HumanTaskUiArn *string `type:"string"` // The Amazon Resource Name (ARN) that has access to the S3 objects that are @@ -40111,18 +41930,22 @@ type S3DataSource struct { // Depending on the value specified for the S3DataType, identifies either a // key name prefix or a manifest. For example: // - // * A key name prefix might look like this: s3://bucketname/exampleprefix. + // * A key name prefix might look like this: s3://bucketname/exampleprefix // - // * A manifest might look like this: s3://bucketname/example.manifest The - // manifest is an S3 object which is a JSON file with the following format: - // The preceding JSON matches the following s3Uris: [ {"prefix": "s3://customer_bucket/some/prefix/"}, + // * A manifest might look like this: s3://bucketname/example.manifest A + // manifest is an S3 object which is a JSON file consisting of an array of + // elements. The first element is a prefix which is followed by one or more + // suffixes. SageMaker appends the suffix elements to the prefix to get a + // full set of S3Uri. Note that the prefix must be a valid non-empty S3Uri + // that precludes users from specifying a manifest whose individual S3Uri + // is sourced from different S3 buckets. The following code example shows + // a valid manifest format: [ {"prefix": "s3://customer_bucket/some/prefix/"}, // "relative/path/to/custdata-1", "relative/path/custdata-2", ... "relative/path/custdata-N" - // ] The preceding JSON matches the following s3Uris: s3://customer_bucket/some/prefix/relative/path/to/custdata-1 + // ] This JSON is equivalent to the following S3Uri list: s3://customer_bucket/some/prefix/relative/path/to/custdata-1 // s3://customer_bucket/some/prefix/relative/path/custdata-2 ... s3://customer_bucket/some/prefix/relative/path/custdata-N - // The complete set of s3uris in this manifest is the input data for the - // channel for this datasource. The object that each s3uris points to must - // be readable by the IAM role that Amazon SageMaker uses to perform tasks - // on your behalf. + // The complete set of S3Uri in this manifest is the input data for the channel + // for this data source. The object that each S3Uri points to must be readable + // by the IAM role that Amazon SageMaker uses to perform tasks on your behalf. // // S3Uri is a required field S3Uri *string `type:"string" required:"true"` @@ -40917,10 +42740,10 @@ func (s *SourceAlgorithmSpecification) SetSourceAlgorithms(v []*SourceAlgorithm) type SourceIpConfig struct { _ struct{} `type:"structure"` - // A list of one to four Classless Inter-Domain Routing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) + // A list of one to ten Classless Inter-Domain Routing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) // (CIDR) values. // - // Maximum: Four CIDR values + // Maximum: Ten CIDR values // // The following Length Constraints apply to individual CIDR values in the CIDR // value list. @@ -41634,6 +43457,7 @@ func (s *StoppingCondition) SetMaxWaitTimeInSeconds(v int64) *StoppingCondition type SubscribedWorkteam struct { _ struct{} `type:"structure"` + // Marketplace product listing ID. ListingId *string `type:"string"` // The description of the vendor from the Amazon Marketplace. @@ -41788,6 +43612,93 @@ func (s *Tag) SetValue(v string) *Tag { return s } +// Contains information about a target platform that you want your model to +// run on, such as OS, architecture, and accelerators. It is an alternative +// of TargetDevice. +type TargetPlatform struct { + _ struct{} `type:"structure"` + + // Specifies a target platform accelerator (optional). + // + // * NVIDIA: Nvidia graphics processing unit. It also requires gpu-code, + // trt-ver, cuda-ver compiler options + // + // * MALI: ARM Mali graphics processor + // + // * INTEL_GRAPHICS: Integrated Intel graphics + Accelerator *string `type:"string" enum:"TargetPlatformAccelerator"` + + // Specifies a target platform architecture. + // + // * X86_64: 64-bit version of the x86 instruction set. + // + // * X86: 32-bit version of the x86 instruction set. + // + // * ARM64: ARMv8 64-bit CPU. + // + // * ARM_EABIHF: ARMv7 32-bit, Hard Float. + // + // * ARM_EABI: ARMv7 32-bit, Soft Float. Used by Android 32-bit ARM platform. + // + // Arch is a required field + Arch *string `type:"string" required:"true" enum:"TargetPlatformArch"` + + // Specifies a target platform OS. + // + // * LINUX: Linux-based operating systems. + // + // * ANDROID: Android operating systems. Android API level can be specified + // using the ANDROID_PLATFORM compiler option. For example, "CompilerOptions": + // {'ANDROID_PLATFORM': 28} + // + // Os is a required field + Os *string `type:"string" required:"true" enum:"TargetPlatformOs"` +} + +// String returns the string representation +func (s TargetPlatform) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetPlatform) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TargetPlatform) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TargetPlatform"} + if s.Arch == nil { + invalidParams.Add(request.NewErrParamRequired("Arch")) + } + if s.Os == nil { + invalidParams.Add(request.NewErrParamRequired("Os")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccelerator sets the Accelerator field's value. +func (s *TargetPlatform) SetAccelerator(v string) *TargetPlatform { + s.Accelerator = &v + return s +} + +// SetArch sets the Arch field's value. +func (s *TargetPlatform) SetArch(v string) *TargetPlatform { + s.Arch = &v + return s +} + +// SetOs sets the Os field's value. +func (s *TargetPlatform) SetOs(v string) *TargetPlatform { + s.Os = &v + return s +} + // The TensorBoard app settings. type TensorBoardAppSettings struct { _ struct{} `type:"structure"` @@ -41908,7 +43819,14 @@ type TrainingJob struct { // VPC they run in. EnableNetworkIsolation *bool `type:"boolean"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // If the training job failed, the reason it failed. @@ -42889,6 +44807,261 @@ func (s *TransformInput) SetSplitType(v string) *TransformInput { return s } +// A batch transform job. For information about SageMaker batch transform, see +// Use Batch Transform (https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html). +type TransformJob struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the AutoML job that created the transform + // job. + AutoMLJobArn *string `min:"1" type:"string"` + + // Specifies the number of records to include in a mini-batch for an HTTP inference + // request. A record is a single unit of input data that inference can be made + // on. For example, a single line in a CSV file is a record. + BatchStrategy *string `type:"string" enum:"BatchStrategy"` + + // A timestamp that shows when the transform Job was created. + CreationTime *time.Time `type:"timestamp"` + + // The data structure used to specify the data to be used for inference in a + // batch transform job and to associate the data that is relevant to the prediction + // results in the output. The input filter provided allows you to exclude input + // data that is not needed for inference in a batch transform job. The output + // filter provided allows you to include input data relevant to interpreting + // the predictions in the output from the job. For more information, see Associate + // Prediction Results with their Corresponding Input Records (https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-data-processing.html). + DataProcessing *DataProcessing `type:"structure"` + + // The environment variables to set in the Docker container. We support up to + // 16 key and values entries in the map. + Environment map[string]*string `type:"map"` + + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob + ExperimentConfig *ExperimentConfig `type:"structure"` + + // If the transform job failed, the reason it failed. + FailureReason *string `type:"string"` + + // The Amazon Resource Name (ARN) of the labeling job that created the transform + // job. + LabelingJobArn *string `type:"string"` + + // The maximum number of parallel requests that can be sent to each instance + // in a transform job. If MaxConcurrentTransforms is set to 0 or left unset, + // SageMaker checks the optional execution-parameters to determine the settings + // for your chosen algorithm. If the execution-parameters endpoint is not enabled, + // the default value is 1. For built-in algorithms, you don't need to set a + // value for MaxConcurrentTransforms. + MaxConcurrentTransforms *int64 `type:"integer"` + + // The maximum allowed size of the payload, in MB. A payload is the data portion + // of a record (without metadata). The value in MaxPayloadInMB must be greater + // than, or equal to, the size of a single record. To estimate the size of a + // record in MB, divide the size of your dataset by the number of records. To + // ensure that the records fit within the maximum payload size, we recommend + // using a slightly larger value. The default value is 6 MB. For cases where + // the payload might be arbitrarily large and is transmitted using HTTP chunked + // encoding, set the value to 0. This feature works only in supported algorithms. + // Currently, SageMaker built-in algorithms do not support HTTP chunked encoding. + MaxPayloadInMB *int64 `type:"integer"` + + // Configures the timeout and maximum number of retries for processing a transform + // job invocation. + ModelClientConfig *ModelClientConfig `type:"structure"` + + // The name of the model associated with the transform job. + ModelName *string `type:"string"` + + // A list of tags associated with the transform job. + Tags []*Tag `type:"list"` + + // Indicates when the transform job has been completed, or has stopped or failed. + // You are billed for the time interval between this time and the value of TransformStartTime. + TransformEndTime *time.Time `type:"timestamp"` + + // Describes the input source of a transform job and the way the transform job + // consumes it. + TransformInput *TransformInput `type:"structure"` + + // The Amazon Resource Name (ARN) of the transform job. + TransformJobArn *string `type:"string"` + + // The name of the transform job. + TransformJobName *string `min:"1" type:"string"` + + // The status of the transform job. + // + // Transform job statuses are: + // + // * InProgress - The job is in progress. + // + // * Completed - The job has completed. + // + // * Failed - The transform job has failed. To see the reason for the failure, + // see the FailureReason field in the response to a DescribeTransformJob + // call. + // + // * Stopping - The transform job is stopping. + // + // * Stopped - The transform job has stopped. + TransformJobStatus *string `type:"string" enum:"TransformJobStatus"` + + // Describes the results of a transform job. + TransformOutput *TransformOutput `type:"structure"` + + // Describes the resources, including ML instance types and ML instance count, + // to use for transform job. + TransformResources *TransformResources `type:"structure"` + + // Indicates when the transform job starts on ML instances. You are billed for + // the time interval between this time and the value of TransformEndTime. + TransformStartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s TransformJob) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TransformJob) GoString() string { + return s.String() +} + +// SetAutoMLJobArn sets the AutoMLJobArn field's value. +func (s *TransformJob) SetAutoMLJobArn(v string) *TransformJob { + s.AutoMLJobArn = &v + return s +} + +// SetBatchStrategy sets the BatchStrategy field's value. +func (s *TransformJob) SetBatchStrategy(v string) *TransformJob { + s.BatchStrategy = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *TransformJob) SetCreationTime(v time.Time) *TransformJob { + s.CreationTime = &v + return s +} + +// SetDataProcessing sets the DataProcessing field's value. +func (s *TransformJob) SetDataProcessing(v *DataProcessing) *TransformJob { + s.DataProcessing = v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *TransformJob) SetEnvironment(v map[string]*string) *TransformJob { + s.Environment = v + return s +} + +// SetExperimentConfig sets the ExperimentConfig field's value. +func (s *TransformJob) SetExperimentConfig(v *ExperimentConfig) *TransformJob { + s.ExperimentConfig = v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *TransformJob) SetFailureReason(v string) *TransformJob { + s.FailureReason = &v + return s +} + +// SetLabelingJobArn sets the LabelingJobArn field's value. +func (s *TransformJob) SetLabelingJobArn(v string) *TransformJob { + s.LabelingJobArn = &v + return s +} + +// SetMaxConcurrentTransforms sets the MaxConcurrentTransforms field's value. +func (s *TransformJob) SetMaxConcurrentTransforms(v int64) *TransformJob { + s.MaxConcurrentTransforms = &v + return s +} + +// SetMaxPayloadInMB sets the MaxPayloadInMB field's value. +func (s *TransformJob) SetMaxPayloadInMB(v int64) *TransformJob { + s.MaxPayloadInMB = &v + return s +} + +// SetModelClientConfig sets the ModelClientConfig field's value. +func (s *TransformJob) SetModelClientConfig(v *ModelClientConfig) *TransformJob { + s.ModelClientConfig = v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *TransformJob) SetModelName(v string) *TransformJob { + s.ModelName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TransformJob) SetTags(v []*Tag) *TransformJob { + s.Tags = v + return s +} + +// SetTransformEndTime sets the TransformEndTime field's value. +func (s *TransformJob) SetTransformEndTime(v time.Time) *TransformJob { + s.TransformEndTime = &v + return s +} + +// SetTransformInput sets the TransformInput field's value. +func (s *TransformJob) SetTransformInput(v *TransformInput) *TransformJob { + s.TransformInput = v + return s +} + +// SetTransformJobArn sets the TransformJobArn field's value. +func (s *TransformJob) SetTransformJobArn(v string) *TransformJob { + s.TransformJobArn = &v + return s +} + +// SetTransformJobName sets the TransformJobName field's value. +func (s *TransformJob) SetTransformJobName(v string) *TransformJob { + s.TransformJobName = &v + return s +} + +// SetTransformJobStatus sets the TransformJobStatus field's value. +func (s *TransformJob) SetTransformJobStatus(v string) *TransformJob { + s.TransformJobStatus = &v + return s +} + +// SetTransformOutput sets the TransformOutput field's value. +func (s *TransformJob) SetTransformOutput(v *TransformOutput) *TransformJob { + s.TransformOutput = v + return s +} + +// SetTransformResources sets the TransformResources field's value. +func (s *TransformJob) SetTransformResources(v *TransformResources) *TransformJob { + s.TransformResources = v + return s +} + +// SetTransformStartTime sets the TransformStartTime field's value. +func (s *TransformJob) SetTransformStartTime(v time.Time) *TransformJob { + s.TransformStartTime = &v + return s +} + // Defines the input needed to run a transform job using the inference specification // specified in the algorithm. type TransformJobDefinition struct { @@ -43317,7 +45490,7 @@ type TransformS3DataSource struct { // manifest is an S3 object which is a JSON file with the following format: // [ {"prefix": "s3://customer_bucket/some/prefix/"}, "relative/path/to/custdata-1", // "relative/path/custdata-2", ... "relative/path/custdata-N" ] The preceding - // JSON matches the following s3Uris: s3://customer_bucket/some/prefix/relative/path/to/custdata-1 + // JSON matches the following S3Uris: s3://customer_bucket/some/prefix/relative/path/to/custdata-1 // s3://customer_bucket/some/prefix/relative/path/custdata-2 ... s3://customer_bucket/some/prefix/relative/path/custdata-N // The complete set of S3Uris in this manifest constitutes the input data // for the channel for this datasource. The object that each S3Uris points @@ -43968,6 +46141,9 @@ type TrialComponentSourceDetail struct { // Information about a training job that's the source of a trial component. TrainingJob *TrainingJob `type:"structure"` + + // Information about a transform job that's the source of the trial component. + TransformJob *TransformJob `type:"structure"` } // String returns the string representation @@ -43998,6 +46174,12 @@ func (s *TrialComponentSourceDetail) SetTrainingJob(v *TrainingJob) *TrialCompon return s } +// SetTransformJob sets the TransformJob field's value. +func (s *TrialComponentSourceDetail) SetTransformJob(v *TransformJob) *TrialComponentSourceDetail { + s.TransformJob = v + return s +} + // The status of the trial component. type TrialComponentStatus struct { _ struct{} `type:"structure"` @@ -44345,7 +46527,42 @@ type UiConfig struct { _ struct{} `type:"structure"` // The ARN of the worker task template used to render the worker UI and tools - // for labeling job tasks. Do not use this parameter if you use UiTemplateS3Uri. + // for labeling job tasks. + // + // Use this parameter when you are creating a labeling job for 3D point cloud + // and video fram labeling jobs. Use your labeling job task type to select one + // of the following ARN's and use it with this parameter when you create a labeling + // job. Replace aws-region with the AWS region you are creating your labeling + // job in. + // + // 3D Point Cloud HumanTaskUiArns + // + // Use this HumanTaskUiArn for 3D point cloud object detection and 3D point + // cloud object detection adjustment labeling jobs. + // + // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudObjectDetection + // + // Use this HumanTaskUiArn for 3D point cloud object tracking and 3D point cloud + // object tracking adjustment labeling jobs. + // + // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudObjectTracking + // + // Use this HumanTaskUiArn for 3D point cloud semantic segmentation and 3D point + // cloud semantic segmentation adjustment labeling jobs. + // + // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudSemanticSegmentation + // + // Video Frame HumanTaskUiArns + // + // Use this HumanTaskUiArn for video frame object detection and video frame + // object detection adjustment labeling jobs. + // + // * arn:aws:sagemaker:region:394669845002:human-task-ui/VideoObjectDetection + // + // Use this HumanTaskUiArn for video frame object tracking and video frame object + // tracking adjustment labeling jobs. + // + // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/VideoObjectTracking HumanTaskUiArn *string `type:"string"` // The Amazon S3 bucket location of the UI template, or worker task template. @@ -45641,10 +47858,14 @@ func (s *UpdateUserProfileOutput) SetUserProfileArn(v string) *UpdateUserProfile type UpdateWorkforceInput struct { _ struct{} `type:"structure"` - // A list of one to four worker IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) + // Use this parameter to update your OIDC Identity Provider (IdP) configuration + // for a workforce made using your own IdP. + OidcConfig *OidcConfig `type:"structure"` + + // A list of one to ten worker IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) // that can be used to access tasks assigned to this workforce. // - // Maximum: Four CIDR values + // Maximum: Ten CIDR values SourceIpConfig *SourceIpConfig `type:"structure"` // The name of the private workforce whose access you want to restrict. WorkforceName @@ -45674,6 +47895,11 @@ func (s *UpdateWorkforceInput) Validate() error { if s.WorkforceName != nil && len(*s.WorkforceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkforceName", 1)) } + if s.OidcConfig != nil { + if err := s.OidcConfig.Validate(); err != nil { + invalidParams.AddNested("OidcConfig", err.(request.ErrInvalidParams)) + } + } if s.SourceIpConfig != nil { if err := s.SourceIpConfig.Validate(); err != nil { invalidParams.AddNested("SourceIpConfig", err.(request.ErrInvalidParams)) @@ -45686,6 +47912,12 @@ func (s *UpdateWorkforceInput) Validate() error { return nil } +// SetOidcConfig sets the OidcConfig field's value. +func (s *UpdateWorkforceInput) SetOidcConfig(v *OidcConfig) *UpdateWorkforceInput { + s.OidcConfig = v + return s +} + // SetSourceIpConfig sets the SourceIpConfig field's value. func (s *UpdateWorkforceInput) SetSourceIpConfig(v *SourceIpConfig) *UpdateWorkforceInput { s.SourceIpConfig = v @@ -46146,23 +48378,34 @@ func (s *VpcConfig) SetSubnets(v []*string) *VpcConfig { type Workforce struct { _ struct{} `type:"structure"` + // The configuration of an Amazon Cognito workforce. A single Cognito workforce + // is created using and corresponds to a single Amazon Cognito user pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). + CognitoConfig *CognitoConfig `type:"structure"` + + // The date that the workforce is created. + CreateDate *time.Time `type:"timestamp"` + // The most recent date that was used to successfully add one or more IP address // ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) // to a private workforce's allow list. LastUpdatedDate *time.Time `type:"timestamp"` - // A list of one to four IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) + // The configuration of an OIDC Identity Provider (IdP) private workforce. + OidcConfig *OidcConfigForResponse `type:"structure"` + + // A list of one to ten IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) // to be added to the workforce allow list. SourceIpConfig *SourceIpConfig `type:"structure"` + // The subdomain for your OIDC Identity Provider. + SubDomain *string `type:"string"` + // The Amazon Resource Name (ARN) of the private workforce. // // WorkforceArn is a required field WorkforceArn *string `type:"string" required:"true"` - // The name of the private workforce whose access you want to restrict. WorkforceName - // is automatically set to default when a workforce is created and cannot be - // modified. + // The name of the private workforce. // // WorkforceName is a required field WorkforceName *string `min:"1" type:"string" required:"true"` @@ -46178,18 +48421,42 @@ func (s Workforce) GoString() string { return s.String() } +// SetCognitoConfig sets the CognitoConfig field's value. +func (s *Workforce) SetCognitoConfig(v *CognitoConfig) *Workforce { + s.CognitoConfig = v + return s +} + +// SetCreateDate sets the CreateDate field's value. +func (s *Workforce) SetCreateDate(v time.Time) *Workforce { + s.CreateDate = &v + return s +} + // SetLastUpdatedDate sets the LastUpdatedDate field's value. func (s *Workforce) SetLastUpdatedDate(v time.Time) *Workforce { s.LastUpdatedDate = &v return s } +// SetOidcConfig sets the OidcConfig field's value. +func (s *Workforce) SetOidcConfig(v *OidcConfigForResponse) *Workforce { + s.OidcConfig = v + return s +} + // SetSourceIpConfig sets the SourceIpConfig field's value. func (s *Workforce) SetSourceIpConfig(v *SourceIpConfig) *Workforce { s.SourceIpConfig = v return s } +// SetSubDomain sets the SubDomain field's value. +func (s *Workforce) SetSubDomain(v string) *Workforce { + s.SubDomain = &v + return s +} + // SetWorkforceArn sets the WorkforceArn field's value. func (s *Workforce) SetWorkforceArn(v string) *Workforce { s.WorkforceArn = &v @@ -46233,6 +48500,9 @@ type Workteam struct { // labeling your data objects. SubDomain *string `type:"string"` + // The Amazon Resource Name (ARN) of the workforce. + WorkforceArn *string `type:"string"` + // The Amazon Resource Name (ARN) that identifies the work team. // // WorkteamArn is a required field @@ -46296,6 +48566,12 @@ func (s *Workteam) SetSubDomain(v string) *Workteam { return s } +// SetWorkforceArn sets the WorkforceArn field's value. +func (s *Workteam) SetWorkforceArn(v string) *Workteam { + s.WorkforceArn = &v + return s +} + // SetWorkteamArn sets the WorkteamArn field's value. func (s *Workteam) SetWorkteamArn(v string) *Workteam { s.WorkteamArn = &v @@ -46891,6 +49167,14 @@ const ( FrameworkTflite = "TFLITE" ) +const ( + // HumanTaskUiStatusActive is a HumanTaskUiStatus enum value + HumanTaskUiStatusActive = "Active" + + // HumanTaskUiStatusDeleting is a HumanTaskUiStatus enum value + HumanTaskUiStatusDeleting = "Deleting" +) + const ( // HyperParameterScalingTypeAuto is a HyperParameterScalingType enum value HyperParameterScalingTypeAuto = "Auto" @@ -47084,6 +49368,9 @@ const ( ) const ( + // LabelingJobStatusInitializing is a LabelingJobStatus enum value + LabelingJobStatusInitializing = "Initializing" + // LabelingJobStatusInProgress is a LabelingJobStatus enum value LabelingJobStatusInProgress = "InProgress" @@ -47116,6 +49403,14 @@ const ( ListLabelingJobsForWorkteamSortByOptionsCreationTime = "CreationTime" ) +const ( + // ListWorkforcesSortByOptionsName is a ListWorkforcesSortByOptions enum value + ListWorkforcesSortByOptionsName = "Name" + + // ListWorkforcesSortByOptionsCreateDate is a ListWorkforcesSortByOptions enum value + ListWorkforcesSortByOptionsCreateDate = "CreateDate" +) + const ( // ListWorkteamsSortByOptionsName is a ListWorkteamsSortByOptions enum value ListWorkteamsSortByOptionsName = "Name" @@ -47959,6 +50254,9 @@ const ( // TargetDeviceMlP3 is a TargetDevice enum value TargetDeviceMlP3 = "ml_p3" + // TargetDeviceMlG4dn is a TargetDevice enum value + TargetDeviceMlG4dn = "ml_g4dn" + // TargetDeviceMlInf1 is a TargetDevice enum value TargetDeviceMlInf1 = "ml_inf1" @@ -48006,6 +50304,48 @@ const ( // TargetDeviceAmbaCv22 is a TargetDevice enum value TargetDeviceAmbaCv22 = "amba_cv22" + + // TargetDeviceX86Win32 is a TargetDevice enum value + TargetDeviceX86Win32 = "x86_win32" + + // TargetDeviceX86Win64 is a TargetDevice enum value + TargetDeviceX86Win64 = "x86_win64" +) + +const ( + // TargetPlatformAcceleratorIntelGraphics is a TargetPlatformAccelerator enum value + TargetPlatformAcceleratorIntelGraphics = "INTEL_GRAPHICS" + + // TargetPlatformAcceleratorMali is a TargetPlatformAccelerator enum value + TargetPlatformAcceleratorMali = "MALI" + + // TargetPlatformAcceleratorNvidia is a TargetPlatformAccelerator enum value + TargetPlatformAcceleratorNvidia = "NVIDIA" +) + +const ( + // TargetPlatformArchX8664 is a TargetPlatformArch enum value + TargetPlatformArchX8664 = "X86_64" + + // TargetPlatformArchX86 is a TargetPlatformArch enum value + TargetPlatformArchX86 = "X86" + + // TargetPlatformArchArm64 is a TargetPlatformArch enum value + TargetPlatformArchArm64 = "ARM64" + + // TargetPlatformArchArmEabi is a TargetPlatformArch enum value + TargetPlatformArchArmEabi = "ARM_EABI" + + // TargetPlatformArchArmEabihf is a TargetPlatformArch enum value + TargetPlatformArchArmEabihf = "ARM_EABIHF" +) + +const ( + // TargetPlatformOsAndroid is a TargetPlatformOs enum value + TargetPlatformOsAndroid = "ANDROID" + + // TargetPlatformOsLinux is a TargetPlatformOs enum value + TargetPlatformOsLinux = "LINUX" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go index 7dfecc65803..c6e769105bc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go @@ -58,28 +58,28 @@ func (c *SecretsManager) CancelRotateSecretRequest(input *CancelRotateSecretInpu // CancelRotateSecret API operation for AWS Secrets Manager. // // Disables automatic scheduled rotation and cancels the rotation of a secret -// if one is currently in progress. +// if currently in progress. // // To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays -// set to a value greater than 0. This will immediately rotate your secret and -// then enable the automatic schedule. +// set to a value greater than 0. This immediately rotates your secret and then +// enables the automatic schedule. // -// If you cancel a rotation that is in progress, it can leave the VersionStage -// labels in an unexpected state. Depending on what step of the rotation was -// in progress, you might need to remove the staging label AWSPENDING from the -// partially created version, specified by the VersionId response value. You -// should also evaluate the partially rotated new version to see if it should -// be deleted, which you can do by removing all staging labels from the new -// version's VersionStage field. +// If you cancel a rotation while in progress, it can leave the VersionStage +// labels in an unexpected state. Depending on the step of the rotation in progress, +// you might need to remove the staging label AWSPENDING from the partially +// created version, specified by the VersionId response value. You should also +// evaluate the partially rotated new version to see if it should be deleted, +// which you can do by removing all staging labels from the new version VersionStage +// field. // // To successfully start a rotation, the staging label AWSPENDING must be in // one of the following states: // -// * Not be attached to any version at all +// * Not attached to any version at all // // * Attached to the same version as the staging label AWSCURRENT // -// If the staging label AWSPENDING is attached to a different version than the +// If the staging label AWSPENDING attached to a different version than the // version with AWSCURRENT then the attempt to rotate fails. // // Minimum permissions @@ -205,7 +205,7 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req // labels" that identify where the version is in the rotation cycle. The SecretVersionsToStages // field of the secret contains the mapping of staging labels to the active // versions of the secret. Versions without a staging label are considered deprecated -// and are not included in the list. +// and not included in the list. // // You provide the secret data to be encrypted by putting text in either the // SecretString parameter or binary data in the SecretBinary parameter, but @@ -213,20 +213,19 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req // also creates an initial secret version and automatically attaches the staging // label AWSCURRENT to the new version. // -// * If you call an operation that needs to encrypt or decrypt the SecretString -// or SecretBinary for a secret in the same account as the calling user and -// that secret doesn't specify a AWS KMS encryption key, Secrets Manager -// uses the account's default AWS managed customer master key (CMK) with -// the alias aws/secretsmanager. If this key doesn't already exist in your -// account then Secrets Manager creates it for you automatically. All users -// and roles in the same AWS account automatically have access to use the -// default CMK. Note that if an Secrets Manager API call results in AWS having -// to create the account's AWS-managed CMK, it can result in a one-time significant -// delay in returning the result. -// -// * If the secret is in a different AWS account from the credentials calling -// an API that requires encryption or decryption of the secret value then -// you must create and use a custom AWS KMS CMK because you can't access +// * If you call an operation to encrypt or decrypt the SecretString or SecretBinary +// for a secret in the same account as the calling user and that secret doesn't +// specify a AWS KMS encryption key, Secrets Manager uses the account's default +// AWS managed customer master key (CMK) with the alias aws/secretsmanager. +// If this key doesn't already exist in your account then Secrets Manager +// creates it for you automatically. All users and roles in the same AWS +// account automatically have access to use the default CMK. Note that if +// an Secrets Manager API call results in AWS creating the account's AWS-managed +// CMK, it can result in a one-time significant delay in returning the result. +// +// * If the secret resides in a different AWS account from the credentials +// calling an API that requires encryption or decryption of the secret value +// then you must create and use a custom AWS KMS CMK because you can't access // the default CMK for the account using credentials from a different AWS // account. Store the ARN of the CMK in the secret when you create the secret // or when you update it by including it in the KMSKeyId. If you call an @@ -243,10 +242,10 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req // // * kms:GenerateDataKey - needed only if you use a customer-managed AWS // KMS key to encrypt the secret. You do not need this permission to use -// the account's default AWS managed CMK for Secrets Manager. +// the account default AWS managed CMK for Secrets Manager. // // * kms:Decrypt - needed only if you use a customer-managed AWS KMS key -// to encrypt the secret. You do not need this permission to use the account's +// to encrypt the secret. You do not need this permission to use the account // default AWS managed CMK for Secrets Manager. // // * secretsmanager:TagResource - needed only if you include the Tags parameter. @@ -384,7 +383,7 @@ func (c *SecretsManager) DeleteResourcePolicyRequest(input *DeleteResourcePolicy // DeleteResourcePolicy API operation for AWS Secrets Manager. // -// Deletes the resource-based permission policy that's attached to the secret. +// Deletes the resource-based permission policy attached to the secret. // // Minimum permissions // @@ -628,7 +627,7 @@ func (c *SecretsManager) DescribeSecretRequest(input *DescribeSecretInput) (req // DescribeSecret API operation for AWS Secrets Manager. // // Retrieves the details of a secret. It does not include the encrypted fields. -// Only those fields that are populated with a value are returned in the response. +// Secrets Manager only returns fields populated with a value in the response. // // Minimum permissions // @@ -831,10 +830,10 @@ func (c *SecretsManager) GetResourcePolicyRequest(input *GetResourcePolicyInput) // GetResourcePolicy API operation for AWS Secrets Manager. // -// Retrieves the JSON text of the resource-based policy document that's attached -// to the specified secret. The JSON request string input and response output -// are shown formatted with white space and line breaks for better readability. -// Submit your input as a single line JSON string. +// Retrieves the JSON text of the resource-based policy document attached to +// the specified secret. The JSON request string input and response output displays +// formatted code with white space and line breaks for better readability. Submit +// your input as a single line JSON string. // // Minimum permissions // @@ -846,8 +845,7 @@ func (c *SecretsManager) GetResourcePolicyRequest(input *GetResourcePolicyInput) // // * To attach a resource policy to a secret, use PutResourcePolicy. // -// * To delete the resource-based policy that's attached to a secret, use -// DeleteResourcePolicy. +// * To delete the resource-based policy attached to a secret, use DeleteResourcePolicy. // // * To list all of the currently available secrets, use ListSecrets. // @@ -1077,7 +1075,7 @@ func (c *SecretsManager) ListSecretVersionIdsRequest(input *ListSecretVersionIds // // Always check the NextToken response parameter when calling any of the List* // operations. These operations can occasionally return an empty or shorter -// than expected list of results even when there are more results available. +// than expected list of results even when there more results become available. // When this happens, the NextToken response parameter contains a value to pass // to the next call to the same API to request the next part of the list. // @@ -1239,7 +1237,7 @@ func (c *SecretsManager) ListSecretsRequest(input *ListSecretsInput) (req *reque // // Always check the NextToken response parameter when calling any of the List* // operations. These operations can occasionally return an empty or shorter -// than expected list of results even when there are more results available. +// than expected list of results even when there more results become available. // When this happens, the NextToken response parameter contains a value to pass // to the next call to the same API to request the next part of the list. // @@ -1408,7 +1406,7 @@ func (c *SecretsManager) PutResourcePolicyRequest(input *PutResourcePolicyInput) // // Related operations // -// * To retrieve the resource policy that's attached to a secret, use GetResourcePolicy. +// * To retrieve the resource policy attached to a secret, use GetResourcePolicy. // // * To delete the resource-based policy that's attached to a secret, use // DeleteResourcePolicy. @@ -1448,6 +1446,9 @@ func (c *SecretsManager) PutResourcePolicyRequest(input *PutResourcePolicyInput) // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// * PublicPolicyException +// The resource policy did not prevent broad access to the secret. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/PutResourcePolicy func (c *SecretsManager) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) { req, out := c.PutResourcePolicyRequest(input) @@ -1542,20 +1543,19 @@ func (c *SecretsManager) PutSecretValueRequest(input *PutSecretValueInput) (req // However, if the secret data is different, then the operation fails because // you cannot modify an existing version; you can only create new ones. // -// * If you call an operation that needs to encrypt or decrypt the SecretString -// or SecretBinary for a secret in the same account as the calling user and -// that secret doesn't specify a AWS KMS encryption key, Secrets Manager -// uses the account's default AWS managed customer master key (CMK) with -// the alias aws/secretsmanager. If this key doesn't already exist in your -// account then Secrets Manager creates it for you automatically. All users -// and roles in the same AWS account automatically have access to use the -// default CMK. Note that if an Secrets Manager API call results in AWS having -// to create the account's AWS-managed CMK, it can result in a one-time significant -// delay in returning the result. -// -// * If the secret is in a different AWS account from the credentials calling -// an API that requires encryption or decryption of the secret value then -// you must create and use a custom AWS KMS CMK because you can't access +// * If you call an operation to encrypt or decrypt the SecretString or SecretBinary +// for a secret in the same account as the calling user and that secret doesn't +// specify a AWS KMS encryption key, Secrets Manager uses the account's default +// AWS managed customer master key (CMK) with the alias aws/secretsmanager. +// If this key doesn't already exist in your account then Secrets Manager +// creates it for you automatically. All users and roles in the same AWS +// account automatically have access to use the default CMK. Note that if +// an Secrets Manager API call results in AWS creating the account's AWS-managed +// CMK, it can result in a one-time significant delay in returning the result. +// +// * If the secret resides in a different AWS account from the credentials +// calling an API that requires encryption or decryption of the secret value +// then you must create and use a custom AWS KMS CMK because you can't access // the default CMK for the account using credentials from a different AWS // account. Store the ARN of the CMK in the secret when you create the secret // or when you update it by including it in the KMSKeyId. If you call an @@ -1821,7 +1821,7 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) // in the AWS Secrets Manager User Guide. // -// Secrets Manager schedules the next rotation when the previous one is complete. +// Secrets Manager schedules the next rotation when the previous one completes. // Secrets Manager schedules the date by adding the rotation interval (number // of days) to the actual date of the last rotation. The service chooses the // hour within that 24-hour date window randomly. The minute is also chosen @@ -1836,10 +1836,9 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req // // * The AWSPENDING staging label is not attached to any version of the secret. // -// If instead the AWSPENDING staging label is present but is not attached to -// the same version as AWSCURRENT then any later invocation of RotateSecret -// assumes that a previous rotation request is still in progress and returns -// an error. +// If the AWSPENDING staging label is present but not attached to the same version +// as AWSCURRENT then any later invocation of RotateSecret assumes that a previous +// rotation request is still in progress and returns an error. // // Minimum permissions // @@ -1973,14 +1972,14 @@ func (c *SecretsManager) TagResourceRequest(input *TagResourceInput) (req *reque // // * Tag keys and values are case sensitive. // -// * Do not use the aws: prefix in your tag names or values because it is -// reserved for AWS use. You can't edit or delete tag names or values with -// this prefix. Tags with this prefix do not count against your tags per -// secret limit. +// * Do not use the aws: prefix in your tag names or values because AWS reserves +// it for AWS use. You can't edit or delete tag names or values with this +// prefix. Tags with this prefix do not count against your tags per secret +// limit. // -// * If your tagging schema will be used across multiple services and resources, -// remember that other services might have restrictions on allowed characters. -// Generally allowed characters are: letters, spaces, and numbers representable +// * If you use your tagging schema across multiple services and resources, +// remember other services might have restrictions on allowed characters. +// Generally allowed characters: letters, spaces, and numbers representable // in UTF-8, plus the following special characters: + - = . _ : / @. // // If you use tags as part of your security strategy, then adding or removing @@ -2236,20 +2235,19 @@ func (c *SecretsManager) UpdateSecretRequest(input *UpdateSecretInput) (req *req // Secrets Manager automatically attaches the staging label AWSCURRENT to // the new version. // -// * If you call an operation that needs to encrypt or decrypt the SecretString -// or SecretBinary for a secret in the same account as the calling user and -// that secret doesn't specify a AWS KMS encryption key, Secrets Manager -// uses the account's default AWS managed customer master key (CMK) with -// the alias aws/secretsmanager. If this key doesn't already exist in your -// account then Secrets Manager creates it for you automatically. All users -// and roles in the same AWS account automatically have access to use the -// default CMK. Note that if an Secrets Manager API call results in AWS having -// to create the account's AWS-managed CMK, it can result in a one-time significant -// delay in returning the result. -// -// * If the secret is in a different AWS account from the credentials calling -// an API that requires encryption or decryption of the secret value then -// you must create and use a custom AWS KMS CMK because you can't access +// * If you call an operation to encrypt or decrypt the SecretString or SecretBinary +// for a secret in the same account as the calling user and that secret doesn't +// specify a AWS KMS encryption key, Secrets Manager uses the account's default +// AWS managed customer master key (CMK) with the alias aws/secretsmanager. +// If this key doesn't already exist in your account then Secrets Manager +// creates it for you automatically. All users and roles in the same AWS +// account automatically have access to use the default CMK. Note that if +// an Secrets Manager API call results in AWS creating the account's AWS-managed +// CMK, it can result in a one-time significant delay in returning the result. +// +// * If the secret resides in a different AWS account from the credentials +// calling an API that requires encryption or decryption of the secret value +// then you must create and use a custom AWS KMS CMK because you can't access // the default CMK for the account using credentials from a different AWS // account. Store the ARN of the CMK in the secret when you create the secret // or when you update it by including it in the KMSKeyId. If you call an @@ -2487,12 +2485,115 @@ func (c *SecretsManager) UpdateSecretVersionStageWithContext(ctx aws.Context, in return out, req.Send() } +const opValidateResourcePolicy = "ValidateResourcePolicy" + +// ValidateResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the ValidateResourcePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ValidateResourcePolicy for more information on using the ValidateResourcePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ValidateResourcePolicyRequest method. +// req, resp := client.ValidateResourcePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ValidateResourcePolicy +func (c *SecretsManager) ValidateResourcePolicyRequest(input *ValidateResourcePolicyInput) (req *request.Request, output *ValidateResourcePolicyOutput) { + op := &request.Operation{ + Name: opValidateResourcePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ValidateResourcePolicyInput{} + } + + output = &ValidateResourcePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// ValidateResourcePolicy API operation for AWS Secrets Manager. +// +// Validates the JSON text of the resource-based policy document attached to +// the specified secret. The JSON request string input and response output displays +// formatted code with white space and line breaks for better readability. Submit +// your input as a single line JSON string. A resource-based policy is optional. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Secrets Manager's +// API operation ValidateResourcePolicy for usage and error information. +// +// Returned Error Types: +// * MalformedPolicyDocumentException +// The policy document that you provided isn't valid. +// +// * ResourceNotFoundException +// We can't find the resource that you asked for. +// +// * InvalidParameterException +// You provided an invalid value for a parameter. +// +// * InternalServiceError +// An error occurred on the server side. +// +// * InvalidRequestException +// You provided a parameter value that is not valid for the current state of +// the resource. +// +// Possible causes: +// +// * You tried to perform the operation on a secret that's currently marked +// deleted. +// +// * You tried to enable rotation on a secret that doesn't already have a +// Lambda function ARN configured and you didn't include such an ARN as a +// parameter in this call. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ValidateResourcePolicy +func (c *SecretsManager) ValidateResourcePolicy(input *ValidateResourcePolicyInput) (*ValidateResourcePolicyOutput, error) { + req, out := c.ValidateResourcePolicyRequest(input) + return out, req.Send() +} + +// ValidateResourcePolicyWithContext is the same as ValidateResourcePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See ValidateResourcePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SecretsManager) ValidateResourcePolicyWithContext(ctx aws.Context, input *ValidateResourcePolicyInput, opts ...request.Option) (*ValidateResourcePolicyOutput, error) { + req, out := c.ValidateResourcePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + type CancelRotateSecretInput struct { _ struct{} `type:"structure"` - // Specifies the secret for which you want to cancel a rotation request. You - // can specify either the Amazon Resource Name (ARN) or the friendly name of - // the secret. + // Specifies the secret to cancel a rotation request. You can specify either + // the Amazon Resource Name (ARN) or the friendly name of the secret. // // If you specify an ARN, we generally recommend that you specify a complete // ARN. You can specify a partial ARN too—for example, if you don’t include @@ -2504,7 +2605,12 @@ type CancelRotateSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -2551,11 +2657,11 @@ type CancelRotateSecretOutput struct { // The friendly name of the secret for which rotation was canceled. Name *string `min:"1" type:"string"` - // The unique identifier of the version of the secret that was created during - // the rotation. This version might not be complete, and should be evaluated - // for possible deletion. At the very least, you should remove the VersionStage - // value AWSPENDING to enable this version to be deleted. Failing to clean up - // a cancelled rotation can block you from successfully starting future rotations. + // The unique identifier of the version of the secret created during the rotation. + // This version might not be complete, and should be evaluated for possible + // deletion. At the very least, you should remove the VersionStage value AWSPENDING + // to enable this version to be deleted. Failing to clean up a cancelled rotation + // can block you from successfully starting future rotations. VersionId *string `min:"32" type:"string"` } @@ -2599,7 +2705,7 @@ type CreateSecretInput struct { // for you and includes it as the value for this parameter in the request. If // you don't use the SDK and instead generate a raw HTTP request to the Secrets // Manager service endpoint, then you must generate a ClientRequestToken yourself - // for the new version and include that value in the request. + // for the new version and include the value in the request. // // This value helps ensure idempotency. Secrets Manager uses this value to prevent // the accidental creation of duplicate versions if there are failures and retries @@ -2609,9 +2715,9 @@ type CreateSecretInput struct { // * If the ClientRequestToken value isn't already associated with a version // of the secret then a new version of the secret is created. // - // * If a version with this value already exists and that version's SecretString + // * If a version with this value already exists and the version SecretString // and SecretBinary values are the same as those in the request, then the - // request is ignored (the operation is idempotent). + // request is ignored. // // * If a version with this value already exists and that version's SecretString // and SecretBinary values are different from those in the request then the @@ -2638,9 +2744,9 @@ type CreateSecretInput struct { // you automatically the first time it needs to encrypt a version's SecretString // or SecretBinary fields. // - // You can use the account's default CMK to encrypt and decrypt only if you - // call this operation using credentials from the same account that owns the - // secret. If the secret is in a different account, then you must create a custom + // You can use the account default CMK to encrypt and decrypt only if you call + // this operation using credentials from the same account that owns the secret. + // If the secret resides in a different account, then you must create a custom // CMK and specify the ARN in this field. KmsKeyId *string `type:"string"` @@ -2649,10 +2755,10 @@ type CreateSecretInput struct { // The secret name must be ASCII letters, digits, or the following characters // : /_+=.@- // - // Don't end your secret name with a hyphen followed by six characters. If you - // do so, you risk confusion and unexpected results when searching for a secret - // by partial ARN. This is because Secrets Manager automatically adds a hyphen - // and six random characters at the end of the ARN. + // Do not end your secret name with a hyphen followed by six characters. If + // you do so, you risk confusion and unexpected results when searching for a + // secret by partial ARN. Secrets Manager automatically adds a hyphen and six + // random characters at the end of the ARN. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -2688,7 +2794,7 @@ type CreateSecretInput struct { // JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) // in the AWS CLI User Guide. For example: // - // [{"username":"bob"},{"password":"abc123xyz456"}] + // {"username":"bob","password":"abc123xyz456"} // // If your command-line tool or SDK requires quotation marks around the parameter, // you should use single quotes to avoid confusion with the double quotes required @@ -2729,14 +2835,14 @@ type CreateSecretInput struct { // // * Tag keys and values are case sensitive. // - // * Do not use the aws: prefix in your tag names or values because it is - // reserved for AWS use. You can't edit or delete tag names or values with - // this prefix. Tags with this prefix do not count against your tags per - // secret limit. + // * Do not use the aws: prefix in your tag names or values because AWS reserves + // it for AWS use. You can't edit or delete tag names or values with this + // prefix. Tags with this prefix do not count against your tags per secret + // limit. // - // * If your tagging schema will be used across multiple services and resources, - // remember that other services might have restrictions on allowed characters. - // Generally allowed characters are: letters, spaces, and numbers representable + // * If you use your tagging schema across multiple services and resources, + // remember other services might have restrictions on allowed characters. + // Generally allowed characters: letters, spaces, and numbers representable // in UTF-8, plus the following special characters: + - = . _ : / @. Tags []*Tag `type:"list"` } @@ -2838,8 +2944,8 @@ type CreateSecretOutput struct { // The friendly name of the secret that you just created. Name *string `min:"1" type:"string"` - // The unique identifier that's associated with the version of the secret you - // just created. + // The unique identifier associated with the version of the secret you just + // created. VersionId *string `min:"32" type:"string"` } @@ -2945,7 +3051,12 @@ type DeleteResourcePolicyInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -3055,7 +3166,12 @@ type DeleteSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -3165,7 +3281,12 @@ type DescribeSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -3209,6 +3330,9 @@ type DescribeSecretOutput struct { // The ARN of the secret. ARN *string `min:"20" type:"string"` + // The date that the secret was created. + CreatedDate *time.Time `type:"timestamp"` + // This value exists if the secret is scheduled for deletion. Some time after // the specified date and time, Secrets Manager deletes the secret and all of // its versions. @@ -3288,6 +3412,12 @@ func (s *DescribeSecretOutput) SetARN(v string) *DescribeSecretOutput { return s } +// SetCreatedDate sets the CreatedDate field's value. +func (s *DescribeSecretOutput) SetCreatedDate(v time.Time) *DescribeSecretOutput { + s.CreatedDate = &v + return s +} + // SetDeletedDate sets the DeletedDate field's value. func (s *DescribeSecretOutput) SetDeletedDate(v time.Time) *DescribeSecretOutput { s.DeletedDate = &v @@ -3425,6 +3555,52 @@ func (s *EncryptionFailure) RequestID() string { return s.RespMetadata.RequestID } +// Allows you to filter your list of secrets. +type Filter struct { + _ struct{} `type:"structure"` + + // Filters your list of secrets by a specific key. + Key *string `type:"string" enum:"FilterNameStringType"` + + // Filters your list of secrets by a specific value. + Values []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Filter) SetKey(v string) *Filter { + s.Key = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + type GetRandomPasswordInput struct { _ struct{} `type:"structure"` @@ -3584,7 +3760,12 @@ type GetResourcePolicyInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -3687,7 +3868,12 @@ type GetSecretValueInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -4162,7 +4348,7 @@ type ListSecretVersionIdsInput struct { // deprecated and are subject to deletion by Secrets Manager as needed. IncludeDeprecated *bool `type:"boolean"` - // (Optional) Limits the number of results that you want to include in the response. + // (Optional) Limits the number of results you want to include in the response. // If you don't include this parameter, it defaults to a value that's specific // to the operation. If additional items exist beyond the maximum you specify, // the NextToken response element is present and has a value (isn't null). Include @@ -4174,9 +4360,9 @@ type ListSecretVersionIdsInput struct { MaxResults *int64 `min:"1" type:"integer"` // (Optional) Use this parameter in a request if you receive a NextToken response - // in a previous request that indicates that there's more output available. - // In a subsequent call, set it to the value of the previous call's NextToken - // response to indicate where the output should continue from. + // in a previous request indicating there's more output available. In a subsequent + // call, set it to the value of the previous call NextToken response to indicate + // where the output should continue from. NextToken *string `min:"1" type:"string"` // The identifier for the secret containing the versions you want to list. You @@ -4193,7 +4379,12 @@ type ListSecretVersionIdsInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -4272,8 +4463,8 @@ type ListSecretVersionIdsOutput struct { Name *string `min:"1" type:"string"` // If present in the response, this value indicates that there's more output - // available than what's included in the current response. This can occur even - // when the response includes no values at all, such as when you ask for a filtered + // available than included in the current response. This can occur even when + // the response includes no values at all, such as when you ask for a filtered // view of a very long list. Use this value in the NextToken request parameter // in a subsequent call to the operation to continue processing and get the // next part of the output. You should repeat this until the NextToken response @@ -4321,7 +4512,10 @@ func (s *ListSecretVersionIdsOutput) SetVersions(v []*SecretVersionsListEntry) * type ListSecretsInput struct { _ struct{} `type:"structure"` - // (Optional) Limits the number of results that you want to include in the response. + // Lists the secret request filters. + Filters []*Filter `type:"list"` + + // (Optional) Limits the number of results you want to include in the response. // If you don't include this parameter, it defaults to a value that's specific // to the operation. If additional items exist beyond the maximum you specify, // the NextToken response element is present and has a value (isn't null). Include @@ -4333,10 +4527,13 @@ type ListSecretsInput struct { MaxResults *int64 `min:"1" type:"integer"` // (Optional) Use this parameter in a request if you receive a NextToken response - // in a previous request that indicates that there's more output available. - // In a subsequent call, set it to the value of the previous call's NextToken - // response to indicate where the output should continue from. + // in a previous request indicating there's more output available. In a subsequent + // call, set it to the value of the previous call NextToken response to indicate + // where the output should continue from. NextToken *string `min:"1" type:"string"` + + // Lists secrets in the requested order. + SortOrder *string `type:"string" enum:"SortOrderType"` } // String returns the string representation @@ -4358,6 +4555,16 @@ func (s *ListSecretsInput) Validate() error { if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } + 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 @@ -4365,6 +4572,12 @@ func (s *ListSecretsInput) Validate() error { return nil } +// SetFilters sets the Filters field's value. +func (s *ListSecretsInput) SetFilters(v []*Filter) *ListSecretsInput { + s.Filters = v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListSecretsInput) SetMaxResults(v int64) *ListSecretsInput { s.MaxResults = &v @@ -4377,12 +4590,18 @@ func (s *ListSecretsInput) SetNextToken(v string) *ListSecretsInput { return s } +// SetSortOrder sets the SortOrder field's value. +func (s *ListSecretsInput) SetSortOrder(v string) *ListSecretsInput { + s.SortOrder = &v + return s +} + type ListSecretsOutput struct { _ struct{} `type:"structure"` // If present in the response, this value indicates that there's more output - // available than what's included in the current response. This can occur even - // when the response includes no values at all, such as when you ask for a filtered + // available than included in the current response. This can occur even when + // the response includes no values at all, such as when you ask for a filtered // view of a very long list. Use this value in the NextToken request parameter // in a subsequent call to the operation to continue processing and get the // next part of the output. You should repeat this until the NextToken response @@ -4527,9 +4746,69 @@ func (s *PreconditionNotMetException) RequestID() string { return s.RespMetadata.RequestID } +// The resource policy did not prevent broad access to the secret. +type PublicPolicyException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s PublicPolicyException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublicPolicyException) GoString() string { + return s.String() +} + +func newErrorPublicPolicyException(v protocol.ResponseMetadata) error { + return &PublicPolicyException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *PublicPolicyException) Code() string { + return "PublicPolicyException" +} + +// Message returns the exception's message. +func (s *PublicPolicyException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *PublicPolicyException) OrigErr() error { + return nil +} + +func (s *PublicPolicyException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *PublicPolicyException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *PublicPolicyException) RequestID() string { + return s.RespMetadata.RequestID +} + type PutResourcePolicyInput struct { _ struct{} `type:"structure"` + // Makes an optional API call to Zelkova to validate the Resource Policy to + // prevent broad access to your secret. + BlockPublicPolicy *bool `type:"boolean"` + // A JSON-formatted string that's constructed according to the grammar and syntax // for an AWS resource-based policy. The policy in the string identifies who // can access or manage this secret and its versions. For information on how @@ -4553,7 +4832,12 @@ type PutResourcePolicyInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -4591,6 +4875,12 @@ func (s *PutResourcePolicyInput) Validate() error { return nil } +// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. +func (s *PutResourcePolicyInput) SetBlockPublicPolicy(v bool) *PutResourcePolicyInput { + s.BlockPublicPolicy = &v + return s +} + // SetResourcePolicy sets the ResourcePolicy field's value. func (s *PutResourcePolicyInput) SetResourcePolicy(v string) *PutResourcePolicyInput { s.ResourcePolicy = &v @@ -4606,11 +4896,11 @@ func (s *PutResourcePolicyInput) SetSecretId(v string) *PutResourcePolicyInput { type PutResourcePolicyOutput struct { _ struct{} `type:"structure"` - // The ARN of the secret that the resource-based policy was retrieved for. + // The ARN of the secret retrieved by the resource-based policy. ARN *string `min:"20" type:"string"` - // The friendly name of the secret that the resource-based policy was retrieved - // for. + // The friendly name of the secret that the retrieved by the resource-based + // policy. Name *string `min:"1" type:"string"` } @@ -4661,7 +4951,7 @@ type PutSecretValueInput struct { // or SecretBinary values are the same as those in the request then the request // is ignored (the operation is idempotent). // - // * If a version with this value already exists and that version's SecretString + // * If a version with this value already exists and the version of the SecretString // and SecretBinary values are different from those in the request then the // request fails because you cannot modify an existing secret version. You // can only create new versions to store new secret values. @@ -4696,7 +4986,12 @@ type PutSecretValueInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -4983,7 +5278,12 @@ type RestoreSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5066,9 +5366,9 @@ type RotateSecretInput struct { // service endpoint, then you must generate a ClientRequestToken yourself for // new versions and include that value in the request. // - // You only need to specify your own value if you are implementing your own - // retry logic and want to ensure that a given secret is not created twice. - // We recommend that you generate a UUID-type (https://wikipedia.org/wiki/Universally_unique_identifier) + // You only need to specify your own value if you implement your own retry logic + // and want to ensure that a given secret is not created twice. We recommend + // that you generate a UUID-type (https://wikipedia.org/wiki/Universally_unique_identifier) // value to ensure uniqueness within the specified secret. // // Secrets Manager uses this value to prevent the accidental creation of duplicate @@ -5095,7 +5395,12 @@ type RotateSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5259,7 +5564,10 @@ type SecretListEntry struct { // in the AWS Secrets Manager User Guide. ARN *string `min:"20" type:"string"` - // The date and time on which this secret was deleted. Not present on active + // The date and time when a secret was created. + CreatedDate *time.Time `type:"timestamp"` + + // The date and time the deletion of the secret occurred. Not present on active // secrets. The secret can be recovered until the number of days in the recovery // window has passed, as specified in the RecoveryWindowInDays parameter of // the DeleteSecret operation. @@ -5268,10 +5576,10 @@ type SecretListEntry struct { // The user-provided description of the secret. Description *string `type:"string"` - // The ARN or alias of the AWS KMS customer master key (CMK) that's used to - // encrypt the SecretString and SecretBinary fields in each version of the secret. - // If you don't provide a key, then Secrets Manager defaults to encrypting the - // secret fields with the default KMS CMK (the one named awssecretsmanager) + // The ARN or alias of the AWS KMS customer master key (CMK) used to encrypt + // the SecretString and SecretBinary fields in each version of the secret. If + // you don't provide a key, then Secrets Manager defaults to encrypting the + // secret fields with the default KMS CMK, the key named awssecretsmanager, // for this account. KmsKeyId *string `type:"string"` @@ -5297,24 +5605,24 @@ type SecretListEntry struct { // Indicates whether automatic, scheduled rotation is enabled for this secret. RotationEnabled *bool `type:"boolean"` - // The ARN of an AWS Lambda function that's invoked by Secrets Manager to rotate - // and expire the secret either automatically per the schedule or manually by - // a call to RotateSecret. + // The ARN of an AWS Lambda function invoked by Secrets Manager to rotate and + // expire the secret either automatically per the schedule or manually by a + // call to RotateSecret. RotationLambdaARN *string `type:"string"` // A structure that defines the rotation configuration for the secret. RotationRules *RotationRulesType `type:"structure"` // A list of all of the currently assigned SecretVersionStage staging labels - // and the SecretVersionId that each is attached to. Staging labels are used - // to keep track of the different versions during the rotation process. + // and the SecretVersionId attached to each one. Staging labels are used to + // keep track of the different versions during the rotation process. // // A version that does not have any SecretVersionStage is considered deprecated // and subject to deletion. Such versions are not included in this list. SecretVersionsToStages map[string][]*string `type:"map"` - // The list of user-defined tags that are associated with the secret. To add - // tags to a secret, use TagResource. To remove tags, use UntagResource. + // The list of user-defined tags associated with the secret. To add tags to + // a secret, use TagResource. To remove tags, use UntagResource. Tags []*Tag `type:"list"` } @@ -5334,6 +5642,12 @@ func (s *SecretListEntry) SetARN(v string) *SecretListEntry { return s } +// SetCreatedDate sets the CreatedDate field's value. +func (s *SecretListEntry) SetCreatedDate(v time.Time) *SecretListEntry { + s.CreatedDate = &v + return s +} + // SetDeletedDate sets the DeletedDate field's value. func (s *SecretListEntry) SetDeletedDate(v time.Time) *SecretListEntry { s.DeletedDate = &v @@ -5472,7 +5786,7 @@ type Tag struct { // The key identifier, or name, of the tag. Key *string `min:"1" type:"string"` - // The string value that's associated with the key of the tag. + // The string value associated with the key of the tag. Value *string `type:"string"` } @@ -5527,7 +5841,12 @@ type TagResourceInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5627,7 +5946,12 @@ type UntagResourceInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5776,7 +6100,12 @@ type UpdateSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5926,7 +6255,7 @@ func (s *UpdateSecretOutput) SetVersionId(v string) *UpdateSecretOutput { type UpdateSecretVersionStageInput struct { _ struct{} `type:"structure"` - // (Optional) The secret version ID that you want to add the staging label to. + // (Optional) The secret version ID that you want to add the staging label. // If you want to remove a label from a version, then do not specify this parameter. // // If the staging label is already attached to a different version of the secret, @@ -5941,9 +6270,9 @@ type UpdateSecretVersionStageInput struct { // the version ID does not match, then the operation fails. RemoveFromVersionId *string `min:"32" type:"string"` - // Specifies the secret with the version whose list of staging labels you want - // to modify. You can specify either the Amazon Resource Name (ARN) or the friendly - // name of the secret. + // Specifies the secret with the version with the list of staging labels you + // want to modify. You can specify either the Amazon Resource Name (ARN) or + // the friendly name of the secret. // // If you specify an ARN, we generally recommend that you specify a complete // ARN. You can specify a partial ARN too—for example, if you don’t include @@ -5955,7 +6284,12 @@ type UpdateSecretVersionStageInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -6031,10 +6365,10 @@ func (s *UpdateSecretVersionStageInput) SetVersionStage(v string) *UpdateSecretV type UpdateSecretVersionStageOutput struct { _ struct{} `type:"structure"` - // The ARN of the secret with the staging label that was modified. + // The ARN of the secret with the modified staging label. ARN *string `min:"20" type:"string"` - // The friendly name of the secret with the staging label that was modified. + // The friendly name of the secret with the modified staging label. Name *string `min:"1" type:"string"` } @@ -6059,3 +6393,166 @@ func (s *UpdateSecretVersionStageOutput) SetName(v string) *UpdateSecretVersionS s.Name = &v return s } + +type ValidateResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // Identifies the Resource Policy attached to the secret. + // + // ResourcePolicy is a required field + ResourcePolicy *string `min:"1" type:"string" required:"true"` + + // The identifier for the secret that you want to validate a resource policy. + // You can specify either the Amazon Resource Name (ARN) or the friendly name + // of the secret. + // + // If you specify an ARN, we generally recommend that you specify a complete + // ARN. You can specify a partial ARN too—for example, if you don’t include + // the final hyphen and six random characters that Secrets Manager adds at the + // end of the ARN when you created the secret. A partial ARN match can work + // as long as it uniquely matches only one secret. However, if your secret has + // a name that ends in a hyphen followed by six characters (before Secrets Manager + // adds the hyphen and six characters to the ARN) and you try to use that as + // a partial ARN, then those characters cause Secrets Manager to assume that + // you’re specifying a complete ARN. This confusion can cause unexpected results. + // To avoid this situation, we recommend that you don’t create secret names + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. + SecretId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ValidateResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ValidateResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ValidateResourcePolicyInput"} + if s.ResourcePolicy == nil { + invalidParams.Add(request.NewErrParamRequired("ResourcePolicy")) + } + if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1)) + } + if s.SecretId != nil && len(*s.SecretId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecretId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourcePolicy sets the ResourcePolicy field's value. +func (s *ValidateResourcePolicyInput) SetResourcePolicy(v string) *ValidateResourcePolicyInput { + s.ResourcePolicy = &v + return s +} + +// SetSecretId sets the SecretId field's value. +func (s *ValidateResourcePolicyInput) SetSecretId(v string) *ValidateResourcePolicyInput { + s.SecretId = &v + return s +} + +type ValidateResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // Returns a message stating that your Reource Policy passed validation. + PolicyValidationPassed *bool `type:"boolean"` + + // Returns an error message if your policy doesn't pass validatation. + ValidationErrors []*ValidationErrorsEntry `type:"list"` +} + +// String returns the string representation +func (s ValidateResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetPolicyValidationPassed sets the PolicyValidationPassed field's value. +func (s *ValidateResourcePolicyOutput) SetPolicyValidationPassed(v bool) *ValidateResourcePolicyOutput { + s.PolicyValidationPassed = &v + return s +} + +// SetValidationErrors sets the ValidationErrors field's value. +func (s *ValidateResourcePolicyOutput) SetValidationErrors(v []*ValidationErrorsEntry) *ValidateResourcePolicyOutput { + s.ValidationErrors = v + return s +} + +// Displays errors that occurred during validation of the resource policy. +type ValidationErrorsEntry struct { + _ struct{} `type:"structure"` + + // Checks the name of the policy. + CheckName *string `min:"1" type:"string"` + + // Displays error messages if validation encounters problems during validation + // of the resource policy. + ErrorMessage *string `type:"string"` +} + +// String returns the string representation +func (s ValidationErrorsEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationErrorsEntry) GoString() string { + return s.String() +} + +// SetCheckName sets the CheckName field's value. +func (s *ValidationErrorsEntry) SetCheckName(v string) *ValidationErrorsEntry { + s.CheckName = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ValidationErrorsEntry) SetErrorMessage(v string) *ValidationErrorsEntry { + s.ErrorMessage = &v + return s +} + +const ( + // FilterNameStringTypeDescription is a FilterNameStringType enum value + FilterNameStringTypeDescription = "description" + + // FilterNameStringTypeName is a FilterNameStringType enum value + FilterNameStringTypeName = "name" + + // FilterNameStringTypeTagKey is a FilterNameStringType enum value + FilterNameStringTypeTagKey = "tag-key" + + // FilterNameStringTypeTagValue is a FilterNameStringType enum value + FilterNameStringTypeTagValue = "tag-value" + + // FilterNameStringTypeAll is a FilterNameStringType enum value + FilterNameStringTypeAll = "all" +) + +const ( + // SortOrderTypeAsc is a SortOrderType enum value + SortOrderTypeAsc = "asc" + + // SortOrderTypeDesc is a SortOrderType enum value + SortOrderTypeDesc = "desc" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go index b931ba87c0a..71cfce04145 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go @@ -3,7 +3,7 @@ // Package secretsmanager provides the client and types for making API // requests to AWS Secrets Manager. // -// AWS Secrets Manager is a web service that enables you to store, manage, and +// AWS Secrets Manager provides a service to enable you to store, manage, and // retrieve, secrets. // // This guide provides descriptions of the Secrets Manager API. For more information @@ -14,25 +14,25 @@ // This version of the Secrets Manager API Reference documents the Secrets Manager // API version 2017-10-17. // -// As an alternative to using the API directly, you can use one of the AWS SDKs, -// which consist of libraries and sample code for various programming languages -// and platforms (such as Java, Ruby, .NET, iOS, and Android). The SDKs provide -// a convenient way to create programmatic access to AWS Secrets Manager. For -// example, the SDKs take care of cryptographically signing requests, managing -// errors, and retrying requests automatically. For more information about the -// AWS SDKs, including how to download and install them, see Tools for Amazon -// Web Services (http://aws.amazon.com/tools/). -// -// We recommend that you use the AWS SDKs to make programmatic API calls to -// Secrets Manager. However, you also can use the Secrets Manager HTTP Query -// API to make direct calls to the Secrets Manager web service. To learn more -// about the Secrets Manager HTTP Query API, see Making Query Requests (https://docs.aws.amazon.com/secretsmanager/latest/userguide/query-requests.html) +// As an alternative to using the API, you can use one of the AWS SDKs, which +// consist of libraries and sample code for various programming languages and +// platforms such as Java, Ruby, .NET, iOS, and Android. The SDKs provide a +// convenient way to create programmatic access to AWS Secrets Manager. For +// example, the SDKs provide cryptographically signing requests, managing errors, +// and retrying requests automatically. For more information about the AWS SDKs, +// including downloading and installing them, see Tools for Amazon Web Services +// (http://aws.amazon.com/tools/). +// +// We recommend you use the AWS SDKs to make programmatic API calls to Secrets +// Manager. However, you also can use the Secrets Manager HTTP Query API to +// make direct calls to the Secrets Manager web service. To learn more about +// the Secrets Manager HTTP Query API, see Making Query Requests (https://docs.aws.amazon.com/secretsmanager/latest/userguide/query-requests.html) // in the AWS Secrets Manager User Guide. // -// Secrets Manager supports GET and POST requests for all actions. That is, -// the API doesn't require you to use GET for some actions and POST for others. -// However, GET requests are subject to the limitation size of a URL. Therefore, -// for operations that require larger sizes, use a POST request. +// Secrets Manager API supports GET and POST requests for all actions, and doesn't +// require you to use GET for some actions and POST for others. However, GET +// requests are subject to the limitation size of a URL. Therefore, for operations +// that require larger sizes, use a POST request. // // Support and Feedback for AWS Secrets Manager // @@ -44,25 +44,24 @@ // How examples are presented // // The JSON that AWS Secrets Manager expects as your request parameters and -// that the service returns as a response to HTTP query requests are single, +// the service returns as a response to HTTP query requests contain single, // long strings without line breaks or white space formatting. The JSON shown -// in the examples is formatted with both line breaks and white space to improve -// readability. When example input parameters would also result in long strings -// that extend beyond the screen, we insert line breaks to enhance readability. -// You should always submit the input as a single JSON text string. +// in the examples displays the code formatted with both line breaks and white +// space to improve readability. When example input parameters can also cause +// long strings extending beyond the screen, you can insert line breaks to enhance +// readability. You should always submit the input as a single JSON text string. // // Logging API Requests // // AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API // calls for your AWS account and delivers log files to an Amazon S3 bucket. // By using information that's collected by AWS CloudTrail, you can determine -// which requests were successfully made to Secrets Manager, who made the request, -// when it was made, and so on. For more about AWS Secrets Manager and its support +// the requests successfully made to Secrets Manager, who made the request, +// when it was made, and so on. For more about AWS Secrets Manager and support // for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail // (http://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html#monitoring_cloudtrail) // in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including -// how to turn it on and find your log files, see the AWS CloudTrail User Guide -// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). +// enabling it and find your log files, see the AWS CloudTrail User Guide (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). // // See https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/errors.go b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/errors.go index df82716bb59..ab90196bb65 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/errors.go @@ -77,6 +77,12 @@ const ( // The request failed because you did not complete all the prerequisite steps. ErrCodePreconditionNotMetException = "PreconditionNotMetException" + // ErrCodePublicPolicyException for service response error code + // "PublicPolicyException". + // + // The resource policy did not prevent broad access to the secret. + ErrCodePublicPolicyException = "PublicPolicyException" + // ErrCodeResourceExistsException for service response error code // "ResourceExistsException". // @@ -100,6 +106,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "LimitExceededException": newErrorLimitExceededException, "MalformedPolicyDocumentException": newErrorMalformedPolicyDocumentException, "PreconditionNotMetException": newErrorPreconditionNotMetException, + "PublicPolicyException": newErrorPublicPolicyException, "ResourceExistsException": newErrorResourceExistsException, "ResourceNotFoundException": newErrorResourceNotFoundException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go b/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go index b5119d0d2d8..a8cb6e596ab 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go @@ -4493,6 +4493,100 @@ func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateIns return out, req.Send() } +const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration" + +// UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSecurityHubConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateSecurityHubConfiguration for more information on using the UpdateSecurityHubConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateSecurityHubConfigurationRequest method. +// req, resp := client.UpdateSecurityHubConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration +func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurityHubConfigurationInput) (req *request.Request, output *UpdateSecurityHubConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateSecurityHubConfiguration, + HTTPMethod: "PATCH", + HTTPPath: "/accounts", + } + + if input == nil { + input = &UpdateSecurityHubConfigurationInput{} + } + + output = &UpdateSecurityHubConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateSecurityHubConfiguration API operation for AWS SecurityHub. +// +// Updates configuration options for Security Hub. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 SecurityHub's +// API operation UpdateSecurityHubConfiguration for usage and error information. +// +// Returned Error Types: +// * InternalException +// Internal server error. +// +// * InvalidInputException +// The request was rejected because you supplied an invalid or out-of-range +// value for an input parameter. +// +// * InvalidAccessException +// AWS Security Hub isn't enabled for the account used to make this request. +// +// * LimitExceededException +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error code describes the limit exceeded. +// +// * ResourceNotFoundException +// The request was rejected because we can't find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration +func (c *SecurityHub) UpdateSecurityHubConfiguration(input *UpdateSecurityHubConfigurationInput) (*UpdateSecurityHubConfigurationOutput, error) { + req, out := c.UpdateSecurityHubConfigurationRequest(input) + return out, req.Send() +} + +// UpdateSecurityHubConfigurationWithContext is the same as UpdateSecurityHubConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSecurityHubConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SecurityHub) UpdateSecurityHubConfigurationWithContext(ctx aws.Context, input *UpdateSecurityHubConfigurationInput, opts ...request.Option) (*UpdateSecurityHubConfigurationOutput, error) { + req, out := c.UpdateSecurityHubConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateStandardsControl = "UpdateStandardsControl" // UpdateStandardsControlRequest generates a "aws/request.Request" representing the @@ -4822,6 +4916,67 @@ func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone { return s } +// Provides details about an auto scaling group. +type AwsAutoScalingAutoScalingGroupDetails struct { + _ struct{} `type:"structure"` + + // The datetime when the auto scaling group was created. + CreatedTime *string `type:"string"` + + // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before + // it checks the health status of an EC2 instance that has come into service. + HealthCheckGracePeriod *int64 `type:"integer"` + + // The service to use for the health checks. + HealthCheckType *string `type:"string"` + + // The name of the launch configuration. + LaunchConfigurationName *string `type:"string"` + + // The list of load balancers associated with the group. + LoadBalancerNames []*string `type:"list"` +} + +// String returns the string representation +func (s AwsAutoScalingAutoScalingGroupDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string { + return s.String() +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails { + s.CreatedTime = &v + return s +} + +// SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails { + s.HealthCheckGracePeriod = &v + return s +} + +// SetHealthCheckType sets the HealthCheckType field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails { + s.HealthCheckType = &v + return s +} + +// SetLaunchConfigurationName sets the LaunchConfigurationName field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails { + s.LaunchConfigurationName = &v + return s +} + +// SetLoadBalancerNames sets the LoadBalancerNames field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails { + s.LoadBalancerNames = v + return s +} + // A distribution configuration. type AwsCloudFrontDistributionDetails struct { _ struct{} `type:"structure"` @@ -5931,6 +6086,189 @@ func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) return s } +// An attachment to an AWS EC2 volume. +type AwsEc2VolumeAttachment struct { + _ struct{} `type:"structure"` + + // The datetime when the attachment initiated. + AttachTime *string `type:"string"` + + // Whether the EBS volume is deleted when the EC2 instance is terminated. + DeleteOnTermination *bool `type:"boolean"` + + // The identifier of the EC2 instance. + InstanceId *string `type:"string"` + + // The attachment state of the volume. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2VolumeAttachment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2VolumeAttachment) GoString() string { + return s.String() +} + +// SetAttachTime sets the AttachTime field's value. +func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment { + s.AttachTime = &v + return s +} + +// SetDeleteOnTermination sets the DeleteOnTermination field's value. +func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment { + s.DeleteOnTermination = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment { + s.InstanceId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment { + s.Status = &v + return s +} + +// Details about an EC2 volume. +type AwsEc2VolumeDetails struct { + _ struct{} `type:"structure"` + + // The volume attachments. + Attachments []*AwsEc2VolumeAttachment `type:"list"` + + // The datetime when the volume was created. + CreateTime *string `type:"string"` + + // Whether the volume is encrypted. + Encrypted *bool `type:"boolean"` + + // The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) + // that was used to protect the volume encryption key for the volume. + KmsKeyId *string `type:"string"` + + // The size of the volume, in GiBs. + Size *int64 `type:"integer"` + + // The snapshot from which the volume was created. + SnapshotId *string `type:"string"` + + // The volume state. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2VolumeDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2VolumeDetails) GoString() string { + return s.String() +} + +// SetAttachments sets the Attachments field's value. +func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails { + s.Attachments = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails { + s.CreateTime = &v + return s +} + +// SetEncrypted sets the Encrypted field's value. +func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails { + s.Encrypted = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails { + s.KmsKeyId = &v + return s +} + +// SetSize sets the Size field's value. +func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails { + s.Size = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails { + s.SnapshotId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails { + s.Status = &v + return s +} + +// Details about an EC2 VPC. +type AwsEc2VpcDetails struct { + _ struct{} `type:"structure"` + + // Information about the IPv4 CIDR blocks associated with the VPC. + CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"` + + // The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options + // that are associated with the VPC. If the default options are associated with + // the VPC, then this is default. + DhcpOptionsId *string `type:"string"` + + // Information about the IPv6 CIDR blocks associated with the VPC. + Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"` + + // The current state of the VPC. + State *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2VpcDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2VpcDetails) GoString() string { + return s.String() +} + +// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value. +func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails { + s.CidrBlockAssociationSet = v + return s +} + +// SetDhcpOptionsId sets the DhcpOptionsId field's value. +func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails { + s.DhcpOptionsId = &v + return s +} + +// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value. +func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails { + s.Ipv6CidrBlockAssociationSet = v + return s +} + +// SetState sets the State field's value. +func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails { + s.State = &v + return s +} + // Information about an Elasticsearch domain. type AwsElasticsearchDomainDetails struct { _ struct{} `type:"structure"` @@ -7640,6 +7978,10 @@ type AwsSecurityFinding struct { // The details of network-related information about a finding. Network *Network `type:"structure"` + // Provides information about a network path that is relevant to a finding. + // Each entry under NetworkPath represents a component of that path. + NetworkPath []*NetworkPathComponent `type:"list"` + // A user-defined note added to a finding. Note *Note `type:"structure"` @@ -7718,6 +8060,9 @@ type AwsSecurityFinding struct { // Indicates the veracity of a finding. VerificationState *string `type:"string" enum:"VerificationState"` + // Provides a list of vulnerabilities associated with the findings. + Vulnerabilities []*Vulnerability `type:"list"` + // Provides information about the status of the investigation into a finding. Workflow *Workflow `type:"structure"` @@ -7814,6 +8159,16 @@ func (s *AwsSecurityFinding) Validate() error { } } } + if s.Vulnerabilities != nil { + for i, v := range s.Vulnerabilities { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7893,6 +8248,12 @@ func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding { return s } +// SetNetworkPath sets the NetworkPath field's value. +func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding { + s.NetworkPath = v + return s +} + // SetNote sets the Note field's value. func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding { s.Note = v @@ -7995,6 +8356,12 @@ func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding return s } +// SetVulnerabilities sets the Vulnerabilities field's value. +func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding { + s.Vulnerabilities = v + return s +} + // SetWorkflow sets the Workflow field's value. func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding { s.Workflow = v @@ -8287,6 +8654,9 @@ type AwsSecurityFindingFilters struct { VerificationState []*StringFilter `type:"list"` // The workflow state of a finding. + // + // Note that this field is deprecated. To search for a finding based on its + // workflow status, use WorkflowStatus. WorkflowState []*StringFilter `type:"list"` // The status of the investigation into a finding. Allowed values are the following. @@ -9661,30 +10031,72 @@ func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecur return s } -// Contains finding details that are specific to control-based findings. Only -// returned for findings generated from controls. -type Compliance struct { +// An IPv4 CIDR block association. +type CidrBlockAssociation struct { _ struct{} `type:"structure"` - // For a control, the industry or regulatory framework requirements that are - // related to the control. The check for that control is aligned with these - // requirements. - RelatedRequirements []*string `type:"list"` + // The association ID for the IPv4 CIDR block. + AssociationId *string `type:"string"` - // The result of a standards check. - // - // The valid values for Status are as follows. - // - // * PASSED - Standards check passed for all evaluated resources. WARNING - // - Some information is missing or this check is not supported for your - // configuration. FAILED - Standards check failed for at least one evaluated - // resource. NOT_AVAILABLE - Check could not be performed due to a service - // outage, API error, or because the result of the AWS Config evaluation - // was NOT_APPLICABLE. If the AWS Config evaluation result was NOT_APPLICABLE, - // then after 3 days, Security Hub automatically archives the finding. - Status *string `type:"string" enum:"ComplianceStatus"` + // The IPv4 CIDR block. + CidrBlock *string `type:"string"` - // For findings generated from controls, a list of reasons behind the value + // Information about the state of the IPv4 CIDR block. + CidrBlockState *string `type:"string"` +} + +// String returns the string representation +func (s CidrBlockAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CidrBlockAssociation) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation { + s.AssociationId = &v + return s +} + +// SetCidrBlock sets the CidrBlock field's value. +func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation { + s.CidrBlock = &v + return s +} + +// SetCidrBlockState sets the CidrBlockState field's value. +func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation { + s.CidrBlockState = &v + return s +} + +// Contains finding details that are specific to control-based findings. Only +// returned for findings generated from controls. +type Compliance struct { + _ struct{} `type:"structure"` + + // For a control, the industry or regulatory framework requirements that are + // related to the control. The check for that control is aligned with these + // requirements. + RelatedRequirements []*string `type:"list"` + + // The result of a standards check. + // + // The valid values for Status are as follows. + // + // * PASSED - Standards check passed for all evaluated resources. WARNING + // - Some information is missing or this check is not supported for your + // configuration. FAILED - Standards check failed for at least one evaluated + // resource. NOT_AVAILABLE - Check could not be performed due to a service + // outage, API error, or because the result of the AWS Config evaluation + // was NOT_APPLICABLE. If the AWS Config evaluation result was NOT_APPLICABLE, + // then after 3 days, Security Hub automatically archives the finding. + Status *string `type:"string" enum:"ComplianceStatus"` + + // For findings generated from controls, a list of reasons behind the value // of Status. For the list of status reason codes and their meanings, see Standards-related // information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff) // in the AWS Security Hub User Guide. @@ -10025,6 +10437,48 @@ func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembers return s } +// CVSS scores from the advisory related to the vulnerability. +type Cvss struct { + _ struct{} `type:"structure"` + + // The base CVSS score. + BaseScore *float64 `type:"double"` + + // The base scoring vector for the CVSS score. + BaseVector *string `type:"string"` + + // The version of CVSS for the CVSS score. + Version *string `type:"string"` +} + +// String returns the string representation +func (s Cvss) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Cvss) GoString() string { + return s.String() +} + +// SetBaseScore sets the BaseScore field's value. +func (s *Cvss) SetBaseScore(v float64) *Cvss { + s.BaseScore = &v + return s +} + +// SetBaseVector sets the BaseVector field's value. +func (s *Cvss) SetBaseVector(v string) *Cvss { + s.BaseVector = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Cvss) SetVersion(v string) *Cvss { + s.Version = &v + return s +} + // A date filter for querying findings. type DateFilter struct { _ struct{} `type:"structure"` @@ -10523,6 +10977,13 @@ func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput { type DescribeHubOutput struct { _ struct{} `type:"structure"` + // Whether to automatically enable new controls when they are added to standards + // that are enabled. + // + // If set to true, then new controls for enabled standards are enabled automatically. + // If set to false, then new controls are not enabled. + AutoEnableControls *bool `type:"boolean"` + // The ARN of the Hub resource that was retrieved. HubArn *string `type:"string"` @@ -10540,6 +11001,12 @@ func (s DescribeHubOutput) GoString() string { return s.String() } +// SetAutoEnableControls sets the AutoEnableControls field's value. +func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput { + s.AutoEnableControls = &v + return s +} + // SetHubArn sets the HubArn field's value. func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput { s.HubArn = &v @@ -11184,6 +11651,9 @@ type GetFindingsInput struct { // The finding attributes used to define a condition to filter the returned // findings. + // + // Note that in the available filter fields, WorkflowState is deprecated. To + // search for a finding based on its workflow status, use WorkflowStatus. Filters *AwsSecurityFindingFilters `type:"structure"` // The maximum number of findings to return. @@ -12089,6 +12559,48 @@ func (s *IpFilter) SetCidr(v string) *IpFilter { return s } +// An IPV6 CIDR block association. +type Ipv6CidrBlockAssociation struct { + _ struct{} `type:"structure"` + + // The association ID for the IPv6 CIDR block. + AssociationId *string `type:"string"` + + // Information about the state of the CIDR block. + CidrBlockState *string `type:"string"` + + // The IPv6 CIDR block. + Ipv6CidrBlock *string `type:"string"` +} + +// String returns the string representation +func (s Ipv6CidrBlockAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ipv6CidrBlockAssociation) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation { + s.AssociationId = &v + return s +} + +// SetCidrBlockState sets the CidrBlockState field's value. +func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation { + s.CidrBlockState = &v + return s +} + +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation { + s.Ipv6CidrBlock = &v + return s +} + // A keyword filter for querying findings. type KeywordFilter struct { _ struct{} `type:"structure"` @@ -12733,6 +13245,9 @@ type Network struct { // The direction of network traffic associated with a finding. Direction *string `type:"string" enum:"NetworkDirection"` + // The range of open ports that is present on the network. + OpenPortRange *PortRange `type:"structure"` + // The protocol of network-related information about a finding. Protocol *string `type:"string"` @@ -12793,6 +13308,12 @@ func (s *Network) SetDirection(v string) *Network { return s } +// SetOpenPortRange sets the OpenPortRange field's value. +func (s *Network) SetOpenPortRange(v *PortRange) *Network { + s.OpenPortRange = v + return s +} + // SetProtocol sets the Protocol field's value. func (s *Network) SetProtocol(v string) *Network { s.Protocol = &v @@ -12829,6 +13350,135 @@ func (s *Network) SetSourcePort(v int64) *Network { return s } +// Details about a network path component that occurs before or after the current +// component. +type NetworkHeader struct { + _ struct{} `type:"structure"` + + // Information about the destination of the component. + Destination *NetworkPathComponentDetails `type:"structure"` + + // The protocol used for the component. + Protocol *string `type:"string"` + + // Information about the origin of the component. + Source *NetworkPathComponentDetails `type:"structure"` +} + +// String returns the string representation +func (s NetworkHeader) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkHeader) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader { + s.Destination = v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader { + s.Protocol = &v + return s +} + +// SetSource sets the Source field's value. +func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader { + s.Source = v + return s +} + +// Information about a network path component. +type NetworkPathComponent struct { + _ struct{} `type:"structure"` + + // The identifier of a component in the network path. + ComponentId *string `type:"string"` + + // The type of component. + ComponentType *string `type:"string"` + + // Information about the component that comes after the current component in + // the network path. + Egress *NetworkHeader `type:"structure"` + + // Information about the component that comes before the current node in the + // network path. + Ingress *NetworkHeader `type:"structure"` +} + +// String returns the string representation +func (s NetworkPathComponent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkPathComponent) GoString() string { + return s.String() +} + +// SetComponentId sets the ComponentId field's value. +func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent { + s.ComponentId = &v + return s +} + +// SetComponentType sets the ComponentType field's value. +func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent { + s.ComponentType = &v + return s +} + +// SetEgress sets the Egress field's value. +func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent { + s.Egress = v + return s +} + +// SetIngress sets the Ingress field's value. +func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent { + s.Ingress = v + return s +} + +// Information about the destination of the next component in the network path. +type NetworkPathComponentDetails struct { + _ struct{} `type:"structure"` + + // The IP addresses of the destination. + Address []*string `type:"list"` + + // A list of port ranges for the destination. + PortRanges []*PortRange `type:"list"` +} + +// String returns the string representation +func (s NetworkPathComponentDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkPathComponentDetails) GoString() string { + return s.String() +} + +// SetAddress sets the Address field's value. +func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails { + s.Address = v + return s +} + +// SetPortRanges sets the PortRanges field's value. +func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails { + s.PortRanges = v + return s +} + // A user-defined note added to a finding. type Note struct { _ struct{} `type:"structure"` @@ -12994,6 +13644,39 @@ func (s *NumberFilter) SetLte(v float64) *NumberFilter { return s } +// A range of ports. +type PortRange struct { + _ struct{} `type:"structure"` + + // The first port in the port range. + Begin *int64 `type:"integer"` + + // The last port in the port range. + End *int64 `type:"integer"` +} + +// String returns the string representation +func (s PortRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PortRange) GoString() string { + return s.String() +} + +// SetBegin sets the Begin field's value. +func (s *PortRange) SetBegin(v int64) *PortRange { + s.Begin = &v + return s +} + +// SetEnd sets the End field's value. +func (s *PortRange) SetEnd(v int64) *PortRange { + s.End = &v + return s +} + // The details of process-related information about a finding. type ProcessDetails struct { _ struct{} `type:"structure"` @@ -13453,6 +14136,9 @@ func (s *ResourceConflictException) RequestID() string { type ResourceDetails struct { _ struct{} `type:"structure"` + // Details for an autoscaling group. + AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"` + // Details about a CloudFront distribution. AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"` @@ -13468,6 +14154,12 @@ type ResourceDetails struct { // Details for an EC2 security group. AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"` + // Details for an EC2 volume. + AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"` + + // Details for an EC2 VPC. + AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"` + // Details for an Elasticsearch domain. AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"` @@ -13548,6 +14240,12 @@ func (s *ResourceDetails) Validate() error { return nil } +// SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value. +func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails { + s.AwsAutoScalingAutoScalingGroup = v + return s +} + // SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value. func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails { s.AwsCloudFrontDistribution = v @@ -13578,6 +14276,18 @@ func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) return s } +// SetAwsEc2Volume sets the AwsEc2Volume field's value. +func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails { + s.AwsEc2Volume = v + return s +} + +// SetAwsEc2Vpc sets the AwsEc2Vpc field's value. +func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails { + s.AwsEc2Vpc = v + return s +} + // SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value. func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails { s.AwsElasticsearchDomain = v @@ -13760,6 +14470,15 @@ func (s *Result) SetProcessingResult(v string) *Result { } // The severity of the finding. +// +// The finding provider can provide the initial severity, but cannot update +// it after that. The severity can only be updated by a master account. It cannot +// be updated by a member account. +// +// The finding must have either Label or Normalized populated. If only one of +// these attributes is populated, then Security Hub automatically populates +// the other one. If neither attribute is populated, then the finding is invalid. +// Label is the preferred attribute. type Severity struct { _ struct{} `type:"structure"` @@ -13774,12 +14493,8 @@ type Severity struct { // * HIGH - The issue must be addressed as a priority. // // * CRITICAL - The issue must be remediated immediately to avoid it escalating. - Label *string `type:"string" enum:"SeverityLabel"` - - // Deprecated. This attribute is being deprecated. Instead of providing Normalized, - // provide Label. // - // If you provide Normalized and do not provide Label, Label is set automatically + // If you provide Normalized and do not provide Label, then Label is set automatically // as follows. // // * 0 - INFORMATIONAL @@ -13791,6 +14506,23 @@ type Severity struct { // * 70–89 - HIGH // // * 90–100 - CRITICAL + Label *string `type:"string" enum:"SeverityLabel"` + + // Deprecated. The normalized severity of a finding. This attribute is being + // deprecated. Instead of providing Normalized, provide Label. + // + // If you provide Label and do not provide Normalized, then Normalized is set + // automatically as follows. + // + // * INFORMATIONAL - 0 + // + // * LOW - 1 + // + // * MEDIUM - 40 + // + // * HIGH - 70 + // + // * CRITICAL - 90 Normalized *int64 `type:"integer"` // The native severity from the finding product that generated the finding. @@ -13905,6 +14637,66 @@ func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate { return s } +// Information about a software package. +type SoftwarePackage struct { + _ struct{} `type:"structure"` + + // The architecture used for the software package. + Architecture *string `type:"string"` + + // The epoch of the software package. + Epoch *string `type:"string"` + + // The name of the software package. + Name *string `type:"string"` + + // The release of the software package. + Release *string `type:"string"` + + // The version of the software package. + Version *string `type:"string"` +} + +// String returns the string representation +func (s SoftwarePackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SoftwarePackage) GoString() string { + return s.String() +} + +// SetArchitecture sets the Architecture field's value. +func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage { + s.Architecture = &v + return s +} + +// SetEpoch sets the Epoch field's value. +func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage { + s.Epoch = &v + return s +} + +// SetName sets the Name field's value. +func (s *SoftwarePackage) SetName(v string) *SoftwarePackage { + s.Name = &v + return s +} + +// SetRelease sets the Release field's value. +func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage { + s.Release = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage { + s.Version = &v + return s +} + // A collection of finding attributes used to sort findings. type SortCriterion struct { _ struct{} `type:"structure"` @@ -14744,6 +15536,47 @@ func (s UpdateInsightOutput) GoString() string { return s.String() } +type UpdateSecurityHubConfigurationInput struct { + _ struct{} `type:"structure"` + + // Whether to automatically enable new controls when they are added to standards + // that are enabled. + // + // By default, this is set to true, and new controls are enabled automatically. + // To not automatically enable new controls, set this to false. + AutoEnableControls *bool `type:"boolean"` +} + +// String returns the string representation +func (s UpdateSecurityHubConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSecurityHubConfigurationInput) GoString() string { + return s.String() +} + +// SetAutoEnableControls sets the AutoEnableControls field's value. +func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput { + s.AutoEnableControls = &v + return s +} + +type UpdateSecurityHubConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateSecurityHubConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSecurityHubConfigurationOutput) GoString() string { + return s.String() +} + type UpdateStandardsControlInput struct { _ struct{} `type:"structure"` @@ -14751,6 +15584,7 @@ type UpdateStandardsControlInput struct { ControlStatus *string `type:"string" enum:"ControlStatus"` // A description of the reason why you are disabling a security standard control. + // If you are disabling a control, then this is required. DisabledReason *string `type:"string"` // The ARN of the security standard control to enable or disable. @@ -14817,6 +15651,170 @@ func (s UpdateStandardsControlOutput) GoString() string { return s.String() } +// A vulnerability associated with a finding. +type Vulnerability struct { + _ struct{} `type:"structure"` + + // CVSS scores from the advisory related to the vulnerability. + Cvss []*Cvss `type:"list"` + + // The identifier of the vulnerability. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // A list of URLs that provide additional information about the vulnerability. + ReferenceUrls []*string `type:"list"` + + // List of vulnerabilities that are related to this vulnerability. + RelatedVulnerabilities []*string `type:"list"` + + // Information about the vendor that generates the vulnerability report. + Vendor *VulnerabilityVendor `type:"structure"` + + // List of software packages that have the vulnerability. + VulnerablePackages []*SoftwarePackage `type:"list"` +} + +// String returns the string representation +func (s Vulnerability) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Vulnerability) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Vulnerability) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Vulnerability"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Vendor != nil { + if err := s.Vendor.Validate(); err != nil { + invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCvss sets the Cvss field's value. +func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability { + s.Cvss = v + return s +} + +// SetId sets the Id field's value. +func (s *Vulnerability) SetId(v string) *Vulnerability { + s.Id = &v + return s +} + +// SetReferenceUrls sets the ReferenceUrls field's value. +func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability { + s.ReferenceUrls = v + return s +} + +// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value. +func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability { + s.RelatedVulnerabilities = v + return s +} + +// SetVendor sets the Vendor field's value. +func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability { + s.Vendor = v + return s +} + +// SetVulnerablePackages sets the VulnerablePackages field's value. +func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability { + s.VulnerablePackages = v + return s +} + +// A vendor that generates a vulnerability report. +type VulnerabilityVendor struct { + _ struct{} `type:"structure"` + + // The name of the vendor. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The URL of the vulnerability advisory. + Url *string `type:"string"` + + // The datetime when the vulnerability advisory was created. + VendorCreatedAt *string `type:"string"` + + // The severity that the vendor assigned to the vulnerability. + VendorSeverity *string `type:"string"` + + // The datetime when the vulnerability advisory was last updated. + VendorUpdatedAt *string `type:"string"` +} + +// String returns the string representation +func (s VulnerabilityVendor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VulnerabilityVendor) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VulnerabilityVendor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"} + 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 *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor { + s.Name = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor { + s.Url = &v + return s +} + +// SetVendorCreatedAt sets the VendorCreatedAt field's value. +func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor { + s.VendorCreatedAt = &v + return s +} + +// SetVendorSeverity sets the VendorSeverity field's value. +func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor { + s.VendorSeverity = &v + return s +} + +// SetVendorUpdatedAt sets the VendorUpdatedAt field's value. +func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor { + s.VendorUpdatedAt = &v + return s +} + // Details about the action that CloudFront or AWS WAF takes when a web request // matches the conditions in the rule. type WafAction struct { diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go index 8c572efb320..574e93c1736 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go @@ -1045,6 +1045,9 @@ func (c *ServiceCatalog) CreatePortfolioShareRequest(input *CreatePortfolioShare // AWSOrganizationsAccess must be enabled in order to create a portfolio share // to an organization node. // +// You can't share a shared resource. This includes portfolios that contain +// a shared product. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -12199,18 +12202,27 @@ type DescribeProvisioningParametersInput struct { // The path identifier of the product. This value is optional if the product // has a default path, and required if the product has more than one path. To - // list the paths for a product, use ListLaunchPaths. + // list the paths for a product, use ListLaunchPaths. You must provide the name + // or ID, but not both. PathId *string `min:"1" type:"string"` - // The product identifier. - // - // ProductId is a required field - ProductId *string `min:"1" type:"string" required:"true"` + // The name of the path. You must provide the name or ID, but not both. + PathName *string `min:"1" type:"string"` - // The identifier of the provisioning artifact. - // - // ProvisioningArtifactId is a required field - ProvisioningArtifactId *string `min:"1" type:"string" required:"true"` + // The product identifier. You must provide the product name or ID, but not + // both. + ProductId *string `min:"1" type:"string"` + + // The name of the product. You must provide the name or ID, but not both. + ProductName *string `type:"string"` + + // The identifier of the provisioning artifact. You must provide the name or + // ID, but not both. + ProvisioningArtifactId *string `min:"1" type:"string"` + + // The name of the provisioning artifact. You must provide the name or ID, but + // not both. + ProvisioningArtifactName *string `type:"string"` } // String returns the string representation @@ -12229,15 +12241,12 @@ func (s *DescribeProvisioningParametersInput) Validate() error { if s.PathId != nil && len(*s.PathId) < 1 { invalidParams.Add(request.NewErrParamMinLen("PathId", 1)) } - if s.ProductId == nil { - invalidParams.Add(request.NewErrParamRequired("ProductId")) + if s.PathName != nil && len(*s.PathName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PathName", 1)) } if s.ProductId != nil && len(*s.ProductId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProductId", 1)) } - if s.ProvisioningArtifactId == nil { - invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId")) - } if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1)) } @@ -12260,24 +12269,45 @@ func (s *DescribeProvisioningParametersInput) SetPathId(v string) *DescribeProvi return s } +// SetPathName sets the PathName field's value. +func (s *DescribeProvisioningParametersInput) SetPathName(v string) *DescribeProvisioningParametersInput { + s.PathName = &v + return s +} + // SetProductId sets the ProductId field's value. func (s *DescribeProvisioningParametersInput) SetProductId(v string) *DescribeProvisioningParametersInput { s.ProductId = &v return s } +// SetProductName sets the ProductName field's value. +func (s *DescribeProvisioningParametersInput) SetProductName(v string) *DescribeProvisioningParametersInput { + s.ProductName = &v + return s +} + // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value. func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactId(v string) *DescribeProvisioningParametersInput { s.ProvisioningArtifactId = &v return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactName(v string) *DescribeProvisioningParametersInput { + s.ProvisioningArtifactName = &v + return s +} + type DescribeProvisioningParametersOutput struct { _ struct{} `type:"structure"` // Information about the constraints used to provision the product. ConstraintSummaries []*ConstraintSummary `type:"list"` + // The output of the provisioning artifact. + ProvisioningArtifactOutputs []*ProvisioningArtifactOutput `type:"list"` + // Information about the parameters used to provision the product. ProvisioningArtifactParameters []*ProvisioningArtifactParameter `type:"list"` @@ -12309,6 +12339,12 @@ func (s *DescribeProvisioningParametersOutput) SetConstraintSummaries(v []*Const return s } +// SetProvisioningArtifactOutputs sets the ProvisioningArtifactOutputs field's value. +func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactOutputs(v []*ProvisioningArtifactOutput) *DescribeProvisioningParametersOutput { + s.ProvisioningArtifactOutputs = v + return s +} + // SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value. func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactParameters(v []*ProvisioningArtifactParameter) *DescribeProvisioningParametersOutput { s.ProvisioningArtifactParameters = v @@ -16283,13 +16319,18 @@ type ProvisionProductInput struct { // The path identifier of the product. This value is optional if the product // has a default path, and required if the product has more than one path. To - // list the paths for a product, use ListLaunchPaths. + // list the paths for a product, use ListLaunchPaths. You must provide the name + // or ID, but not both. PathId *string `min:"1" type:"string"` - // The product identifier. - // - // ProductId is a required field - ProductId *string `min:"1" type:"string" required:"true"` + // The name of the path. You must provide the name or ID, but not both. + PathName *string `min:"1" type:"string"` + + // The product identifier. You must provide the name or ID, but not both. + ProductId *string `min:"1" type:"string"` + + // The name of the product. You must provide the name or ID, but not both. + ProductName *string `type:"string"` // An idempotency token that uniquely identifies the provisioning request. ProvisionToken *string `min:"1" type:"string" idempotencyToken:"true"` @@ -16300,10 +16341,13 @@ type ProvisionProductInput struct { // ProvisionedProductName is a required field ProvisionedProductName *string `min:"1" type:"string" required:"true"` - // The identifier of the provisioning artifact. - // - // ProvisioningArtifactId is a required field - ProvisioningArtifactId *string `min:"1" type:"string" required:"true"` + // The identifier of the provisioning artifact. You must provide the name or + // ID, but not both. + ProvisioningArtifactId *string `min:"1" type:"string"` + + // The name of the provisioning artifact. You must provide the name or ID, but + // not both. + ProvisioningArtifactName *string `type:"string"` // Parameters specified by the administrator that are required for provisioning // the product. @@ -16333,8 +16377,8 @@ func (s *ProvisionProductInput) Validate() error { if s.PathId != nil && len(*s.PathId) < 1 { invalidParams.Add(request.NewErrParamMinLen("PathId", 1)) } - if s.ProductId == nil { - invalidParams.Add(request.NewErrParamRequired("ProductId")) + if s.PathName != nil && len(*s.PathName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PathName", 1)) } if s.ProductId != nil && len(*s.ProductId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProductId", 1)) @@ -16348,9 +16392,6 @@ func (s *ProvisionProductInput) Validate() error { if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1)) } - if s.ProvisioningArtifactId == nil { - invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId")) - } if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1)) } @@ -16404,12 +16445,24 @@ func (s *ProvisionProductInput) SetPathId(v string) *ProvisionProductInput { return s } +// SetPathName sets the PathName field's value. +func (s *ProvisionProductInput) SetPathName(v string) *ProvisionProductInput { + s.PathName = &v + return s +} + // SetProductId sets the ProductId field's value. func (s *ProvisionProductInput) SetProductId(v string) *ProvisionProductInput { s.ProductId = &v return s } +// SetProductName sets the ProductName field's value. +func (s *ProvisionProductInput) SetProductName(v string) *ProvisionProductInput { + s.ProductName = &v + return s +} + // SetProvisionToken sets the ProvisionToken field's value. func (s *ProvisionProductInput) SetProvisionToken(v string) *ProvisionProductInput { s.ProvisionToken = &v @@ -16428,6 +16481,12 @@ func (s *ProvisionProductInput) SetProvisioningArtifactId(v string) *ProvisionPr return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *ProvisionProductInput) SetProvisioningArtifactName(v string) *ProvisionProductInput { + s.ProvisioningArtifactName = &v + return s +} + // SetProvisioningParameters sets the ProvisioningParameters field's value. func (s *ProvisionProductInput) SetProvisioningParameters(v []*ProvisioningParameter) *ProvisionProductInput { s.ProvisioningParameters = v @@ -17150,6 +17209,39 @@ func (s *ProvisioningArtifactDetail) SetType(v string) *ProvisioningArtifactDeta return s } +// Provisioning artifact output. +type ProvisioningArtifactOutput struct { + _ struct{} `type:"structure"` + + // Description of the provisioning artifact output key. + Description *string `type:"string"` + + // The provisioning artifact output key. + Key *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ProvisioningArtifactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProvisioningArtifactOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *ProvisioningArtifactOutput) SetDescription(v string) *ProvisioningArtifactOutput { + s.Description = &v + return s +} + +// SetKey sets the Key field's value. +func (s *ProvisioningArtifactOutput) SetKey(v string) *ProvisioningArtifactOutput { + s.Key = &v + return s +} + // Information about a parameter used to provision a product. type ProvisioningArtifactParameter struct { _ struct{} `type:"structure"` @@ -19952,15 +20044,22 @@ type UpdateProvisionedProductInput struct { // * zh - Chinese AcceptLanguage *string `type:"string"` - // The new path identifier. This value is optional if the product has a default - // path, and required if the product has more than one path. + // The path identifier. This value is optional if the product has a default + // path, and required if the product has more than one path. You must provide + // the name or ID, but not both. PathId *string `min:"1" type:"string"` - // The identifier of the product. + // The name of the path. You must provide the name or ID, but not both. + PathName *string `min:"1" type:"string"` + + // The identifier of the product. You must provide the name or ID, but not both. ProductId *string `min:"1" type:"string"` - // The identifier of the provisioned product. You cannot specify both ProvisionedProductName - // and ProvisionedProductId. + // The name of the product. You must provide the name or ID, but not both. + ProductName *string `type:"string"` + + // The identifier of the provisioned product. You must provide the name or ID, + // but not both. ProvisionedProductId *string `min:"1" type:"string"` // The name of the provisioned product. You cannot specify both ProvisionedProductName @@ -19970,6 +20069,10 @@ type UpdateProvisionedProductInput struct { // The identifier of the provisioning artifact. ProvisioningArtifactId *string `min:"1" type:"string"` + // The name of the provisioning artifact. You must provide the name or ID, but + // not both. + ProvisioningArtifactName *string `type:"string"` + // The new parameters. ProvisioningParameters []*UpdateProvisioningParameter `type:"list"` @@ -20001,6 +20104,9 @@ func (s *UpdateProvisionedProductInput) Validate() error { if s.PathId != nil && len(*s.PathId) < 1 { invalidParams.Add(request.NewErrParamMinLen("PathId", 1)) } + if s.PathName != nil && len(*s.PathName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PathName", 1)) + } if s.ProductId != nil && len(*s.ProductId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProductId", 1)) } @@ -20060,12 +20166,24 @@ func (s *UpdateProvisionedProductInput) SetPathId(v string) *UpdateProvisionedPr return s } +// SetPathName sets the PathName field's value. +func (s *UpdateProvisionedProductInput) SetPathName(v string) *UpdateProvisionedProductInput { + s.PathName = &v + return s +} + // SetProductId sets the ProductId field's value. func (s *UpdateProvisionedProductInput) SetProductId(v string) *UpdateProvisionedProductInput { s.ProductId = &v return s } +// SetProductName sets the ProductName field's value. +func (s *UpdateProvisionedProductInput) SetProductName(v string) *UpdateProvisionedProductInput { + s.ProductName = &v + return s +} + // SetProvisionedProductId sets the ProvisionedProductId field's value. func (s *UpdateProvisionedProductInput) SetProvisionedProductId(v string) *UpdateProvisionedProductInput { s.ProvisionedProductId = &v @@ -20084,6 +20202,12 @@ func (s *UpdateProvisionedProductInput) SetProvisioningArtifactId(v string) *Upd return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *UpdateProvisionedProductInput) SetProvisioningArtifactName(v string) *UpdateProvisionedProductInput { + s.ProvisioningArtifactName = &v + return s +} + // SetProvisioningParameters sets the ProvisioningParameters field's value. func (s *UpdateProvisionedProductInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *UpdateProvisionedProductInput { s.ProvisioningParameters = v diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/api.go b/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/api.go index 6ce167c7689..e3d697c2af9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/api.go @@ -61,8 +61,8 @@ func (c *ServiceDiscovery) CreateHttpNamespaceRequest(input *CreateHttpNamespace // namespace can be discovered using a DiscoverInstances request but can't be // discovered using DNS. // -// For the current limit on the number of namespaces that you can create using -// the same AWS account, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) +// For the current quota on the number of namespaces that you can create using +// the same AWS account, see AWS Cloud Map quotas (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -82,14 +82,14 @@ func (c *ServiceDiscovery) CreateHttpNamespaceRequest(input *CreateHttpNamespace // The namespace that you're trying to create already exists. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * DuplicateRequest // The operation is already in progress. // // * TooManyTagsException -// The list of tags on the resource is over the limit. The maximum number of +// The list of tags on the resource is over the quota. The maximum number of // tags that can be applied to a resource is 50. // // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespace @@ -162,7 +162,7 @@ func (c *ServiceDiscovery) CreatePrivateDnsNamespaceRequest(input *CreatePrivate // a specified Amazon VPC. The namespace defines your service naming scheme. // For example, if you name your namespace example.com and name your service // backend, the resulting DNS name for the service will be backend.example.com. -// For the current limit on the number of namespaces that you can create using +// For the current quota on the number of namespaces that you can create using // the same AWS account, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. // @@ -183,14 +183,14 @@ func (c *ServiceDiscovery) CreatePrivateDnsNamespaceRequest(input *CreatePrivate // The namespace that you're trying to create already exists. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * DuplicateRequest // The operation is already in progress. // // * TooManyTagsException -// The list of tags on the resource is over the limit. The maximum number of +// The list of tags on the resource is over the quota. The maximum number of // tags that can be applied to a resource is 50. // // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespace @@ -262,7 +262,7 @@ func (c *ServiceDiscovery) CreatePublicDnsNamespaceRequest(input *CreatePublicDn // Creates a public namespace based on DNS, which will be visible on the internet. // The namespace defines your service naming scheme. For example, if you name // your namespace example.com and name your service backend, the resulting DNS -// name for the service will be backend.example.com. For the current limit on +// name for the service will be backend.example.com. For the current quota on // the number of namespaces that you can create using the same AWS account, // see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. @@ -284,14 +284,14 @@ func (c *ServiceDiscovery) CreatePublicDnsNamespaceRequest(input *CreatePublicDn // The namespace that you're trying to create already exists. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * DuplicateRequest // The operation is already in progress. // // * TooManyTagsException -// The list of tags on the resource is over the limit. The maximum number of +// The list of tags on the resource is over the quota. The maximum number of // tags that can be applied to a resource is 50. // // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespace @@ -371,7 +371,7 @@ func (c *ServiceDiscovery) CreateServiceRequest(input *CreateServiceInput) (req // request, and AWS Cloud Map uses the values in the configuration to create // the specified entities. // -// For the current limit on the number of instances that you can register using +// For the current quota on the number of instances that you can register using // the same namespace and using the same service, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. // @@ -389,7 +389,7 @@ func (c *ServiceDiscovery) CreateServiceRequest(input *CreateServiceInput) (req // a string value might exceed length constraints. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * NamespaceNotFound @@ -400,7 +400,7 @@ func (c *ServiceDiscovery) CreateServiceRequest(input *CreateServiceInput) (req // exists. // // * TooManyTagsException -// The list of tags on the resource is over the limit. The maximum number of +// The list of tags on the resource is over the quota. The maximum number of // tags that can be applied to a resource is 50. // // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateService @@ -774,8 +774,10 @@ func (c *ServiceDiscovery) DiscoverInstancesRequest(input *DiscoverInstancesInpu // a string value might exceed length constraints. // // * RequestLimitExceeded -// The operation can't be completed because you've reached the limit on the -// number of requests. +// The operation can't be completed because you've reached the quota for the +// number of requests. For more information, see AWS Cloud Map API request throttling +// quota (https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html) in +// the AWS Cloud Map Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstances func (c *ServiceDiscovery) DiscoverInstances(input *DiscoverInstancesInput) (*DiscoverInstancesOutput, error) { @@ -2013,7 +2015,7 @@ func (c *ServiceDiscovery) RegisterInstanceRequest(input *RegisterInstanceInput) // * If you didn't specify a health check configuration: returns all the // records // -// For the current limit on the number of instances that you can register using +// For the current quota on the number of instances that you can register using // the same namespace and using the same service, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. // @@ -2038,7 +2040,7 @@ func (c *ServiceDiscovery) RegisterInstanceRequest(input *RegisterInstanceInput) // For example, you can't delete a service that contains any instances. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * ServiceNotFound @@ -2125,7 +2127,7 @@ func (c *ServiceDiscovery) TagResourceRequest(input *TagResourceInput) (req *req // The operation can't be completed because the resource was not found. // // * TooManyTagsException -// The list of tags on the resource is over the limit. The maximum number of +// The list of tags on the resource is over the quota. The maximum number of // tags that can be applied to a resource is 50. // // * InvalidInput @@ -4097,14 +4099,14 @@ func (s *GetServiceOutput) SetService(v *Service) *GetServiceOutput { // // Note the following about configuring health checks. // -// A and AAAA records +// A and AAAA records // // If DnsConfig includes configurations for both A and AAAA records, AWS Cloud // Map creates a health check that uses the IPv4 address to check the health // of the resource. If the endpoint that is specified by the IPv4 address is // unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. // -// CNAME records +// CNAME records // // You can't specify settings for HealthCheckConfig when the DNSConfig includes // CNAME for the value of Type. If you do, the CreateService request will fail @@ -4454,6 +4456,11 @@ type Instance struct { // * If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values // for any of the AWS_INSTANCE attributes. // + // AWS_EC2_INSTANCE_ID + // + // HTTP namespaces only. The Amazon EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 + // attribute contains the primary private IPv4 address. + // // AWS_INSTANCE_CNAME // // If the service configuration includes a CNAME record, the domain name that @@ -4624,6 +4631,11 @@ type InstanceSummary struct { // Load Balancing load balancer, the DNS name that is associated with the // load balancer. // + // * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance + // ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is specified, + // then the AWS_INSTANCE_IPV4 attribute contains the primary private IPv4 + // address. + // // * AWS_INSTANCE_CNAME: For a CNAME record, the domain name that Route 53 // returns in response to DNS queries, for example, example.com. // @@ -6031,11 +6043,19 @@ type RegisterInstanceInput struct { // won't associate the health check with the alias record. // // * Auto naming currently doesn't support creating alias records that route - // traffic to AWS resources other than ELB load balancers. + // traffic to AWS resources other than Elastic Load Balancing load balancers. // // * If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values // for any of the AWS_INSTANCE attributes. // + // AWS_EC2_INSTANCE_ID + // + // HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the + // AWS_EC2_INSTANCE_ID attribute is specified, then the only other attribute + // that can be specified is AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID + // attribute is specified, then the AWS_INSTANCE_IPV4 attribute will be filled + // out with the primary private IPv4 address. + // // AWS_INIT_HEALTH_STATUS // // If the service configuration includes HealthCheckCustomConfig, you can optionally @@ -6084,7 +6104,7 @@ type RegisterInstanceInput struct { // // You can add up to 30 custom attributes. For each key-value pair, the maximum // length of the attribute name is 255 characters, and the maximum length of - // the attribute value is 1,024 characters. Total size of all provided attributes + // the attribute value is 1,024 characters. The total size of all provided attributes // (sum of all keys and values) must not exceed 5,000 characters. // // Attributes is a required field @@ -6202,8 +6222,10 @@ func (s *RegisterInstanceOutput) SetOperationId(v string) *RegisterInstanceOutpu return s } -// The operation can't be completed because you've reached the limit on the -// number of requests. +// The operation can't be completed because you've reached the quota for the +// number of requests. For more information, see AWS Cloud Map API request throttling +// quota (https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html) in +// the AWS Cloud Map Developer Guide. type RequestLimitExceeded struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6316,7 +6338,7 @@ func (s *ResourceInUse) RequestID() string { return s.RespMetadata.RequestID } -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. type ResourceLimitExceeded struct { _ struct{} `type:"structure"` @@ -6651,14 +6673,14 @@ type ServiceChange struct { // // Note the following about configuring health checks. // - // A and AAAA records + // A and AAAA records // // If DnsConfig includes configurations for both A and AAAA records, AWS Cloud // Map creates a health check that uses the IPv4 address to check the health // of the resource. If the endpoint that is specified by the IPv4 address is // unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. // - // CNAME records + // CNAME records // // You can't specify settings for HealthCheckConfig when the DNSConfig includes // CNAME for the value of Type. If you do, the CreateService request will fail @@ -6908,14 +6930,14 @@ type ServiceSummary struct { // // Note the following about configuring health checks. // - // A and AAAA records + // A and AAAA records // // If DnsConfig includes configurations for both A and AAAA records, AWS Cloud // Map creates a health check that uses the IPv4 address to check the health // of the resource. If the endpoint that is specified by the IPv4 address is // unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. // - // CNAME records + // CNAME records // // You can't specify settings for HealthCheckConfig when the DNSConfig includes // CNAME for the value of Type. If you do, the CreateService request will fail @@ -7092,9 +7114,8 @@ type Tag struct { // Key is a required field Key *string `min:"1" type:"string" required:"true"` - // The string value that's associated with the key of the tag. You can set the - // value of a tag to an empty string, but you can't set the value of a tag to - // null. + // The string value associated with the key of the tag. You can set the value + // of a tag to an empty string, but you can't set the value of a tag to null. // // Value is a required field Value *string `type:"string" required:"true"` @@ -7223,7 +7244,7 @@ func (s TagResourceOutput) GoString() string { return s.String() } -// The list of tags on the resource is over the limit. The maximum number of +// The list of tags on the resource is over the quota. The maximum number of // tags that can be applied to a resource is 50. type TooManyTagsException struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/errors.go b/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/errors.go index b6050c8931e..540fb52082b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/errors.go @@ -57,8 +57,10 @@ const ( // ErrCodeRequestLimitExceeded for service response error code // "RequestLimitExceeded". // - // The operation can't be completed because you've reached the limit on the - // number of requests. + // The operation can't be completed because you've reached the quota for the + // number of requests. For more information, see AWS Cloud Map API request throttling + // quota (https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html) in + // the AWS Cloud Map Developer Guide. ErrCodeRequestLimitExceeded = "RequestLimitExceeded" // ErrCodeResourceInUse for service response error code @@ -71,7 +73,7 @@ const ( // ErrCodeResourceLimitExceeded for service response error code // "ResourceLimitExceeded". // - // The resource can't be created because you've reached the limit on the number + // The resource can't be created because you've reached the quota on the number // of resources. ErrCodeResourceLimitExceeded = "ResourceLimitExceeded" @@ -97,7 +99,7 @@ const ( // ErrCodeTooManyTagsException for service response error code // "TooManyTagsException". // - // The list of tags on the resource is over the limit. The maximum number of + // The list of tags on the resource is over the quota. The maximum number of // tags that can be applied to a resource is 50. ErrCodeTooManyTagsException = "TooManyTagsException" ) 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 780b1884323..8fd2eba3ed1 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 @@ -341,22 +341,33 @@ func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationI // CreatePlatformApplication API operation for Amazon Simple Notification Service. // // Creates a platform application object for one of the supported push notification -// services, such as APNS and FCM, to which devices and mobile apps may register. -// 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 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 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. +// services, such as APNS and GCM (Firebase Cloud Messaging), to which devices +// and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential +// attributes when using the CreatePlatformApplication action. +// +// PlatformPrincipal and PlatformCredential are received from the notification +// service. +// +// * For ADM, PlatformPrincipal is client id and PlatformCredential is client +// secret. +// +// * For Baidu, PlatformPrincipal is API key and PlatformCredential is secret +// key. +// +// * For APNS and APNS_SANDBOX, PlatformPrincipal is SSL certificate and +// PlatformCredential is private key. +// +// * For GCM (Firebase Cloud Messaging), there is no PlatformPrincipal and +// the PlatformCredential is API key. +// +// * For MPNS, PlatformPrincipal is TLS certificate and PlatformCredential +// is private key. +// +// * For WNS, PlatformPrincipal is Package Security Identifier and PlatformCredential +// is secret key. +// +// You can use the returned PlatformApplicationArn as an attribute for the 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 @@ -442,11 +453,10 @@ 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 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 -// Subscribe action for subscription to a topic. The CreatePlatformEndpoint +// notification services, such as GCM (Firebase Cloud Messaging) and APNS. CreatePlatformEndpoint +// requires the PlatformApplicationArn that is returned from CreatePlatformApplication. +// You can use the returned EndpointArn to send a message to a mobile app or +// by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint // action is idempotent, so if the requester already owns an endpoint with the // same device token and attributes, that endpoint's ARN is returned without // creating a new endpoint. For more information, see Using Amazon SNS Mobile @@ -543,10 +553,10 @@ func (c *SNS) CreateTopicRequest(input *CreateTopicInput) (req *request.Request, // CreateTopic API operation for Amazon Simple Notification Service. // // Creates a topic to which notifications can be published. Users can create -// at most 100,000 topics. For more information, see https://aws.amazon.com/sns -// (http://aws.amazon.com/sns/). This action is idempotent, so if the requester -// already owns a topic with the specified name, that topic's ARN is returned -// without creating a new topic. +// at most 100,000 standard topics (at most 1,000 FIFO topics). For more information, +// see https://aws.amazon.com/sns (http://aws.amazon.com/sns/). This action +// is idempotent, so if the requester already owns a topic with the specified +// name, that topic's ARN is returned without creating a new topic. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -746,8 +756,8 @@ 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 FCM. For more information, see Using Amazon SNS -// Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// services, such as APNS and GCM (Firebase Cloud Messaging). 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 // with awserr.Error's Code and Message methods to get detailed information about @@ -937,8 +947,8 @@ 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 FCM and APNS. For more information, see Using -// Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// notification services, such as GCM (Firebase Cloud Messaging) 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 // with awserr.Error's Code and Message methods to get detailed information about @@ -1027,8 +1037,8 @@ 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 FCM. For more information, see -// Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// push notification services, such as APNS and GCM (Firebase Cloud Messaging). +// 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 // with awserr.Error's Code and Message methods to get detailed information about @@ -1395,12 +1405,13 @@ 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 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 -// again using the NextToken string received from the previous call. When there -// are no more records to return, NextToken will be null. For more information, +// notification service, such as GCM (Firebase Cloud Messaging) 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 again +// using the NextToken string received from the previous call. When there are +// no more records to return, NextToken will be null. For more information, // see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // // This action is throttled at 30 transactions per second (TPS). @@ -1647,13 +1658,13 @@ 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 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 -// using the NextToken string received from the previous call. When there are -// no more records to return, NextToken will be null. For more information, -// see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// services, such as APNS and GCM (Firebase Cloud Messaging). 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 using the NextToken string received from the previous +// call. When there are no more records to return, NextToken will be null. For +// more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // // This action is throttled at 15 transactions per second (TPS). // @@ -2426,8 +2437,9 @@ func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output // Publish API operation for Amazon Simple Notification Service. // -// Sends a message to an Amazon SNS topic or sends a text message (SMS message) -// directly to a phone number. +// Sends a message to an Amazon SNS topic, a text message (SMS message) directly +// to a phone number, or a message to a mobile platform endpoint (when you specify +// the TargetArn). // // If you send a message to a topic, Amazon SNS delivers the message to each // endpoint that is subscribed to the topic. The format of the message depends @@ -2444,6 +2456,8 @@ func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output // For more information about formatting messages, see Send Custom Platform-Specific // Payloads in Messages to Mobile Devices (https://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html). // +// You can publish messages only to topics and endpoints in the same AWS 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 // the error. @@ -2660,8 +2674,8 @@ 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 FCM and APNS. For more information, see -// Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// push notification services, such as GCM (Firebase Cloud Messaging) 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 // with awserr.Error's Code and Message methods to get detailed information about @@ -2751,8 +2765,8 @@ 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 FCM. For more information, see -// Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// push notification services, such as APNS and GCM (Firebase Cloud Messaging). +// 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). // @@ -3126,10 +3140,12 @@ func (c *SNS) SubscribeRequest(input *SubscribeInput) (req *request.Request, out // Subscribe API operation for Amazon Simple Notification Service. // -// Prepares to subscribe an endpoint by sending the endpoint a confirmation -// message. To actually create a subscription, the endpoint owner must call -// the ConfirmSubscription action with the token from the confirmation message. -// Confirmation tokens are valid for three days. +// Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is HTTP/S +// or email, or if the endpoint and the topic are not in the same AWS account, +// the endpoint owner must the ConfirmSubscription action to confirm the subscription. +// +// You call the ConfirmSubscription action with the token from the subscription +// response. Confirmation tokens are valid for three days. // // This action is throttled at 100 transactions per second (TPS). // @@ -3782,7 +3798,7 @@ 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 FCM (Firebase Cloud + // (Apple Push Notification Service), APNS_SANDBOX, and GCM (Firebase Cloud // Messaging). // // Platform is a required field @@ -3880,8 +3896,9 @@ 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 FCM or ADM, the device - // token equivalent is called the registration ID. + // you need the device token. Alternatively, when using GCM (Firebase Cloud + // Messaging) or ADM, the device token equivalent is called the registration + // ID. // // Token is a required field Token *string `type:"string" required:"true"` @@ -3975,15 +3992,30 @@ type CreateTopicInput struct { // // * DisplayName – The display name to use for a topic with SMS subscriptions. // + // * FifoTopic – Set to true to create a FIFO topic. + // // * Policy – The policy that defines who can access your topic. By default, // only the topic owner can publish or subscribe to the topic. // // 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) + // * 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. + // + // The following attribute applies only to FIFO topics: + // + // * ContentBasedDeduplication – Enables content-based deduplication. Amazon + // SNS uses a SHA-256 hash to generate the MessageDeduplicationId using the + // body of the message (but not the attributes of the message). + // + // * When ContentBasedDeduplication is in effect, messages with identical + // content sent within the deduplication interval are treated as duplicates + // and only one copy of the message is delivered. + // + // * If the queue has ContentBasedDeduplication set, your MessageDeduplicationId + // overrides the generated one. Attributes map[string]*string `type:"map"` // The name of the topic you want to create. @@ -3992,6 +4024,8 @@ type CreateTopicInput struct { // ASCII letters, numbers, underscores, and hyphens, and must be between 1 and // 256 characters long. // + // For a FIFO (first-in-first-out) topic, the name must end with the .fifo suffix. + // // Name is a required field Name *string `type:"string" required:"true"` @@ -4531,6 +4565,8 @@ type GetSubscriptionAttributesOutput struct { // account system defaults. // // * FilterPolicy – The filter policy JSON that is assigned to the subscription. + // For more information, see Amazon SNS Message Filtering (https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) + // in the Amazon SNS Developer Guide. // // * Owner – The AWS account ID of the subscription's owner. // @@ -4636,7 +4672,7 @@ type GetTopicAttributesOutput struct { // // * TopicArn – The topic's ARN. // - // * EffectiveDeliveryPolicy – Yhe JSON serialization of the effective + // * EffectiveDeliveryPolicy – The 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): @@ -5641,27 +5677,27 @@ type SetPlatformApplicationAttributesInput struct { // the following: // // * PlatformCredential – The credential received from the notification - // service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For - // FCM, PlatformCredential is "API key". For ADM, PlatformCredential is "client - // secret". + // service. For APNS and APNS_SANDBOX, PlatformCredential is private key. + // For GCM (Firebase Cloud Messaging), 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 FCM, - // PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is "client - // id". + // For APNS and APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM + // (Firebase Cloud Messaging), there is no PlatformPrincipal. For ADM, PlatformPrincipal + // is client id. // // * EventEndpointCreated – Topic ARN to which EndpointCreated event notifications - // should be sent. + // are sent. // // * EventEndpointDeleted – Topic ARN to which EndpointDeleted event notifications - // should be sent. + // are sent. // // * EventEndpointUpdated – Topic ARN to which EndpointUpdate event notifications - // should be sent. + // are sent. // // * EventDeliveryFailure – Topic ARN to which DeliveryFailure event notifications - // should be sent upon Direct Publish delivery failure (permanent) to one - // of the application's endpoints. + // are sent upon Direct Publish delivery failure (permanent) to one of the + // application's endpoints. // // * SuccessFeedbackRoleArn – IAM role ARN used to give Amazon SNS write // access to use CloudWatch Logs on your behalf. @@ -5977,11 +6013,24 @@ type SetTopicAttributesInput struct { // // 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) + // * 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. // + // The following attribute applies only to FIFO topics: + // + // * ContentBasedDeduplication – Enables content-based deduplication. Amazon + // SNS uses a SHA-256 hash to generate the MessageDeduplicationId using the + // body of the message (but not the attributes of the message). + // + // * When ContentBasedDeduplication is in effect, messages with identical + // content sent within the deduplication interval are treated as duplicates + // and only one copy of the message is delivered. + // + // * If the queue has ContentBasedDeduplication set, your MessageDeduplicationId + // overrides the generated one. + // // AttributeName is a required field AttributeName *string `type:"string" required:"true"` @@ -6083,9 +6132,11 @@ type SubscribeInput struct { // The endpoint that you want to receive notifications. Endpoints vary by protocol: // - // * For the http protocol, the endpoint is an URL beginning with http:// + // * For the http protocol, the (public) endpoint is a URL beginning with + // http:// // - // * For the https protocol, the endpoint is a URL beginning with https:// + // * For the https protocol, the (public) endpoint is a URL beginning with + // https:// // // * For the email protocol, the endpoint is an email address // @@ -6128,17 +6179,13 @@ 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 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 + // * If you set this parameter to true, the response includes the ARN in + // all cases, even if the subscription is not yet confirmed. 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 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 dcea0517a58..549d09f16a5 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 @@ -2613,6 +2613,12 @@ func (c *SSM) DescribeAssociationExecutionTargetsRequest(input *DescribeAssociat Name: opDescribeAssociationExecutionTargets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -2671,6 +2677,58 @@ func (c *SSM) DescribeAssociationExecutionTargetsWithContext(ctx aws.Context, in return out, req.Send() } +// DescribeAssociationExecutionTargetsPages iterates over the pages of a DescribeAssociationExecutionTargets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAssociationExecutionTargets 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 DescribeAssociationExecutionTargets operation. +// pageNum := 0 +// err := client.DescribeAssociationExecutionTargetsPages(params, +// func(page *ssm.DescribeAssociationExecutionTargetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAssociationExecutionTargetsPages(input *DescribeAssociationExecutionTargetsInput, fn func(*DescribeAssociationExecutionTargetsOutput, bool) bool) error { + return c.DescribeAssociationExecutionTargetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAssociationExecutionTargetsPagesWithContext same as DescribeAssociationExecutionTargetsPages 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 *SSM) DescribeAssociationExecutionTargetsPagesWithContext(ctx aws.Context, input *DescribeAssociationExecutionTargetsInput, fn func(*DescribeAssociationExecutionTargetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAssociationExecutionTargetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAssociationExecutionTargetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAssociationExecutionTargetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeAssociationExecutions = "DescribeAssociationExecutions" // DescribeAssociationExecutionsRequest generates a "aws/request.Request" representing the @@ -2702,6 +2760,12 @@ func (c *SSM) DescribeAssociationExecutionsRequest(input *DescribeAssociationExe Name: opDescribeAssociationExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -2756,6 +2820,58 @@ func (c *SSM) DescribeAssociationExecutionsWithContext(ctx aws.Context, input *D return out, req.Send() } +// DescribeAssociationExecutionsPages iterates over the pages of a DescribeAssociationExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAssociationExecutions 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 DescribeAssociationExecutions operation. +// pageNum := 0 +// err := client.DescribeAssociationExecutionsPages(params, +// func(page *ssm.DescribeAssociationExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAssociationExecutionsPages(input *DescribeAssociationExecutionsInput, fn func(*DescribeAssociationExecutionsOutput, bool) bool) error { + return c.DescribeAssociationExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAssociationExecutionsPagesWithContext same as DescribeAssociationExecutionsPages 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 *SSM) DescribeAssociationExecutionsPagesWithContext(ctx aws.Context, input *DescribeAssociationExecutionsInput, fn func(*DescribeAssociationExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAssociationExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAssociationExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAssociationExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeAutomationExecutions = "DescribeAutomationExecutions" // DescribeAutomationExecutionsRequest generates a "aws/request.Request" representing the @@ -2787,6 +2903,12 @@ func (c *SSM) DescribeAutomationExecutionsRequest(input *DescribeAutomationExecu Name: opDescribeAutomationExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -2844,6 +2966,58 @@ func (c *SSM) DescribeAutomationExecutionsWithContext(ctx aws.Context, input *De return out, req.Send() } +// DescribeAutomationExecutionsPages iterates over the pages of a DescribeAutomationExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAutomationExecutions 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 DescribeAutomationExecutions operation. +// pageNum := 0 +// err := client.DescribeAutomationExecutionsPages(params, +// func(page *ssm.DescribeAutomationExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAutomationExecutionsPages(input *DescribeAutomationExecutionsInput, fn func(*DescribeAutomationExecutionsOutput, bool) bool) error { + return c.DescribeAutomationExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAutomationExecutionsPagesWithContext same as DescribeAutomationExecutionsPages 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 *SSM) DescribeAutomationExecutionsPagesWithContext(ctx aws.Context, input *DescribeAutomationExecutionsInput, fn func(*DescribeAutomationExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAutomationExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAutomationExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAutomationExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeAutomationStepExecutions = "DescribeAutomationStepExecutions" // DescribeAutomationStepExecutionsRequest generates a "aws/request.Request" representing the @@ -2875,6 +3049,12 @@ func (c *SSM) DescribeAutomationStepExecutionsRequest(input *DescribeAutomationS Name: opDescribeAutomationStepExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -2937,6 +3117,58 @@ func (c *SSM) DescribeAutomationStepExecutionsWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeAutomationStepExecutionsPages iterates over the pages of a DescribeAutomationStepExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAutomationStepExecutions 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 DescribeAutomationStepExecutions operation. +// pageNum := 0 +// err := client.DescribeAutomationStepExecutionsPages(params, +// func(page *ssm.DescribeAutomationStepExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAutomationStepExecutionsPages(input *DescribeAutomationStepExecutionsInput, fn func(*DescribeAutomationStepExecutionsOutput, bool) bool) error { + return c.DescribeAutomationStepExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAutomationStepExecutionsPagesWithContext same as DescribeAutomationStepExecutionsPages 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 *SSM) DescribeAutomationStepExecutionsPagesWithContext(ctx aws.Context, input *DescribeAutomationStepExecutionsInput, fn func(*DescribeAutomationStepExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAutomationStepExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAutomationStepExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAutomationStepExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeAvailablePatches = "DescribeAvailablePatches" // DescribeAvailablePatchesRequest generates a "aws/request.Request" representing the @@ -2968,6 +3200,12 @@ func (c *SSM) DescribeAvailablePatchesRequest(input *DescribeAvailablePatchesInp Name: opDescribeAvailablePatches, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3016,6 +3254,58 @@ func (c *SSM) DescribeAvailablePatchesWithContext(ctx aws.Context, input *Descri return out, req.Send() } +// DescribeAvailablePatchesPages iterates over the pages of a DescribeAvailablePatches operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAvailablePatches 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 DescribeAvailablePatches operation. +// pageNum := 0 +// err := client.DescribeAvailablePatchesPages(params, +// func(page *ssm.DescribeAvailablePatchesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAvailablePatchesPages(input *DescribeAvailablePatchesInput, fn func(*DescribeAvailablePatchesOutput, bool) bool) error { + return c.DescribeAvailablePatchesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAvailablePatchesPagesWithContext same as DescribeAvailablePatchesPages 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 *SSM) DescribeAvailablePatchesPagesWithContext(ctx aws.Context, input *DescribeAvailablePatchesInput, fn func(*DescribeAvailablePatchesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAvailablePatchesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAvailablePatchesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAvailablePatchesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeDocument = "DescribeDocument" // DescribeDocumentRequest generates a "aws/request.Request" representing the @@ -3220,6 +3510,12 @@ func (c *SSM) DescribeEffectiveInstanceAssociationsRequest(input *DescribeEffect Name: opDescribeEffectiveInstanceAssociations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3283,6 +3579,58 @@ func (c *SSM) DescribeEffectiveInstanceAssociationsWithContext(ctx aws.Context, return out, req.Send() } +// DescribeEffectiveInstanceAssociationsPages iterates over the pages of a DescribeEffectiveInstanceAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEffectiveInstanceAssociations 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 DescribeEffectiveInstanceAssociations operation. +// pageNum := 0 +// err := client.DescribeEffectiveInstanceAssociationsPages(params, +// func(page *ssm.DescribeEffectiveInstanceAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeEffectiveInstanceAssociationsPages(input *DescribeEffectiveInstanceAssociationsInput, fn func(*DescribeEffectiveInstanceAssociationsOutput, bool) bool) error { + return c.DescribeEffectiveInstanceAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEffectiveInstanceAssociationsPagesWithContext same as DescribeEffectiveInstanceAssociationsPages 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 *SSM) DescribeEffectiveInstanceAssociationsPagesWithContext(ctx aws.Context, input *DescribeEffectiveInstanceAssociationsInput, fn func(*DescribeEffectiveInstanceAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEffectiveInstanceAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEffectiveInstanceAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeEffectiveInstanceAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeEffectivePatchesForPatchBaseline = "DescribeEffectivePatchesForPatchBaseline" // DescribeEffectivePatchesForPatchBaselineRequest generates a "aws/request.Request" representing the @@ -3314,6 +3662,12 @@ func (c *SSM) DescribeEffectivePatchesForPatchBaselineRequest(input *DescribeEff Name: opDescribeEffectivePatchesForPatchBaseline, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3381,6 +3735,58 @@ func (c *SSM) DescribeEffectivePatchesForPatchBaselineWithContext(ctx aws.Contex return out, req.Send() } +// DescribeEffectivePatchesForPatchBaselinePages iterates over the pages of a DescribeEffectivePatchesForPatchBaseline operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEffectivePatchesForPatchBaseline 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 DescribeEffectivePatchesForPatchBaseline operation. +// pageNum := 0 +// err := client.DescribeEffectivePatchesForPatchBaselinePages(params, +// func(page *ssm.DescribeEffectivePatchesForPatchBaselineOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeEffectivePatchesForPatchBaselinePages(input *DescribeEffectivePatchesForPatchBaselineInput, fn func(*DescribeEffectivePatchesForPatchBaselineOutput, bool) bool) error { + return c.DescribeEffectivePatchesForPatchBaselinePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEffectivePatchesForPatchBaselinePagesWithContext same as DescribeEffectivePatchesForPatchBaselinePages 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 *SSM) DescribeEffectivePatchesForPatchBaselinePagesWithContext(ctx aws.Context, input *DescribeEffectivePatchesForPatchBaselineInput, fn func(*DescribeEffectivePatchesForPatchBaselineOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEffectivePatchesForPatchBaselineInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEffectivePatchesForPatchBaselineRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeEffectivePatchesForPatchBaselineOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInstanceAssociationsStatus = "DescribeInstanceAssociationsStatus" // DescribeInstanceAssociationsStatusRequest generates a "aws/request.Request" representing the @@ -3412,6 +3818,12 @@ func (c *SSM) DescribeInstanceAssociationsStatusRequest(input *DescribeInstanceA Name: opDescribeInstanceAssociationsStatus, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3475,6 +3887,58 @@ func (c *SSM) DescribeInstanceAssociationsStatusWithContext(ctx aws.Context, inp return out, req.Send() } +// DescribeInstanceAssociationsStatusPages iterates over the pages of a DescribeInstanceAssociationsStatus operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstanceAssociationsStatus 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 DescribeInstanceAssociationsStatus operation. +// pageNum := 0 +// err := client.DescribeInstanceAssociationsStatusPages(params, +// func(page *ssm.DescribeInstanceAssociationsStatusOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInstanceAssociationsStatusPages(input *DescribeInstanceAssociationsStatusInput, fn func(*DescribeInstanceAssociationsStatusOutput, bool) bool) error { + return c.DescribeInstanceAssociationsStatusPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstanceAssociationsStatusPagesWithContext same as DescribeInstanceAssociationsStatusPages 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 *SSM) DescribeInstanceAssociationsStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceAssociationsStatusInput, fn func(*DescribeInstanceAssociationsStatusOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstanceAssociationsStatusInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstanceAssociationsStatusRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstanceAssociationsStatusOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInstanceInformation = "DescribeInstanceInformation" // DescribeInstanceInformationRequest generates a "aws/request.Request" representing the @@ -3675,6 +4139,12 @@ func (c *SSM) DescribeInstancePatchStatesRequest(input *DescribeInstancePatchSta Name: opDescribeInstancePatchStates, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3726,6 +4196,58 @@ func (c *SSM) DescribeInstancePatchStatesWithContext(ctx aws.Context, input *Des return out, req.Send() } +// DescribeInstancePatchStatesPages iterates over the pages of a DescribeInstancePatchStates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstancePatchStates 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 DescribeInstancePatchStates operation. +// pageNum := 0 +// err := client.DescribeInstancePatchStatesPages(params, +// func(page *ssm.DescribeInstancePatchStatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInstancePatchStatesPages(input *DescribeInstancePatchStatesInput, fn func(*DescribeInstancePatchStatesOutput, bool) bool) error { + return c.DescribeInstancePatchStatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstancePatchStatesPagesWithContext same as DescribeInstancePatchStatesPages 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 *SSM) DescribeInstancePatchStatesPagesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesInput, fn func(*DescribeInstancePatchStatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstancePatchStatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstancePatchStatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstancePatchStatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInstancePatchStatesForPatchGroup = "DescribeInstancePatchStatesForPatchGroup" // DescribeInstancePatchStatesForPatchGroupRequest generates a "aws/request.Request" representing the @@ -3757,6 +4279,12 @@ func (c *SSM) DescribeInstancePatchStatesForPatchGroupRequest(input *DescribeIns Name: opDescribeInstancePatchStatesForPatchGroup, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3813,6 +4341,58 @@ func (c *SSM) DescribeInstancePatchStatesForPatchGroupWithContext(ctx aws.Contex return out, req.Send() } +// DescribeInstancePatchStatesForPatchGroupPages iterates over the pages of a DescribeInstancePatchStatesForPatchGroup operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstancePatchStatesForPatchGroup 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 DescribeInstancePatchStatesForPatchGroup operation. +// pageNum := 0 +// err := client.DescribeInstancePatchStatesForPatchGroupPages(params, +// func(page *ssm.DescribeInstancePatchStatesForPatchGroupOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInstancePatchStatesForPatchGroupPages(input *DescribeInstancePatchStatesForPatchGroupInput, fn func(*DescribeInstancePatchStatesForPatchGroupOutput, bool) bool) error { + return c.DescribeInstancePatchStatesForPatchGroupPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstancePatchStatesForPatchGroupPagesWithContext same as DescribeInstancePatchStatesForPatchGroupPages 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 *SSM) DescribeInstancePatchStatesForPatchGroupPagesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesForPatchGroupInput, fn func(*DescribeInstancePatchStatesForPatchGroupOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstancePatchStatesForPatchGroupInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstancePatchStatesForPatchGroupRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstancePatchStatesForPatchGroupOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInstancePatches = "DescribeInstancePatches" // DescribeInstancePatchesRequest generates a "aws/request.Request" representing the @@ -3844,6 +4424,12 @@ func (c *SSM) DescribeInstancePatchesRequest(input *DescribeInstancePatchesInput Name: opDescribeInstancePatches, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3912,6 +4498,58 @@ func (c *SSM) DescribeInstancePatchesWithContext(ctx aws.Context, input *Describ return out, req.Send() } +// DescribeInstancePatchesPages iterates over the pages of a DescribeInstancePatches operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstancePatches 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 DescribeInstancePatches operation. +// pageNum := 0 +// err := client.DescribeInstancePatchesPages(params, +// func(page *ssm.DescribeInstancePatchesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInstancePatchesPages(input *DescribeInstancePatchesInput, fn func(*DescribeInstancePatchesOutput, bool) bool) error { + return c.DescribeInstancePatchesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstancePatchesPagesWithContext same as DescribeInstancePatchesPages 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 *SSM) DescribeInstancePatchesPagesWithContext(ctx aws.Context, input *DescribeInstancePatchesInput, fn func(*DescribeInstancePatchesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstancePatchesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstancePatchesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstancePatchesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInventoryDeletions = "DescribeInventoryDeletions" // DescribeInventoryDeletionsRequest generates a "aws/request.Request" representing the @@ -3943,6 +4581,12 @@ func (c *SSM) DescribeInventoryDeletionsRequest(input *DescribeInventoryDeletion Name: opDescribeInventoryDeletions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3998,6 +4642,58 @@ func (c *SSM) DescribeInventoryDeletionsWithContext(ctx aws.Context, input *Desc return out, req.Send() } +// DescribeInventoryDeletionsPages iterates over the pages of a DescribeInventoryDeletions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInventoryDeletions 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 DescribeInventoryDeletions operation. +// pageNum := 0 +// err := client.DescribeInventoryDeletionsPages(params, +// func(page *ssm.DescribeInventoryDeletionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInventoryDeletionsPages(input *DescribeInventoryDeletionsInput, fn func(*DescribeInventoryDeletionsOutput, bool) bool) error { + return c.DescribeInventoryDeletionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInventoryDeletionsPagesWithContext same as DescribeInventoryDeletionsPages 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 *SSM) DescribeInventoryDeletionsPagesWithContext(ctx aws.Context, input *DescribeInventoryDeletionsInput, fn func(*DescribeInventoryDeletionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInventoryDeletionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInventoryDeletionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInventoryDeletionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowExecutionTaskInvocations = "DescribeMaintenanceWindowExecutionTaskInvocations" // DescribeMaintenanceWindowExecutionTaskInvocationsRequest generates a "aws/request.Request" representing the @@ -4029,6 +4725,12 @@ func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input *De Name: opDescribeMaintenanceWindowExecutionTaskInvocations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4086,6 +4788,58 @@ func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsWithContext(ctx a return out, req.Send() } +// DescribeMaintenanceWindowExecutionTaskInvocationsPages iterates over the pages of a DescribeMaintenanceWindowExecutionTaskInvocations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowExecutionTaskInvocations 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 DescribeMaintenanceWindowExecutionTaskInvocations operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowExecutionTaskInvocationsPages(params, +// func(page *ssm.DescribeMaintenanceWindowExecutionTaskInvocationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsPages(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, fn func(*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, bool) bool) error { + return c.DescribeMaintenanceWindowExecutionTaskInvocationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowExecutionTaskInvocationsPagesWithContext same as DescribeMaintenanceWindowExecutionTaskInvocationsPages 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 *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, fn func(*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowExecutionTaskInvocationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowExecutionTaskInvocationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowExecutionTasks = "DescribeMaintenanceWindowExecutionTasks" // DescribeMaintenanceWindowExecutionTasksRequest generates a "aws/request.Request" representing the @@ -4117,6 +4871,12 @@ func (c *SSM) DescribeMaintenanceWindowExecutionTasksRequest(input *DescribeMain Name: opDescribeMaintenanceWindowExecutionTasks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4173,6 +4933,58 @@ func (c *SSM) DescribeMaintenanceWindowExecutionTasksWithContext(ctx aws.Context return out, req.Send() } +// DescribeMaintenanceWindowExecutionTasksPages iterates over the pages of a DescribeMaintenanceWindowExecutionTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowExecutionTasks 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 DescribeMaintenanceWindowExecutionTasks operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowExecutionTasksPages(params, +// func(page *ssm.DescribeMaintenanceWindowExecutionTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowExecutionTasksPages(input *DescribeMaintenanceWindowExecutionTasksInput, fn func(*DescribeMaintenanceWindowExecutionTasksOutput, bool) bool) error { + return c.DescribeMaintenanceWindowExecutionTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowExecutionTasksPagesWithContext same as DescribeMaintenanceWindowExecutionTasksPages 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 *SSM) DescribeMaintenanceWindowExecutionTasksPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTasksInput, fn func(*DescribeMaintenanceWindowExecutionTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowExecutionTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowExecutionTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowExecutionTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowExecutions = "DescribeMaintenanceWindowExecutions" // DescribeMaintenanceWindowExecutionsRequest generates a "aws/request.Request" representing the @@ -4204,6 +5016,12 @@ func (c *SSM) DescribeMaintenanceWindowExecutionsRequest(input *DescribeMaintena Name: opDescribeMaintenanceWindowExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4254,6 +5072,58 @@ func (c *SSM) DescribeMaintenanceWindowExecutionsWithContext(ctx aws.Context, in return out, req.Send() } +// DescribeMaintenanceWindowExecutionsPages iterates over the pages of a DescribeMaintenanceWindowExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowExecutions 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 DescribeMaintenanceWindowExecutions operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowExecutionsPages(params, +// func(page *ssm.DescribeMaintenanceWindowExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowExecutionsPages(input *DescribeMaintenanceWindowExecutionsInput, fn func(*DescribeMaintenanceWindowExecutionsOutput, bool) bool) error { + return c.DescribeMaintenanceWindowExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowExecutionsPagesWithContext same as DescribeMaintenanceWindowExecutionsPages 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 *SSM) DescribeMaintenanceWindowExecutionsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionsInput, fn func(*DescribeMaintenanceWindowExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowSchedule = "DescribeMaintenanceWindowSchedule" // DescribeMaintenanceWindowScheduleRequest generates a "aws/request.Request" representing the @@ -4285,6 +5155,12 @@ func (c *SSM) DescribeMaintenanceWindowScheduleRequest(input *DescribeMaintenanc Name: opDescribeMaintenanceWindowSchedule, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4341,6 +5217,58 @@ func (c *SSM) DescribeMaintenanceWindowScheduleWithContext(ctx aws.Context, inpu return out, req.Send() } +// DescribeMaintenanceWindowSchedulePages iterates over the pages of a DescribeMaintenanceWindowSchedule operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowSchedule 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 DescribeMaintenanceWindowSchedule operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowSchedulePages(params, +// func(page *ssm.DescribeMaintenanceWindowScheduleOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowSchedulePages(input *DescribeMaintenanceWindowScheduleInput, fn func(*DescribeMaintenanceWindowScheduleOutput, bool) bool) error { + return c.DescribeMaintenanceWindowSchedulePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowSchedulePagesWithContext same as DescribeMaintenanceWindowSchedulePages 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 *SSM) DescribeMaintenanceWindowSchedulePagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowScheduleInput, fn func(*DescribeMaintenanceWindowScheduleOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowScheduleInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowScheduleRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowScheduleOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowTargets = "DescribeMaintenanceWindowTargets" // DescribeMaintenanceWindowTargetsRequest generates a "aws/request.Request" representing the @@ -4372,6 +5300,12 @@ func (c *SSM) DescribeMaintenanceWindowTargetsRequest(input *DescribeMaintenance Name: opDescribeMaintenanceWindowTargets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4428,6 +5362,58 @@ func (c *SSM) DescribeMaintenanceWindowTargetsWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeMaintenanceWindowTargetsPages iterates over the pages of a DescribeMaintenanceWindowTargets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowTargets 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 DescribeMaintenanceWindowTargets operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowTargetsPages(params, +// func(page *ssm.DescribeMaintenanceWindowTargetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowTargetsPages(input *DescribeMaintenanceWindowTargetsInput, fn func(*DescribeMaintenanceWindowTargetsOutput, bool) bool) error { + return c.DescribeMaintenanceWindowTargetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowTargetsPagesWithContext same as DescribeMaintenanceWindowTargetsPages 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 *SSM) DescribeMaintenanceWindowTargetsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTargetsInput, fn func(*DescribeMaintenanceWindowTargetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowTargetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowTargetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowTargetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowTasks = "DescribeMaintenanceWindowTasks" // DescribeMaintenanceWindowTasksRequest generates a "aws/request.Request" representing the @@ -4459,6 +5445,12 @@ func (c *SSM) DescribeMaintenanceWindowTasksRequest(input *DescribeMaintenanceWi Name: opDescribeMaintenanceWindowTasks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4515,6 +5507,58 @@ func (c *SSM) DescribeMaintenanceWindowTasksWithContext(ctx aws.Context, input * return out, req.Send() } +// DescribeMaintenanceWindowTasksPages iterates over the pages of a DescribeMaintenanceWindowTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowTasks 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 DescribeMaintenanceWindowTasks operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowTasksPages(params, +// func(page *ssm.DescribeMaintenanceWindowTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowTasksPages(input *DescribeMaintenanceWindowTasksInput, fn func(*DescribeMaintenanceWindowTasksOutput, bool) bool) error { + return c.DescribeMaintenanceWindowTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowTasksPagesWithContext same as DescribeMaintenanceWindowTasksPages 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 *SSM) DescribeMaintenanceWindowTasksPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTasksInput, fn func(*DescribeMaintenanceWindowTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindows = "DescribeMaintenanceWindows" // DescribeMaintenanceWindowsRequest generates a "aws/request.Request" representing the @@ -4546,6 +5590,12 @@ func (c *SSM) DescribeMaintenanceWindowsRequest(input *DescribeMaintenanceWindow Name: opDescribeMaintenanceWindows, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4594,6 +5644,58 @@ func (c *SSM) DescribeMaintenanceWindowsWithContext(ctx aws.Context, input *Desc return out, req.Send() } +// DescribeMaintenanceWindowsPages iterates over the pages of a DescribeMaintenanceWindows operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindows 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 DescribeMaintenanceWindows operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowsPages(params, +// func(page *ssm.DescribeMaintenanceWindowsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowsPages(input *DescribeMaintenanceWindowsInput, fn func(*DescribeMaintenanceWindowsOutput, bool) bool) error { + return c.DescribeMaintenanceWindowsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowsPagesWithContext same as DescribeMaintenanceWindowsPages 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 *SSM) DescribeMaintenanceWindowsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsInput, fn func(*DescribeMaintenanceWindowsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowsForTarget = "DescribeMaintenanceWindowsForTarget" // DescribeMaintenanceWindowsForTargetRequest generates a "aws/request.Request" representing the @@ -4625,6 +5727,12 @@ func (c *SSM) DescribeMaintenanceWindowsForTargetRequest(input *DescribeMaintena Name: opDescribeMaintenanceWindowsForTarget, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4674,6 +5782,58 @@ func (c *SSM) DescribeMaintenanceWindowsForTargetWithContext(ctx aws.Context, in return out, req.Send() } +// DescribeMaintenanceWindowsForTargetPages iterates over the pages of a DescribeMaintenanceWindowsForTarget operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowsForTarget 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 DescribeMaintenanceWindowsForTarget operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowsForTargetPages(params, +// func(page *ssm.DescribeMaintenanceWindowsForTargetOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowsForTargetPages(input *DescribeMaintenanceWindowsForTargetInput, fn func(*DescribeMaintenanceWindowsForTargetOutput, bool) bool) error { + return c.DescribeMaintenanceWindowsForTargetPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowsForTargetPagesWithContext same as DescribeMaintenanceWindowsForTargetPages 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 *SSM) DescribeMaintenanceWindowsForTargetPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsForTargetInput, fn func(*DescribeMaintenanceWindowsForTargetOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowsForTargetInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowsForTargetRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowsForTargetOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeOpsItems = "DescribeOpsItems" // DescribeOpsItemsRequest generates a "aws/request.Request" representing the @@ -4705,6 +5865,12 @@ func (c *SSM) DescribeOpsItemsRequest(input *DescribeOpsItemsInput) (req *reques Name: opDescribeOpsItems, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4762,6 +5928,58 @@ func (c *SSM) DescribeOpsItemsWithContext(ctx aws.Context, input *DescribeOpsIte return out, req.Send() } +// DescribeOpsItemsPages iterates over the pages of a DescribeOpsItems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeOpsItems 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 DescribeOpsItems operation. +// pageNum := 0 +// err := client.DescribeOpsItemsPages(params, +// func(page *ssm.DescribeOpsItemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeOpsItemsPages(input *DescribeOpsItemsInput, fn func(*DescribeOpsItemsOutput, bool) bool) error { + return c.DescribeOpsItemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeOpsItemsPagesWithContext same as DescribeOpsItemsPages 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 *SSM) DescribeOpsItemsPagesWithContext(ctx aws.Context, input *DescribeOpsItemsInput, fn func(*DescribeOpsItemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeOpsItemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeOpsItemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeOpsItemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeParameters = "DescribeParameters" // DescribeParametersRequest generates a "aws/request.Request" representing the @@ -4951,6 +6169,12 @@ func (c *SSM) DescribePatchBaselinesRequest(input *DescribePatchBaselinesInput) Name: opDescribePatchBaselines, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4999,6 +6223,58 @@ func (c *SSM) DescribePatchBaselinesWithContext(ctx aws.Context, input *Describe return out, req.Send() } +// DescribePatchBaselinesPages iterates over the pages of a DescribePatchBaselines operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePatchBaselines 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 DescribePatchBaselines operation. +// pageNum := 0 +// err := client.DescribePatchBaselinesPages(params, +// func(page *ssm.DescribePatchBaselinesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribePatchBaselinesPages(input *DescribePatchBaselinesInput, fn func(*DescribePatchBaselinesOutput, bool) bool) error { + return c.DescribePatchBaselinesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePatchBaselinesPagesWithContext same as DescribePatchBaselinesPages 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 *SSM) DescribePatchBaselinesPagesWithContext(ctx aws.Context, input *DescribePatchBaselinesInput, fn func(*DescribePatchBaselinesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePatchBaselinesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePatchBaselinesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribePatchBaselinesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribePatchGroupState = "DescribePatchGroupState" // DescribePatchGroupStateRequest generates a "aws/request.Request" representing the @@ -5112,6 +6388,12 @@ func (c *SSM) DescribePatchGroupsRequest(input *DescribePatchGroupsInput) (req * Name: opDescribePatchGroups, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -5160,6 +6442,58 @@ func (c *SSM) DescribePatchGroupsWithContext(ctx aws.Context, input *DescribePat return out, req.Send() } +// DescribePatchGroupsPages iterates over the pages of a DescribePatchGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePatchGroups 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 DescribePatchGroups operation. +// pageNum := 0 +// err := client.DescribePatchGroupsPages(params, +// func(page *ssm.DescribePatchGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribePatchGroupsPages(input *DescribePatchGroupsInput, fn func(*DescribePatchGroupsOutput, bool) bool) error { + return c.DescribePatchGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePatchGroupsPagesWithContext same as DescribePatchGroupsPages 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 *SSM) DescribePatchGroupsPagesWithContext(ctx aws.Context, input *DescribePatchGroupsInput, fn func(*DescribePatchGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePatchGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePatchGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribePatchGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribePatchProperties = "DescribePatchProperties" // DescribePatchPropertiesRequest generates a "aws/request.Request" representing the @@ -5191,6 +6525,12 @@ func (c *SSM) DescribePatchPropertiesRequest(input *DescribePatchPropertiesInput Name: opDescribePatchProperties, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -5274,6 +6614,58 @@ func (c *SSM) DescribePatchPropertiesWithContext(ctx aws.Context, input *Describ return out, req.Send() } +// DescribePatchPropertiesPages iterates over the pages of a DescribePatchProperties operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePatchProperties 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 DescribePatchProperties operation. +// pageNum := 0 +// err := client.DescribePatchPropertiesPages(params, +// func(page *ssm.DescribePatchPropertiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribePatchPropertiesPages(input *DescribePatchPropertiesInput, fn func(*DescribePatchPropertiesOutput, bool) bool) error { + return c.DescribePatchPropertiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePatchPropertiesPagesWithContext same as DescribePatchPropertiesPages 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 *SSM) DescribePatchPropertiesPagesWithContext(ctx aws.Context, input *DescribePatchPropertiesInput, fn func(*DescribePatchPropertiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePatchPropertiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePatchPropertiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribePatchPropertiesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeSessions = "DescribeSessions" // DescribeSessionsRequest generates a "aws/request.Request" representing the @@ -5305,6 +6697,12 @@ func (c *SSM) DescribeSessionsRequest(input *DescribeSessionsInput) (req *reques Name: opDescribeSessions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -5360,6 +6758,58 @@ func (c *SSM) DescribeSessionsWithContext(ctx aws.Context, input *DescribeSessio return out, req.Send() } +// DescribeSessionsPages iterates over the pages of a DescribeSessions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSessions 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 DescribeSessions operation. +// pageNum := 0 +// err := client.DescribeSessionsPages(params, +// func(page *ssm.DescribeSessionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeSessionsPages(input *DescribeSessionsInput, fn func(*DescribeSessionsOutput, bool) bool) error { + return c.DescribeSessionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSessionsPagesWithContext same as DescribeSessionsPages 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 *SSM) DescribeSessionsPagesWithContext(ctx aws.Context, input *DescribeSessionsInput, fn func(*DescribeSessionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSessionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSessionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSessionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetAutomationExecution = "GetAutomationExecution" // GetAutomationExecutionRequest generates a "aws/request.Request" representing the @@ -6013,6 +7463,12 @@ func (c *SSM) GetInventoryRequest(input *GetInventoryInput) (req *request.Reques Name: opGetInventory, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -6081,6 +7537,58 @@ func (c *SSM) GetInventoryWithContext(ctx aws.Context, input *GetInventoryInput, return out, req.Send() } +// GetInventoryPages iterates over the pages of a GetInventory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetInventory 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 GetInventory operation. +// pageNum := 0 +// err := client.GetInventoryPages(params, +// func(page *ssm.GetInventoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) GetInventoryPages(input *GetInventoryInput, fn func(*GetInventoryOutput, bool) bool) error { + return c.GetInventoryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetInventoryPagesWithContext same as GetInventoryPages 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 *SSM) GetInventoryPagesWithContext(ctx aws.Context, input *GetInventoryInput, fn func(*GetInventoryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetInventoryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetInventoryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetInventoryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetInventorySchema = "GetInventorySchema" // GetInventorySchemaRequest generates a "aws/request.Request" representing the @@ -6112,6 +7620,12 @@ func (c *SSM) GetInventorySchemaRequest(input *GetInventorySchemaInput) (req *re Name: opGetInventorySchema, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -6167,6 +7681,58 @@ func (c *SSM) GetInventorySchemaWithContext(ctx aws.Context, input *GetInventory return out, req.Send() } +// GetInventorySchemaPages iterates over the pages of a GetInventorySchema operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetInventorySchema 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 GetInventorySchema operation. +// pageNum := 0 +// err := client.GetInventorySchemaPages(params, +// func(page *ssm.GetInventorySchemaOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) GetInventorySchemaPages(input *GetInventorySchemaInput, fn func(*GetInventorySchemaOutput, bool) bool) error { + return c.GetInventorySchemaPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetInventorySchemaPagesWithContext same as GetInventorySchemaPages 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 *SSM) GetInventorySchemaPagesWithContext(ctx aws.Context, input *GetInventorySchemaInput, fn func(*GetInventorySchemaOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetInventorySchemaInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetInventorySchemaRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetInventorySchemaOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetMaintenanceWindow = "GetMaintenanceWindow" // GetMaintenanceWindowRequest generates a "aws/request.Request" representing the @@ -6725,6 +8291,12 @@ func (c *SSM) GetOpsSummaryRequest(input *GetOpsSummaryInput) (req *request.Requ Name: opGetOpsSummary, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -6790,6 +8362,58 @@ func (c *SSM) GetOpsSummaryWithContext(ctx aws.Context, input *GetOpsSummaryInpu return out, req.Send() } +// GetOpsSummaryPages iterates over the pages of a GetOpsSummary operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetOpsSummary 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 GetOpsSummary operation. +// pageNum := 0 +// err := client.GetOpsSummaryPages(params, +// func(page *ssm.GetOpsSummaryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) GetOpsSummaryPages(input *GetOpsSummaryInput, fn func(*GetOpsSummaryOutput, bool) bool) error { + return c.GetOpsSummaryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetOpsSummaryPagesWithContext same as GetOpsSummaryPages 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 *SSM) GetOpsSummaryPagesWithContext(ctx aws.Context, input *GetOpsSummaryInput, fn func(*GetOpsSummaryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetOpsSummaryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetOpsSummaryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetOpsSummaryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetParameter = "GetParameter" // GetParameterRequest generates a "aws/request.Request" representing the @@ -7690,6 +9314,12 @@ func (c *SSM) ListAssociationVersionsRequest(input *ListAssociationVersionsInput Name: opListAssociationVersions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -7744,6 +9374,58 @@ func (c *SSM) ListAssociationVersionsWithContext(ctx aws.Context, input *ListAss return out, req.Send() } +// ListAssociationVersionsPages iterates over the pages of a ListAssociationVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssociationVersions 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 ListAssociationVersions operation. +// pageNum := 0 +// err := client.ListAssociationVersionsPages(params, +// func(page *ssm.ListAssociationVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListAssociationVersionsPages(input *ListAssociationVersionsInput, fn func(*ListAssociationVersionsOutput, bool) bool) error { + return c.ListAssociationVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAssociationVersionsPagesWithContext same as ListAssociationVersionsPages 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 *SSM) ListAssociationVersionsPagesWithContext(ctx aws.Context, input *ListAssociationVersionsInput, fn func(*ListAssociationVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAssociationVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAssociationVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAssociationVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAssociations = "ListAssociations" // ListAssociationsRequest generates a "aws/request.Request" representing the @@ -8235,6 +9917,12 @@ func (c *SSM) ListComplianceItemsRequest(input *ListComplianceItemsInput) (req * Name: opListComplianceItems, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8301,6 +9989,58 @@ func (c *SSM) ListComplianceItemsWithContext(ctx aws.Context, input *ListComplia return out, req.Send() } +// ListComplianceItemsPages iterates over the pages of a ListComplianceItems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComplianceItems 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 ListComplianceItems operation. +// pageNum := 0 +// err := client.ListComplianceItemsPages(params, +// func(page *ssm.ListComplianceItemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListComplianceItemsPages(input *ListComplianceItemsInput, fn func(*ListComplianceItemsOutput, bool) bool) error { + return c.ListComplianceItemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComplianceItemsPagesWithContext same as ListComplianceItemsPages 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 *SSM) ListComplianceItemsPagesWithContext(ctx aws.Context, input *ListComplianceItemsInput, fn func(*ListComplianceItemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListComplianceItemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComplianceItemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListComplianceItemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListComplianceSummaries = "ListComplianceSummaries" // ListComplianceSummariesRequest generates a "aws/request.Request" representing the @@ -8332,6 +10072,12 @@ func (c *SSM) ListComplianceSummariesRequest(input *ListComplianceSummariesInput Name: opListComplianceSummaries, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8389,6 +10135,58 @@ func (c *SSM) ListComplianceSummariesWithContext(ctx aws.Context, input *ListCom return out, req.Send() } +// ListComplianceSummariesPages iterates over the pages of a ListComplianceSummaries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComplianceSummaries 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 ListComplianceSummaries operation. +// pageNum := 0 +// err := client.ListComplianceSummariesPages(params, +// func(page *ssm.ListComplianceSummariesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListComplianceSummariesPages(input *ListComplianceSummariesInput, fn func(*ListComplianceSummariesOutput, bool) bool) error { + return c.ListComplianceSummariesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComplianceSummariesPagesWithContext same as ListComplianceSummariesPages 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 *SSM) ListComplianceSummariesPagesWithContext(ctx aws.Context, input *ListComplianceSummariesInput, fn func(*ListComplianceSummariesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListComplianceSummariesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComplianceSummariesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListComplianceSummariesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListDocumentVersions = "ListDocumentVersions" // ListDocumentVersionsRequest generates a "aws/request.Request" representing the @@ -8420,6 +10218,12 @@ func (c *SSM) ListDocumentVersionsRequest(input *ListDocumentVersionsInput) (req Name: opListDocumentVersions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8474,6 +10278,58 @@ func (c *SSM) ListDocumentVersionsWithContext(ctx aws.Context, input *ListDocume return out, req.Send() } +// ListDocumentVersionsPages iterates over the pages of a ListDocumentVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDocumentVersions 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 ListDocumentVersions operation. +// pageNum := 0 +// err := client.ListDocumentVersionsPages(params, +// func(page *ssm.ListDocumentVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListDocumentVersionsPages(input *ListDocumentVersionsInput, fn func(*ListDocumentVersionsOutput, bool) bool) error { + return c.ListDocumentVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDocumentVersionsPagesWithContext same as ListDocumentVersionsPages 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 *SSM) ListDocumentVersionsPagesWithContext(ctx aws.Context, input *ListDocumentVersionsInput, fn func(*ListDocumentVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDocumentVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDocumentVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDocumentVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListDocuments = "ListDocuments" // ListDocumentsRequest generates a "aws/request.Request" representing the @@ -8750,6 +10606,12 @@ func (c *SSM) ListResourceComplianceSummariesRequest(input *ListResourceComplian Name: opListResourceComplianceSummaries, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8807,6 +10669,58 @@ func (c *SSM) ListResourceComplianceSummariesWithContext(ctx aws.Context, input return out, req.Send() } +// ListResourceComplianceSummariesPages iterates over the pages of a ListResourceComplianceSummaries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResourceComplianceSummaries 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 ListResourceComplianceSummaries operation. +// pageNum := 0 +// err := client.ListResourceComplianceSummariesPages(params, +// func(page *ssm.ListResourceComplianceSummariesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListResourceComplianceSummariesPages(input *ListResourceComplianceSummariesInput, fn func(*ListResourceComplianceSummariesOutput, bool) bool) error { + return c.ListResourceComplianceSummariesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResourceComplianceSummariesPagesWithContext same as ListResourceComplianceSummariesPages 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 *SSM) ListResourceComplianceSummariesPagesWithContext(ctx aws.Context, input *ListResourceComplianceSummariesInput, fn func(*ListResourceComplianceSummariesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResourceComplianceSummariesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResourceComplianceSummariesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResourceComplianceSummariesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListResourceDataSync = "ListResourceDataSync" // ListResourceDataSyncRequest generates a "aws/request.Request" representing the @@ -8838,6 +10752,12 @@ func (c *SSM) ListResourceDataSyncRequest(input *ListResourceDataSyncInput) (req Name: opListResourceDataSync, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8901,6 +10821,58 @@ func (c *SSM) ListResourceDataSyncWithContext(ctx aws.Context, input *ListResour return out, req.Send() } +// ListResourceDataSyncPages iterates over the pages of a ListResourceDataSync operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResourceDataSync 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 ListResourceDataSync operation. +// pageNum := 0 +// err := client.ListResourceDataSyncPages(params, +// func(page *ssm.ListResourceDataSyncOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListResourceDataSyncPages(input *ListResourceDataSyncInput, fn func(*ListResourceDataSyncOutput, bool) bool) error { + return c.ListResourceDataSyncPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResourceDataSyncPagesWithContext same as ListResourceDataSyncPages 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 *SSM) ListResourceDataSyncPagesWithContext(ctx aws.Context, input *ListResourceDataSyncInput, fn func(*ListResourceDataSyncOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResourceDataSyncInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResourceDataSyncRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResourceDataSyncOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -15195,6 +17167,9 @@ func (s *Command) SetTimeoutSeconds(v int64) *Command { } // Describes a command filter. +// +// An instance ID can't be specified when a command status is Pending because +// the command hasn't run on the instance yet. type CommandFilter struct { _ struct{} `type:"structure"` @@ -22236,6 +24211,15 @@ type DescribePatchGroupsInput struct { _ struct{} `type:"structure"` // One or more filters. Use a filter to return a more specific list of results. + // + // For DescribePatchGroups,valid filter keys include the following: + // + // * NAME_PREFIX: The name of the patch group. Wildcards (*) are accepted. + // + // * OPERATING_SYSTEM: The supported operating system type to return results + // for. For valid operating system values, see GetDefaultPatchBaselineRequest$OperatingSystem + // in CreatePatchBaseline. Examples: --filters Key=NAME_PREFIX,Values=MyPatchGroup* + // --filters Key=OPERATING_SYSTEM,Values=AMAZON_LINUX_2 Filters []*PatchOrchestratorFilter `type:"list"` // The maximum number of patch groups to return (per page). @@ -24104,6 +26088,8 @@ type GetCommandInvocationInput struct { // (Optional) The name of the plugin for which you want detailed results. If // the document contains only one plugin, the name can be omitted and the details // will be returned. + // + // Plugin names are also referred to as step names in Systems Manager documents. PluginName *string `min:"4" type:"string"` } @@ -27510,8 +29496,12 @@ type InstanceInformation struct { IPAddress *string `min:"1" type:"string"` // The Amazon Identity and Access Management (IAM) role assigned to the on-premises - // Systems Manager managed instances. This call does not return the IAM role - // for EC2 instances. + // Systems Manager managed instance. This call does not return the IAM role + // for EC2 instances. To retrieve the IAM role for an EC2 instance, use the + // Amazon EC2 DescribeInstances action. For information, see DescribeInstances + // (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html) + // in the Amazon EC2 API Reference or describe-instances (http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) + // in the AWS CLI Command Reference. IamRole *string `type:"string"` // The instance ID. @@ -27532,7 +29522,17 @@ type InstanceInformation struct { // The last date the association was successfully run. LastSuccessfulAssociationExecutionDate *time.Time `type:"timestamp"` - // The name of the managed instance. + // The name assigned to an on-premises server or virtual machine (VM) when it + // is activated as a Systems Manager managed instance. The name is specified + // as the DefaultInstanceName property using the CreateActivation command. It + // is applied to the managed instance by specifying the Activation Code and + // Activation ID when you install SSM Agent on the instance, as explained in + // Install SSM Agent for a hybrid environment (Linux) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html) + // and Install SSM Agent for a hybrid environment (Windows) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html). + // To retrieve the Name tag of an EC2 instance, use the Amazon EC2 DescribeInstances + // action. For information, see DescribeInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html) + // in the Amazon EC2 API Reference or describe-instances (http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) + // in the AWS CLI Command Reference. Name *string `type:"string"` // Connection status of SSM Agent. @@ -32173,6 +34173,9 @@ type ListCommandsInput struct { Filters []*CommandFilter `min:"1" type:"list"` // (Optional) Lists commands issued against this instance ID. + // + // You can't specify an instance ID in the same command that you specify Status + // = Pending. This is because the command has not reached the instance yet. InstanceId *string `type:"string"` // (Optional) The maximum number of items to return for this call. The call @@ -40423,11 +42426,18 @@ type SendCommandInput struct { // --document-version "3" DocumentVersion *string `type:"string"` - // The instance IDs where the command should run. You can specify a maximum - // of 50 IDs. If you prefer not to list individual instance IDs, you can instead - // send commands to a fleet of instances using the Targets parameter, which - // accepts EC2 tags. For more information about how to use targets, see Using - // targets and rate controls to send commands to a fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) + // The IDs of the instances where the command should run. Specifying instance + // IDs is most useful when you are targeting a limited number of instances, + // though you can specify up to 50 IDs. + // + // To target a larger number of instances, or if you prefer not to list individual + // instance IDs, we recommend using the Targets option instead. Using Targets, + // which accepts tag key-value pairs to identify the instances to send commands + // to, you can a send command to tens, hundreds, or thousands of instances at + // once. + // + // For more information about how to use targets, see Using targets and rate + // controls to send commands to a fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) // in the AWS Systems Manager User Guide. InstanceIds []*string `type:"list"` @@ -40468,10 +42478,17 @@ type SendCommandInput struct { // Service (Amazon SNS) notifications for Run Command commands. ServiceRoleArn *string `type:"string"` - // (Optional) An array of search criteria that targets instances using a Key,Value - // combination that you specify. Targets is required if you don't provide one - // or more instance IDs in the call. For more information about how to use targets, - // see Sending commands to a fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) + // An array of search criteria that targets instances using a Key,Value combination + // that you specify. Specifying targets is most useful when you want to send + // a command to a large number of instances at once. Using Targets, which accepts + // tag key-value pairs to identify instances, you can send a command to tens, + // hundreds, or thousands of instances at once. + // + // To send a command to a smaller number of instances, you can use the InstanceIds + // option instead. + // + // For more information about how to use targets, see Sending commands to a + // fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) // in the AWS Systems Manager User Guide. Targets []*Target `type:"list"` @@ -42039,9 +44056,11 @@ func (s *Tag) SetValue(v string) *Tag { // // * Key=tag-key,Values=my-tag-key-1,my-tag-key-2 // -// * (Maintenance window targets only) Key=resource-groups:Name,Values=resource-group-name +// * Run Command and Maintenance window targets only: Key=resource-groups:Name,Values=resource-group-name +// +// * Maintenance window targets only: Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2 // -// * (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2 +// * Automation targets only: Key=ResourceGroup;Values=resource-group-name // // For example: // @@ -42051,20 +44070,22 @@ func (s *Tag) SetValue(v string) *Tag { // // * Key=tag-key,Values=Name,Instance-Type,CostCenter // -// * (Maintenance window targets only) Key=resource-groups:Name,Values=ProductionResourceGroup +// * Run Command and Maintenance window targets only: Key=resource-groups:Name,Values=ProductionResourceGroup // This example demonstrates how to target all resources in the resource // group ProductionResourceGroup in your maintenance window. // -// * (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC +// * Maintenance window targets only: Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC // This example demonstrates how to target only EC2 instances and VPCs in // your maintenance window. // -// * (State Manager association targets only) Key=InstanceIds,Values=* This +// * Automation targets only: Key=ResourceGroup,Values=MyResourceGroup +// +// * State Manager association targets only: Key=InstanceIds,Values=* This // example demonstrates how to target all managed instances in the AWS Region // where the association was created. // -// For information about how to send commands that target instances using Key,Value -// parameters, see Targeting multiple instances (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting) +// For more information about how to send commands that target instances using +// Key,Value parameters, see Targeting multiple instances (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting) // in the AWS Systems Manager User Guide. type Target struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/waiters.go new file mode 100644 index 00000000000..4bc0d1401d9 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/waiters.go @@ -0,0 +1,91 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssm + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilCommandExecuted uses the Amazon SSM API operation +// GetCommandInvocation 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 *SSM) WaitUntilCommandExecuted(input *GetCommandInvocationInput) error { + return c.WaitUntilCommandExecutedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilCommandExecutedWithContext is an extended version of WaitUntilCommandExecuted. +// 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 *SSM) WaitUntilCommandExecutedWithContext(ctx aws.Context, input *GetCommandInvocationInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilCommandExecuted", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Pending", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "InProgress", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Delayed", + }, + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Success", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Cancelled", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "TimedOut", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Failed", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Cancelling", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetCommandInvocationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCommandInvocationRequest(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/storagegateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go index f75ac135fe0..0cbb35689b9 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 @@ -5733,7 +5733,7 @@ func (c *StorageGateway) RefreshCacheRequest(input *RefreshCacheInput) (req *req // RefreshCache API operation for AWS Storage Gateway. // // Refreshes the cache for the specified file share. This operation finds objects -// in the Amazon S3 bucket that were added, removed or replaced since the gateway +// in the Amazon S3 bucket that were added, removed, or replaced since the gateway // last listed the bucket's contents and cached the results. This operation // is only supported in the file gateway type. You can subscribe to be notified // through an Amazon CloudWatch event when your RefreshCache operation completes. @@ -8594,6 +8594,35 @@ func (s *AutomaticTapeCreationRule) SetTapeSizeInBytes(v int64) *AutomaticTapeCr return s } +// Lists refresh cache information. +type CacheAttributes struct { + _ struct{} `type:"structure"` + + // Refreshes a file share's cache by using Time To Live (TTL). TTL is the length + // of time since the last refresh after which access to the directory would + // cause the file gateway to first refresh that directory's contents from the + // Amazon S3 bucket. The TTL duration is in seconds. + // + // Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days) + CacheStaleTimeoutInSeconds *int64 `type:"integer"` +} + +// String returns the string representation +func (s CacheAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CacheAttributes) GoString() string { + return s.String() +} + +// SetCacheStaleTimeoutInSeconds sets the CacheStaleTimeoutInSeconds field's value. +func (s *CacheAttributes) SetCacheStaleTimeoutInSeconds(v int64) *CacheAttributes { + s.CacheStaleTimeoutInSeconds = &v + return s +} + // Describes an iSCSI cached volume. type CachediSCSIVolume struct { _ struct{} `type:"structure"` @@ -9209,6 +9238,9 @@ func (s *CreateCachediSCSIVolumeOutput) SetVolumeARN(v string) *CreateCachediSCS type CreateNFSFileShareInput struct { _ struct{} `type:"structure"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + // The list of clients that are allowed to access the file gateway. The list // must contain either valid IP addresses or valid CIDR blocks. ClientList []*string `min:"1" type:"list"` @@ -9225,6 +9257,11 @@ type CreateNFSFileShareInput struct { // Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string `min:"5" type:"string"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the file gateway on which you want to create // a file share. // @@ -9249,7 +9286,8 @@ type CreateNFSFileShareInput struct { // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` - // The ARN of the backed storage used for storing file data. + // The ARN of the backend storage used for storing file data. A prefix name + // can be added to the S3 bucket name. It must end with a "/". // // LocationARN is a required field LocationARN *string `min:"16" type:"string" required:"true"` @@ -9332,6 +9370,9 @@ func (s *CreateNFSFileShareInput) Validate() error { if s.DefaultStorageClass != nil && len(*s.DefaultStorageClass) < 5 { invalidParams.Add(request.NewErrParamMinLen("DefaultStorageClass", 5)) } + if s.FileShareName != nil && len(*s.FileShareName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileShareName", 1)) + } if s.GatewayARN == nil { invalidParams.Add(request.NewErrParamRequired("GatewayARN")) } @@ -9378,6 +9419,12 @@ func (s *CreateNFSFileShareInput) Validate() error { return nil } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *CreateNFSFileShareInput) SetCacheAttributes(v *CacheAttributes) *CreateNFSFileShareInput { + s.CacheAttributes = v + return s +} + // SetClientList sets the ClientList field's value. func (s *CreateNFSFileShareInput) SetClientList(v []*string) *CreateNFSFileShareInput { s.ClientList = v @@ -9396,6 +9443,12 @@ func (s *CreateNFSFileShareInput) SetDefaultStorageClass(v string) *CreateNFSFil return s } +// SetFileShareName sets the FileShareName field's value. +func (s *CreateNFSFileShareInput) SetFileShareName(v string) *CreateNFSFileShareInput { + s.FileShareName = &v + return s +} + // SetGatewayARN sets the GatewayARN field's value. func (s *CreateNFSFileShareInput) SetGatewayARN(v string) *CreateNFSFileShareInput { s.GatewayARN = &v @@ -9496,9 +9549,10 @@ func (s *CreateNFSFileShareOutput) SetFileShareARN(v string) *CreateNFSFileShare type CreateSMBFileShareInput struct { _ struct{} `type:"structure"` - // A list of users in the Active Directory that will be granted administrator + // A list of users or groups in the Active Directory that will be granted administrator // privileges on the file share. These users can do all file operations as the - // super-user. + // super-user. Acceptable formats include: DOMAIN\User1, user1, @group1, and + // @DOMAIN\group1. // // Use this option very carefully, because any user in this list can do anything // they like on the file share, regardless of file permissions. @@ -9513,6 +9567,14 @@ type CreateSMBFileShareInput struct { // Valid Values: ActiveDirectory | GuestAccess Authentication *string `min:"5" type:"string"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + + // The case of an object name in an Amazon S3 bucket. For ClientSpecified, the + // client determines the case sensitivity. For CaseSensitive, the gateway determines + // the case sensitivity. The default value is ClientSpecified. + CaseSensitivity *string `type:"string" enum:"CaseSensitivity"` + // A unique string value that you supply that is used by file gateway to ensure // idempotent file share creation. // @@ -9525,6 +9587,11 @@ type CreateSMBFileShareInput struct { // Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string `min:"5" type:"string"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // The ARN of the file gateway on which you want to create a file share. // // GatewayARN is a required field @@ -9538,8 +9605,9 @@ type CreateSMBFileShareInput struct { GuessMIMETypeEnabled *bool `type:"boolean"` // A list of users or groups in the Active Directory that are not allowed to - // access the file share. A group must be prefixed with the @ character. For - // example, @group1. Can only be set if Authentication is set to ActiveDirectory. + // access the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. InvalidUserList []*string `type:"list"` // Set to true to use Amazon S3 server-side encryption with your own AWS KMS @@ -9553,7 +9621,8 @@ type CreateSMBFileShareInput struct { // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` - // The ARN of the backed storage used for storing file data. + // The ARN of the backend storage used for storing file data. A prefix name + // can be added to the S3 bucket name. It must end with a "/". // // LocationARN is a required field LocationARN *string `min:"16" type:"string" required:"true"` @@ -9608,8 +9677,9 @@ type CreateSMBFileShareInput struct { Tags []*Tag `type:"list"` // A list of users or groups in the Active Directory that are allowed to access - // the file share. A group must be prefixed with the @ character. For example, - // @group1. Can only be set if Authentication is set to ActiveDirectory. + // the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. ValidUserList []*string `type:"list"` } @@ -9638,6 +9708,9 @@ func (s *CreateSMBFileShareInput) Validate() error { if s.DefaultStorageClass != nil && len(*s.DefaultStorageClass) < 5 { invalidParams.Add(request.NewErrParamMinLen("DefaultStorageClass", 5)) } + if s.FileShareName != nil && len(*s.FileShareName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileShareName", 1)) + } if s.GatewayARN == nil { invalidParams.Add(request.NewErrParamRequired("GatewayARN")) } @@ -9694,6 +9767,18 @@ func (s *CreateSMBFileShareInput) SetAuthentication(v string) *CreateSMBFileShar return s } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *CreateSMBFileShareInput) SetCacheAttributes(v *CacheAttributes) *CreateSMBFileShareInput { + s.CacheAttributes = v + return s +} + +// SetCaseSensitivity sets the CaseSensitivity field's value. +func (s *CreateSMBFileShareInput) SetCaseSensitivity(v string) *CreateSMBFileShareInput { + s.CaseSensitivity = &v + return s +} + // SetClientToken sets the ClientToken field's value. func (s *CreateSMBFileShareInput) SetClientToken(v string) *CreateSMBFileShareInput { s.ClientToken = &v @@ -9706,6 +9791,12 @@ func (s *CreateSMBFileShareInput) SetDefaultStorageClass(v string) *CreateSMBFil return s } +// SetFileShareName sets the FileShareName field's value. +func (s *CreateSMBFileShareInput) SetFileShareName(v string) *CreateSMBFileShareInput { + s.FileShareName = &v + return s +} + // SetGatewayARN sets the GatewayARN field's value. func (s *CreateSMBFileShareInput) SetGatewayARN(v string) *CreateSMBFileShareInput { s.GatewayARN = &v @@ -11873,6 +11964,10 @@ type DescribeGatewayInformationOutput struct { // used to monitor events in the gateway. CloudWatchLogGroupARN *string `type:"string"` + // Date after which this gateway will not receive software updates for new features + // and bug fixes. + DeprecationDate *string `min:"1" type:"string"` + // The ID of the Amazon EC2 instance that was used to launch the gateway. Ec2InstanceId *string `type:"string"` @@ -11922,6 +12017,9 @@ type DescribeGatewayInformationOutput struct { // this field is not returned in the response. NextUpdateAvailabilityDate *string `min:"1" type:"string"` + // Date after which this gateway will not receive software updates for new features. + SoftwareUpdatesEndDate *string `min:"1" type:"string"` + // A list of up to 50 tags assigned to the gateway, sorted alphabetically by // key name. Each tag is a key-value pair. For a gateway with more than 10 tags // assigned, you can view all tags using the ListTagsForResource API operation. @@ -11948,6 +12046,12 @@ func (s *DescribeGatewayInformationOutput) SetCloudWatchLogGroupARN(v string) *D return s } +// SetDeprecationDate sets the DeprecationDate field's value. +func (s *DescribeGatewayInformationOutput) SetDeprecationDate(v string) *DescribeGatewayInformationOutput { + s.DeprecationDate = &v + return s +} + // SetEc2InstanceId sets the Ec2InstanceId field's value. func (s *DescribeGatewayInformationOutput) SetEc2InstanceId(v string) *DescribeGatewayInformationOutput { s.Ec2InstanceId = &v @@ -12026,6 +12130,12 @@ func (s *DescribeGatewayInformationOutput) SetNextUpdateAvailabilityDate(v strin return s } +// SetSoftwareUpdatesEndDate sets the SoftwareUpdatesEndDate field's value. +func (s *DescribeGatewayInformationOutput) SetSoftwareUpdatesEndDate(v string) *DescribeGatewayInformationOutput { + s.SoftwareUpdatesEndDate = &v + return s +} + // SetTags sets the Tags field's value. func (s *DescribeGatewayInformationOutput) SetTags(v []*Tag) *DescribeGatewayInformationOutput { s.Tags = v @@ -15020,6 +15130,9 @@ func (s *NFSFileShareDefaults) SetOwnerId(v int64) *NFSFileShareDefaults { type NFSFileShareInfo struct { _ struct{} `type:"structure"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + // The list of clients that are allowed to access the file gateway. The list // must contain either valid IP addresses or valid CIDR blocks. ClientList []*string `min:"1" type:"list"` @@ -15036,6 +15149,11 @@ type NFSFileShareInfo struct { // The ID of the file share. FileShareId *string `min:"12" type:"string"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // The status of the file share. // // Valid Values: CREATING | UPDATING | AVAILABLE | DELETING @@ -15063,7 +15181,8 @@ type NFSFileShareInfo struct { // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` - // The ARN of the backend storage used for storing file data. + // The ARN of the backend storage used for storing file data. A prefix name + // can be added to the S3 bucket name. It must end with a "/". LocationARN *string `min:"16" type:"string"` // Describes Network File System (NFS) file share default values. Files and @@ -15129,6 +15248,12 @@ func (s NFSFileShareInfo) GoString() string { return s.String() } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *NFSFileShareInfo) SetCacheAttributes(v *CacheAttributes) *NFSFileShareInfo { + s.CacheAttributes = v + return s +} + // SetClientList sets the ClientList field's value. func (s *NFSFileShareInfo) SetClientList(v []*string) *NFSFileShareInfo { s.ClientList = v @@ -15153,6 +15278,12 @@ func (s *NFSFileShareInfo) SetFileShareId(v string) *NFSFileShareInfo { return s } +// SetFileShareName sets the FileShareName field's value. +func (s *NFSFileShareInfo) SetFileShareName(v string) *NFSFileShareInfo { + s.FileShareName = &v + return s +} + // SetFileShareStatus sets the FileShareStatus field's value. func (s *NFSFileShareInfo) SetFileShareStatus(v string) *NFSFileShareInfo { s.FileShareStatus = &v @@ -15796,7 +15927,8 @@ type SMBFileShareInfo struct { // A list of users or groups in the Active Directory that have administrator // rights to the file share. A group must be prefixed with the @ character. - // For example @group1. Can only be set if Authentication is set to ActiveDirectory. + // Acceptable formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. + // Can only be set if Authentication is set to ActiveDirectory. AdminUserList []*string `type:"list"` // The Amazon Resource Name (ARN) of the storage used for the audit logs. @@ -15807,6 +15939,14 @@ type SMBFileShareInfo struct { // Valid Values: ActiveDirectory | GuestAccess Authentication *string `min:"5" type:"string"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + + // The case of an object name in an Amazon S3 bucket. For ClientSpecified, the + // client determines the case sensitivity. For CaseSensitive, the gateway determines + // the case sensitivity. The default value is ClientSpecified. + CaseSensitivity *string `type:"string" enum:"CaseSensitivity"` + // The default storage class for objects put into an Amazon S3 bucket by the // file gateway. The default value is S3_INTELLIGENT_TIERING. Optional. // @@ -15819,6 +15959,11 @@ type SMBFileShareInfo struct { // The ID of the file share. FileShareId *string `min:"12" type:"string"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // The status of the file share. // // Valid Values: CREATING | UPDATING | AVAILABLE | DELETING @@ -15836,8 +15981,9 @@ type SMBFileShareInfo struct { GuessMIMETypeEnabled *bool `type:"boolean"` // A list of users or groups in the Active Directory that are not allowed to - // access the file share. A group must be prefixed with the @ character. For - // example @group1. Can only be set if Authentication is set to ActiveDirectory. + // access the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. InvalidUserList []*string `type:"list"` // Set to true to use Amazon S3 server-side encryption with your own AWS KMS @@ -15851,7 +15997,8 @@ type SMBFileShareInfo struct { // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` - // The ARN of the backend storage used for storing file data. + // The ARN of the backend storage used for storing file data. A prefix name + // can be added to the S3 bucket name. It must end with a "/". LocationARN *string `min:"16" type:"string"` // A value that sets the access control list (ACL) permission for objects in @@ -15899,8 +16046,9 @@ type SMBFileShareInfo struct { Tags []*Tag `type:"list"` // A list of users or groups in the Active Directory that are allowed to access - // the file share. A group must be prefixed with the @ character. For example, - // @group1. Can only be set if Authentication is set to ActiveDirectory. + // the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. ValidUserList []*string `type:"list"` } @@ -15932,6 +16080,18 @@ func (s *SMBFileShareInfo) SetAuthentication(v string) *SMBFileShareInfo { return s } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *SMBFileShareInfo) SetCacheAttributes(v *CacheAttributes) *SMBFileShareInfo { + s.CacheAttributes = v + return s +} + +// SetCaseSensitivity sets the CaseSensitivity field's value. +func (s *SMBFileShareInfo) SetCaseSensitivity(v string) *SMBFileShareInfo { + s.CaseSensitivity = &v + return s +} + // SetDefaultStorageClass sets the DefaultStorageClass field's value. func (s *SMBFileShareInfo) SetDefaultStorageClass(v string) *SMBFileShareInfo { s.DefaultStorageClass = &v @@ -15950,6 +16110,12 @@ func (s *SMBFileShareInfo) SetFileShareId(v string) *SMBFileShareInfo { return s } +// SetFileShareName sets the FileShareName field's value. +func (s *SMBFileShareInfo) SetFileShareName(v string) *SMBFileShareInfo { + s.FileShareName = &v + return s +} + // SetFileShareStatus sets the FileShareStatus field's value. func (s *SMBFileShareInfo) SetFileShareStatus(v string) *SMBFileShareInfo { s.FileShareStatus = &v @@ -17730,6 +17896,9 @@ func (s *UpdateMaintenanceStartTimeOutput) SetGatewayARN(v string) *UpdateMainte type UpdateNFSFileShareInput struct { _ struct{} `type:"structure"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + // The list of clients that are allowed to access the file gateway. The list // must contain either valid IP addresses or valid CIDR blocks. ClientList []*string `min:"1" type:"list"` @@ -17745,6 +17914,11 @@ type UpdateNFSFileShareInput struct { // FileShareARN is a required field FileShareARN *string `min:"50" type:"string" required:"true"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // A value that enables guessing of the MIME type for uploaded objects based // on file extensions. Set this value to true to enable MIME type guessing, // otherwise set to false. The default value is true. @@ -17826,6 +18000,9 @@ func (s *UpdateNFSFileShareInput) Validate() error { if s.FileShareARN != nil && len(*s.FileShareARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50)) } + if s.FileShareName != nil && len(*s.FileShareName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileShareName", 1)) + } if s.KMSKey != nil && len(*s.KMSKey) < 7 { invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } @@ -17844,6 +18021,12 @@ func (s *UpdateNFSFileShareInput) Validate() error { return nil } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *UpdateNFSFileShareInput) SetCacheAttributes(v *CacheAttributes) *UpdateNFSFileShareInput { + s.CacheAttributes = v + return s +} + // SetClientList sets the ClientList field's value. func (s *UpdateNFSFileShareInput) SetClientList(v []*string) *UpdateNFSFileShareInput { s.ClientList = v @@ -17862,6 +18045,12 @@ func (s *UpdateNFSFileShareInput) SetFileShareARN(v string) *UpdateNFSFileShareI return s } +// SetFileShareName sets the FileShareName field's value. +func (s *UpdateNFSFileShareInput) SetFileShareName(v string) *UpdateNFSFileShareInput { + s.FileShareName = &v + return s +} + // SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value. func (s *UpdateNFSFileShareInput) SetGuessMIMETypeEnabled(v bool) *UpdateNFSFileShareInput { s.GuessMIMETypeEnabled = &v @@ -17938,14 +18127,23 @@ func (s *UpdateNFSFileShareOutput) SetFileShareARN(v string) *UpdateNFSFileShare type UpdateSMBFileShareInput struct { _ struct{} `type:"structure"` - // A list of users in the Active Directory that have administrator rights to - // the file share. A group must be prefixed with the @ character. For example, - // @group1. Can only be set if Authentication is set to ActiveDirectory. + // A list of users or groups in the Active Directory that have administrator + // rights to the file share. A group must be prefixed with the @ character. + // Acceptable formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. + // Can only be set if Authentication is set to ActiveDirectory. AdminUserList []*string `type:"list"` // The Amazon Resource Name (ARN) of the storage used for the audit logs. AuditDestinationARN *string `type:"string"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + + // The case of an object name in an Amazon S3 bucket. For ClientSpecified, the + // client determines the case sensitivity. For CaseSensitive, the gateway determines + // the case sensitivity. The default value is ClientSpecified. + CaseSensitivity *string `type:"string" enum:"CaseSensitivity"` + // The default storage class for objects put into an Amazon S3 bucket by the // file gateway. The default value is S3_INTELLIGENT_TIERING. Optional. // @@ -17957,6 +18155,11 @@ type UpdateSMBFileShareInput struct { // FileShareARN is a required field FileShareARN *string `min:"50" type:"string" required:"true"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // A value that enables guessing of the MIME type for uploaded objects based // on file extensions. Set this value to true to enable MIME type guessing, // otherwise set to false. The default value is true. @@ -17965,8 +18168,9 @@ type UpdateSMBFileShareInput struct { GuessMIMETypeEnabled *bool `type:"boolean"` // A list of users or groups in the Active Directory that are not allowed to - // access the file share. A group must be prefixed with the @ character. For - // example @group1. Can only be set if Authentication is set to ActiveDirectory. + // access the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. InvalidUserList []*string `type:"list"` // Set to true to use Amazon S3 server-side encryption with your own AWS KMS @@ -18015,8 +18219,9 @@ type UpdateSMBFileShareInput struct { SMBACLEnabled *bool `type:"boolean"` // A list of users or groups in the Active Directory that are allowed to access - // the file share. A group must be prefixed with the @ character. For example, - // @group1. Can only be set if Authentication is set to ActiveDirectory. + // the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. ValidUserList []*string `type:"list"` } @@ -18042,6 +18247,9 @@ func (s *UpdateSMBFileShareInput) Validate() error { if s.FileShareARN != nil && len(*s.FileShareARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50)) } + if s.FileShareName != nil && len(*s.FileShareName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileShareName", 1)) + } if s.KMSKey != nil && len(*s.KMSKey) < 7 { invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } @@ -18064,6 +18272,18 @@ func (s *UpdateSMBFileShareInput) SetAuditDestinationARN(v string) *UpdateSMBFil return s } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *UpdateSMBFileShareInput) SetCacheAttributes(v *CacheAttributes) *UpdateSMBFileShareInput { + s.CacheAttributes = v + return s +} + +// SetCaseSensitivity sets the CaseSensitivity field's value. +func (s *UpdateSMBFileShareInput) SetCaseSensitivity(v string) *UpdateSMBFileShareInput { + s.CaseSensitivity = &v + return s +} + // SetDefaultStorageClass sets the DefaultStorageClass field's value. func (s *UpdateSMBFileShareInput) SetDefaultStorageClass(v string) *UpdateSMBFileShareInput { s.DefaultStorageClass = &v @@ -18076,6 +18296,12 @@ func (s *UpdateSMBFileShareInput) SetFileShareARN(v string) *UpdateSMBFileShareI return s } +// SetFileShareName sets the FileShareName field's value. +func (s *UpdateSMBFileShareInput) SetFileShareName(v string) *UpdateSMBFileShareInput { + s.FileShareName = &v + return s +} + // SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value. func (s *UpdateSMBFileShareInput) SetGuessMIMETypeEnabled(v bool) *UpdateSMBFileShareInput { s.GuessMIMETypeEnabled = &v @@ -18784,6 +19010,14 @@ const ( AvailabilityMonitorTestStatusPending = "PENDING" ) +const ( + // CaseSensitivityClientSpecified is a CaseSensitivity enum value + CaseSensitivityClientSpecified = "ClientSpecified" + + // CaseSensitivityCaseSensitive is a CaseSensitivity enum value + CaseSensitivityCaseSensitive = "CaseSensitive" +) + const ( // ErrorCodeActivationKeyExpired is a ErrorCode enum value ErrorCodeActivationKeyExpired = "ActivationKeyExpired" diff --git a/vendor/github.com/aws/aws-sdk-go/service/wafv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/wafv2/api.go index 68de2cffaa7..e7c5fa25d40 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/wafv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/wafv2/api.go @@ -3509,7 +3509,15 @@ func (c *WAFV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req // 2019. For information, including how to migrate your AWS WAF resources from // the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). // -// Retrieves the TagInfoForResource for the specified resource. +// Retrieves the TagInfoForResource for the specified resource. Tags are key:value +// pairs that you can use to categorize and manage your resources, for purposes +// like billing. For example, you might set the tag key to "customer" and the +// value to the customer name or ID. You can specify one or more tags to add +// to each AWS resource, up to 50 tags for a resource. +// +// You can tag the AWS resources that you manage through AWS WAF: web ACLs, +// rule groups, IP sets, and regex pattern sets. You can't manage or view tags +// through the AWS WAF console. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3738,6 +3746,9 @@ func (c *WAFV2) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInp // operating. If you are capturing logs for Amazon CloudFront, always create // the firehose in US East (N. Virginia). // +// Give the data firehose a name that starts with the prefix aws-waf-logs-. +// For example, aws-waf-logs-us-east-2-analytics. +// // Do not create the data firehose using a Kinesis stream as your source. // // Associate that firehose to your web ACL using a PutLoggingConfiguration request. @@ -3798,6 +3809,12 @@ func (c *WAFV2) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInp // * WAFInvalidOperationException // The operation isn't valid. // +// * WAFLimitsExceededException +// AWS WAF couldn’t perform the operation because you exceeded your resource +// limit. For example, the maximum number of WebACL objects that you can create +// for an AWS account. For more information, see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutLoggingConfiguration func (c *WAFV2) PutLoggingConfiguration(input *PutLoggingConfigurationInput) (*PutLoggingConfigurationOutput, error) { req, out := c.PutLoggingConfigurationRequest(input) @@ -4002,10 +4019,14 @@ func (c *WAFV2) TagResourceRequest(input *TagResourceInput) (req *request.Reques // the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). // // Associates tags with the specified AWS resource. Tags are key:value pairs -// that you can associate with AWS resources. For example, the tag key 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 -// AWS resource. +// that you can use to categorize and manage your resources, for purposes like +// billing. For example, you might set the tag key to "customer" and the value +// to the customer name or ID. You can specify one or more tags to add to each +// AWS resource, up to 50 tags for a resource. +// +// You can tag the AWS resources that you manage through AWS WAF: web ACLs, +// rule groups, IP sets, and regex pattern sets. You can't manage or view tags +// through the AWS WAF console. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7183,6 +7204,88 @@ func (s *FirewallManagerStatement) SetRuleGroupReferenceStatement(v *RuleGroupRe return s } +// The configuration for inspecting IP addresses in an HTTP header that you +// specify, instead of using the IP address that's reported by the web request +// origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify +// any header name. +// +// If the specified header isn't present in the request, AWS WAF doesn't apply +// the rule to the web request at all. +// +// This configuration is used for GeoMatchStatement and RateBasedStatement. +// For IPSetReferenceStatement, use IPSetForwardedIPConfig instead. +// +// AWS WAF only evaluates the first IP address found in the specified HTTP header. +type ForwardedIPConfig struct { + _ struct{} `type:"structure"` + + // The match status to assign to the web request if the request doesn't have + // a valid IP address in the specified position. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // You can specify the following fallback behaviors: + // + // * MATCH - Treat the web request as matching the rule statement. AWS WAF + // applies the rule action to the request. + // + // * NO_MATCH - Treat the web request as not matching the rule statement. + // + // FallbackBehavior is a required field + FallbackBehavior *string `type:"string" required:"true" enum:"FallbackBehavior"` + + // The name of the HTTP header to use for the IP address. For example, to use + // the X-Forwarded-For (XFF) header, set this to X-Forwarded-For. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // HeaderName is a required field + HeaderName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ForwardedIPConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ForwardedIPConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ForwardedIPConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ForwardedIPConfig"} + if s.FallbackBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("FallbackBehavior")) + } + if s.HeaderName == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderName")) + } + if s.HeaderName != nil && len(*s.HeaderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HeaderName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFallbackBehavior sets the FallbackBehavior field's value. +func (s *ForwardedIPConfig) SetFallbackBehavior(v string) *ForwardedIPConfig { + s.FallbackBehavior = &v + return s +} + +// SetHeaderName sets the HeaderName field's value. +func (s *ForwardedIPConfig) SetHeaderName(v string) *ForwardedIPConfig { + s.HeaderName = &v + return s +} + // // This is the latest version of AWS WAF, named AWS WAFV2, released in November, // 2019. For information, including how to migrate your AWS WAF resources from @@ -7195,6 +7298,15 @@ type GeoMatchStatement struct { // An array of two-character country codes, for example, [ "US", "CN" ], from // the alpha-2 country ISO codes of the ISO 3166 international standard. CountryCodes []*string `min:"1" type:"list"` + + // The configuration for inspecting IP addresses in an HTTP header that you + // specify, instead of using the IP address that's reported by the web request + // origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify + // any header name. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + ForwardedIPConfig *ForwardedIPConfig `type:"structure"` } // String returns the string representation @@ -7213,6 +7325,11 @@ func (s *GeoMatchStatement) Validate() error { if s.CountryCodes != nil && len(s.CountryCodes) < 1 { invalidParams.Add(request.NewErrParamMinLen("CountryCodes", 1)) } + if s.ForwardedIPConfig != nil { + if err := s.ForwardedIPConfig.Validate(); err != nil { + invalidParams.AddNested("ForwardedIPConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7226,6 +7343,12 @@ func (s *GeoMatchStatement) SetCountryCodes(v []*string) *GeoMatchStatement { return s } +// SetForwardedIPConfig sets the ForwardedIPConfig field's value. +func (s *GeoMatchStatement) SetForwardedIPConfig(v *ForwardedIPConfig) *GeoMatchStatement { + s.ForwardedIPConfig = v + return s +} + type GetIPSetInput struct { _ struct{} `type:"structure"` @@ -7920,9 +8043,10 @@ type GetSampledRequestsInput struct { Scope *string `type:"string" required:"true" enum:"Scope"` // The start date and time and the end date and time of the range for which - // you want GetSampledRequests to return a sample of requests. Specify the date - // and time in the following format: "2016-09-27T14:50Z". You can specify any - // time range in the previous three hours. + // you want GetSampledRequests to return a sample of requests. You must specify + // the times in Coordinated Universal Time (UTC) format. UTC format includes + // the special designator, Z. For example, "2016-09-27T14:50Z". You can specify + // any time range in the previous three hours. // // TimeWindow is a required field TimeWindow *TimeWindow `type:"structure" required:"true"` @@ -8028,7 +8152,8 @@ type GetSampledRequestsOutput struct { // Usually, TimeWindow is the time range that you specified in the GetSampledRequests // request. However, if your AWS resource received more than 5,000 requests // during the time range that you specified in the request, GetSampledRequests - // returns the time range for the first 5,000 requests. + // returns the time range for the first 5,000 requests. Times are in Coordinated + // Universal Time (UTC) format. TimeWindow *TimeWindow `type:"structure"` } @@ -8491,6 +8616,115 @@ func (s *IPSet) SetName(v string) *IPSet { return s } +// The configuration for inspecting IP addresses in an HTTP header that you +// specify, instead of using the IP address that's reported by the web request +// origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify +// any header name. +// +// If the specified header isn't present in the request, AWS WAF doesn't apply +// the rule to the web request at all. +// +// This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement +// and RateBasedStatement, use ForwardedIPConfig instead. +type IPSetForwardedIPConfig struct { + _ struct{} `type:"structure"` + + // The match status to assign to the web request if the request doesn't have + // a valid IP address in the specified position. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // You can specify the following fallback behaviors: + // + // * MATCH - Treat the web request as matching the rule statement. AWS WAF + // applies the rule action to the request. + // + // * NO_MATCH - Treat the web request as not matching the rule statement. + // + // FallbackBehavior is a required field + FallbackBehavior *string `type:"string" required:"true" enum:"FallbackBehavior"` + + // The name of the HTTP header to use for the IP address. For example, to use + // the X-Forwarded-For (XFF) header, set this to X-Forwarded-For. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // HeaderName is a required field + HeaderName *string `min:"1" type:"string" required:"true"` + + // The position in the header to search for the IP address. The header can contain + // IP addresses of the original client and also of proxies. For example, the + // header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP + // address identifies the original client and the rest identify proxies that + // the request went through. + // + // The options for this setting are the following: + // + // * FIRST - Inspect the first IP address in the list of IP addresses in + // the header. This is usually the client's original IP. + // + // * LAST - Inspect the last IP address in the list of IP addresses in the + // header. + // + // * ANY - Inspect all IP addresses in the header for a match. If the header + // contains more than 10 IP addresses, AWS WAF inspects the last 10. + // + // Position is a required field + Position *string `type:"string" required:"true" enum:"ForwardedIPPosition"` +} + +// String returns the string representation +func (s IPSetForwardedIPConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IPSetForwardedIPConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IPSetForwardedIPConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IPSetForwardedIPConfig"} + if s.FallbackBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("FallbackBehavior")) + } + if s.HeaderName == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderName")) + } + if s.HeaderName != nil && len(*s.HeaderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HeaderName", 1)) + } + if s.Position == nil { + invalidParams.Add(request.NewErrParamRequired("Position")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFallbackBehavior sets the FallbackBehavior field's value. +func (s *IPSetForwardedIPConfig) SetFallbackBehavior(v string) *IPSetForwardedIPConfig { + s.FallbackBehavior = &v + return s +} + +// SetHeaderName sets the HeaderName field's value. +func (s *IPSetForwardedIPConfig) SetHeaderName(v string) *IPSetForwardedIPConfig { + s.HeaderName = &v + return s +} + +// SetPosition sets the Position field's value. +func (s *IPSetForwardedIPConfig) SetPosition(v string) *IPSetForwardedIPConfig { + s.Position = &v + return s +} + // // This is the latest version of AWS WAF, named AWS WAFV2, released in November, // 2019. For information, including how to migrate your AWS WAF resources from @@ -8512,6 +8746,15 @@ type IPSetReferenceStatement struct { // // ARN is a required field ARN *string `min:"20" type:"string" required:"true"` + + // The configuration for inspecting IP addresses in an HTTP header that you + // specify, instead of using the IP address that's reported by the web request + // origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify + // any header name. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + IPSetForwardedIPConfig *IPSetForwardedIPConfig `type:"structure"` } // String returns the string representation @@ -8533,6 +8776,11 @@ func (s *IPSetReferenceStatement) Validate() error { if s.ARN != nil && len(*s.ARN) < 20 { invalidParams.Add(request.NewErrParamMinLen("ARN", 20)) } + if s.IPSetForwardedIPConfig != nil { + if err := s.IPSetForwardedIPConfig.Validate(); err != nil { + invalidParams.AddNested("IPSetForwardedIPConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -8546,6 +8794,12 @@ func (s *IPSetReferenceStatement) SetARN(v string) *IPSetReferenceStatement { return s } +// SetIPSetForwardedIPConfig sets the IPSetForwardedIPConfig field's value. +func (s *IPSetReferenceStatement) SetIPSetForwardedIPConfig(v *IPSetForwardedIPConfig) *IPSetReferenceStatement { + s.IPSetForwardedIPConfig = v + return s +} + // // This is the latest version of AWS WAF, named AWS WAFV2, released in November, // 2019. For information, including how to migrate your AWS WAF resources from @@ -9483,9 +9737,16 @@ type LoggingConfiguration struct { // LogDestinationConfigs is a required field LogDestinationConfigs []*string `min:"1" type:"list" required:"true"` + // Indicates whether the logging configuration was created by AWS Firewall Manager, + // as part of an AWS WAF policy configuration. If true, only Firewall Manager + // can modify or delete the configuration. + ManagedByFirewallManager *bool `type:"boolean"` + // The parts of the request that you want to keep out of the logs. For example, - // if you redact the cookie field, the cookie field in the firehose will be + // if you redact the HEADER field, the HEADER field in the firehose will be // xxx. + // + // You must use one of the following values: URI, QUERY_STRING, HEADER, or METHOD. RedactedFields []*FieldToMatch `type:"list"` // The Amazon Resource Name (ARN) of the web ACL that you want to associate @@ -9543,6 +9804,12 @@ func (s *LoggingConfiguration) SetLogDestinationConfigs(v []*string) *LoggingCon return s } +// SetManagedByFirewallManager sets the ManagedByFirewallManager field's value. +func (s *LoggingConfiguration) SetManagedByFirewallManager(v bool) *LoggingConfiguration { + s.ManagedByFirewallManager = &v + return s +} + // SetRedactedFields sets the RedactedFields field's value. func (s *LoggingConfiguration) SetRedactedFields(v []*FieldToMatch) *LoggingConfiguration { s.RedactedFields = v @@ -10135,14 +10402,32 @@ func (s QueryString) GoString() string { type RateBasedStatement struct { _ struct{} `type:"structure"` - // Setting that indicates how to aggregate the request counts. Currently, you - // must set this to IP. The request counts are aggregated on IP addresses. + // Setting that indicates how to aggregate the request counts. The options are + // the following: + // + // * IP - Aggregate the request counts on the IP address from the web request + // origin. + // + // * FORWARDED_IP - Aggregate the request counts on the first IP address + // in an HTTP header. If you use this, configure the ForwardedIPConfig, to + // specify the header to use. // // AggregateKeyType is a required field AggregateKeyType *string `type:"string" required:"true" enum:"RateBasedStatementAggregateKeyType"` + // The configuration for inspecting IP addresses in an HTTP header that you + // specify, instead of using the IP address that's reported by the web request + // origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify + // any header name. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // This is required if AggregateKeyType is set to FORWARDED_IP. + ForwardedIPConfig *ForwardedIPConfig `type:"structure"` + // The limit on requests per 5-minute period for a single originating IP address. - // If the statement includes a ScopDownStatement, this limit is applied only + // If the statement includes a ScopeDownStatement, this limit is applied only // to the requests that match the statement. // // Limit is a required field @@ -10176,6 +10461,11 @@ func (s *RateBasedStatement) Validate() error { if s.Limit != nil && *s.Limit < 100 { invalidParams.Add(request.NewErrParamMinValue("Limit", 100)) } + if s.ForwardedIPConfig != nil { + if err := s.ForwardedIPConfig.Validate(); err != nil { + invalidParams.AddNested("ForwardedIPConfig", err.(request.ErrInvalidParams)) + } + } if s.ScopeDownStatement != nil { if err := s.ScopeDownStatement.Validate(); err != nil { invalidParams.AddNested("ScopeDownStatement", err.(request.ErrInvalidParams)) @@ -10194,6 +10484,12 @@ func (s *RateBasedStatement) SetAggregateKeyType(v string) *RateBasedStatement { return s } +// SetForwardedIPConfig sets the ForwardedIPConfig field's value. +func (s *RateBasedStatement) SetForwardedIPConfig(v *ForwardedIPConfig) *RateBasedStatement { + s.ForwardedIPConfig = v + return s +} + // SetLimit sets the Limit field's value. func (s *RateBasedStatement) SetLimit(v int64) *RateBasedStatement { s.Limit = &v @@ -11083,7 +11379,7 @@ type SampledHTTPRequest struct { // The name of the Rule that the request matched. For managed rule groups, the // format for this name is ##. // For your own rule groups, the format for this name is #. If the rule is not in a rule group, the format is . + // name>. If the rule is not in a rule group, this field is absent. RuleNameWithinRuleGroup *string `min:"1" type:"string"` // The time at which AWS WAF received the request from your AWS resource, in @@ -11754,11 +12050,18 @@ func (s *Statement) SetXssMatchStatement(v *XssMatchStatement) *Statement { // 2019. For information, including how to migrate your AWS WAF resources from // the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). // -// A collection of key:value pairs associated with an AWS resource. The key:value -// pair can be anything you define. Typically, the tag key represents a category -// (such as "environment") 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 AWS resource. +// A tag associated with an AWS resource. Tags are key:value pairs that you +// can use to categorize and manage your resources, for purposes like billing +// or other management. Typically, the tag key represents a category, such as +// "environment", and the tag value represents a specific value within that +// category, such as "test," "development," or "production". Or you might set +// the tag key to "customer" and the value to the customer name or ID. You can +// specify one or more tags to add to each AWS resource, up to 50 tags for a +// resource. +// +// You can tag the AWS resources that you manage through AWS WAF: web ACLs, +// rule groups, IP sets, and regex pattern sets. You can't manage or view tags +// through the AWS WAF console. type Tag struct { _ struct{} `type:"structure"` @@ -11822,7 +12125,18 @@ func (s *Tag) SetValue(v string) *Tag { // 2019. For information, including how to migrate your AWS WAF resources from // the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). // -// The collection of tagging definitions for an AWS resource. +// The collection of tagging definitions for an AWS resource. Tags are key:value +// pairs that you can use to categorize and manage your resources, for purposes +// like billing or other management. Typically, the tag key represents a category, +// such as "environment", and the tag value represents a specific value within +// that category, such as "test," "development," or "production". Or you might +// set the tag key to "customer" and the value to the customer name or ID. You +// can specify one or more tags to add to each AWS resource, up to 50 tags for +// a resource. +// +// You can tag the AWS resources that you manage through AWS WAF: web ACLs, +// rule groups, IP sets, and regex pattern sets. You can't manage or view tags +// through the AWS WAF console. type TagInfoForResource struct { _ struct{} `type:"structure"` @@ -12073,6 +12387,10 @@ func (s *TextTransformation) SetType(v string) *TextTransformation { // In a GetSampledRequests request, the StartTime and EndTime objects specify // the time range for which you want AWS WAF to return a sample of web requests. // +// You must specify the times in Coordinated Universal Time (UTC) format. UTC +// format includes the special designator, Z. For example, "2016-09-27T14:50Z". +// You can specify any time range in the previous three hours. +// // In a GetSampledRequests response, the StartTime and EndTime objects specify // the time range for which AWS WAF actually returned a sample of web requests. // AWS WAF gets the specified number of requests from among the first 5,000 @@ -12084,17 +12402,19 @@ type TimeWindow struct { _ struct{} `type:"structure"` // The end of the time range from which you want GetSampledRequests to return - // a sample of the requests that your AWS resource received. Specify the date - // and time in the following format: "2016-09-27T14:50Z". You can specify any - // time range in the previous three hours. + // a sample of the requests that your AWS resource received. You must specify + // the times in Coordinated Universal Time (UTC) format. UTC format includes + // the special designator, Z. For example, "2016-09-27T14:50Z". You can specify + // any time range in the previous three hours. // // EndTime is a required field EndTime *time.Time `type:"timestamp" required:"true"` // The beginning of the time range from which you want GetSampledRequests to - // return a sample of the requests that your AWS resource received. Specify - // the date and time in the following format: "2016-09-27T14:50Z". You can specify - // any time range in the previous three hours. + // return a sample of the requests that your AWS resource received. You must + // specify the times in Coordinated Universal Time (UTC) format. UTC format + // includes the special designator, Z. For example, "2016-09-27T14:50Z". You + // can specify any time range in the previous three hours. // // StartTime is a required field StartTime *time.Time `type:"timestamp" required:"true"` @@ -12982,10 +13302,10 @@ type VisibilityConfig struct { // CloudWatchMetricsEnabled is a required field CloudWatchMetricsEnabled *bool `type:"boolean" required:"true"` - // A name of the CloudWatch metric. The name can contain only alphanumeric characters - // (A-Z, a-z, 0-9), with length from one to 128 characters. It can't contain - // whitespace or metric names reserved for AWS WAF, for example "All" and "Default_Action." - // You can't change a MetricName after you create a VisibilityConfig. + // A name of the CloudWatch metric. The name can contain only the characters: + // A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to + // 128 characters long. It can't contain whitespace or metric names reserved + // for AWS WAF, for example "All" and "Default_Action." // // MetricName is a required field MetricName *string `min:"1" type:"string" required:"true"` @@ -15044,6 +15364,25 @@ const ( CountryCodeZw = "ZW" ) +const ( + // FallbackBehaviorMatch is a FallbackBehavior enum value + FallbackBehaviorMatch = "MATCH" + + // FallbackBehaviorNoMatch is a FallbackBehavior enum value + FallbackBehaviorNoMatch = "NO_MATCH" +) + +const ( + // ForwardedIPPositionFirst is a ForwardedIPPosition enum value + ForwardedIPPositionFirst = "FIRST" + + // ForwardedIPPositionLast is a ForwardedIPPosition enum value + ForwardedIPPositionLast = "LAST" + + // ForwardedIPPositionAny is a ForwardedIPPosition enum value + ForwardedIPPositionAny = "ANY" +) + const ( // IPAddressVersionIpv4 is a IPAddressVersion enum value IPAddressVersionIpv4 = "IPV4" @@ -15166,6 +15505,21 @@ const ( // ParameterExceptionFieldFirewallManagerStatement is a ParameterExceptionField enum value ParameterExceptionFieldFirewallManagerStatement = "FIREWALL_MANAGER_STATEMENT" + + // ParameterExceptionFieldFallbackBehavior is a ParameterExceptionField enum value + ParameterExceptionFieldFallbackBehavior = "FALLBACK_BEHAVIOR" + + // ParameterExceptionFieldPosition is a ParameterExceptionField enum value + ParameterExceptionFieldPosition = "POSITION" + + // ParameterExceptionFieldForwardedIpConfig is a ParameterExceptionField enum value + ParameterExceptionFieldForwardedIpConfig = "FORWARDED_IP_CONFIG" + + // ParameterExceptionFieldIpSetForwardedIpConfig is a ParameterExceptionField enum value + ParameterExceptionFieldIpSetForwardedIpConfig = "IP_SET_FORWARDED_IP_CONFIG" + + // ParameterExceptionFieldHeaderName is a ParameterExceptionField enum value + ParameterExceptionFieldHeaderName = "HEADER_NAME" ) const ( @@ -15188,6 +15542,9 @@ const ( const ( // RateBasedStatementAggregateKeyTypeIp is a RateBasedStatementAggregateKeyType enum value RateBasedStatementAggregateKeyTypeIp = "IP" + + // RateBasedStatementAggregateKeyTypeForwardedIp is a RateBasedStatementAggregateKeyType enum value + RateBasedStatementAggregateKeyTypeForwardedIp = "FORWARDED_IP" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go b/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go index 16866ca6bec..fa50e91e039 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go @@ -793,8 +793,8 @@ func (c *WorkSpaces) DeleteWorkspaceImageRequest(input *DeleteWorkspaceImageInpu // DeleteWorkspaceImage API operation for Amazon WorkSpaces. // // Deletes the specified image from your account. To delete an image, you must -// first delete any bundles that are associated with the image and un-share -// the image if it is shared with other accounts. +// first delete any bundles that are associated with the image and unshare the +// image if it is shared with other accounts. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1611,6 +1611,92 @@ func (c *WorkSpaces) DescribeWorkspaceDirectoriesPagesWithContext(ctx aws.Contex return p.Err() } +const opDescribeWorkspaceImagePermissions = "DescribeWorkspaceImagePermissions" + +// DescribeWorkspaceImagePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeWorkspaceImagePermissions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeWorkspaceImagePermissions for more information on using the DescribeWorkspaceImagePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeWorkspaceImagePermissionsRequest method. +// req, resp := client.DescribeWorkspaceImagePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceImagePermissions +func (c *WorkSpaces) DescribeWorkspaceImagePermissionsRequest(input *DescribeWorkspaceImagePermissionsInput) (req *request.Request, output *DescribeWorkspaceImagePermissionsOutput) { + op := &request.Operation{ + Name: opDescribeWorkspaceImagePermissions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeWorkspaceImagePermissionsInput{} + } + + output = &DescribeWorkspaceImagePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeWorkspaceImagePermissions API operation for Amazon WorkSpaces. +// +// Describes the permissions that the owner of an image has granted to other +// AWS accounts for an image. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 WorkSpaces's +// API operation DescribeWorkspaceImagePermissions for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource could not be found. +// +// * AccessDeniedException +// The user is not authorized to access a resource. +// +// * InvalidParameterValuesException +// One or more parameter values are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceImagePermissions +func (c *WorkSpaces) DescribeWorkspaceImagePermissions(input *DescribeWorkspaceImagePermissionsInput) (*DescribeWorkspaceImagePermissionsOutput, error) { + req, out := c.DescribeWorkspaceImagePermissionsRequest(input) + return out, req.Send() +} + +// DescribeWorkspaceImagePermissionsWithContext is the same as DescribeWorkspaceImagePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeWorkspaceImagePermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkSpaces) DescribeWorkspaceImagePermissionsWithContext(ctx aws.Context, input *DescribeWorkspaceImagePermissionsInput, opts ...request.Option) (*DescribeWorkspaceImagePermissionsOutput, error) { + req, out := c.DescribeWorkspaceImagePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeWorkspaceImages = "DescribeWorkspaceImages" // DescribeWorkspaceImagesRequest generates a "aws/request.Request" representing the @@ -2860,7 +2946,9 @@ func (c *WorkSpaces) ModifyWorkspacePropertiesRequest(input *ModifyWorkspaceProp // ModifyWorkspaceProperties API operation for Amazon WorkSpaces. // -// Modifies the specified WorkSpace properties. +// Modifies the specified WorkSpace properties. For important information about +// how to modify the size of the root and user volumes, see Modify a WorkSpace +// (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.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 @@ -3133,7 +3221,7 @@ func (c *WorkSpaces) RebuildWorkspacesRequest(input *RebuildWorkspacesInput) (re // Rebuilds the specified WorkSpace. // // You cannot rebuild a WorkSpace unless its state is AVAILABLE, ERROR, UNHEALTHY, -// or STOPPED. +// STOPPED, or REBOOTING. // // Rebuilding a WorkSpace is a potentially destructive action that can result // in the loss of data. For more information, see Rebuild a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/reset-workspace.html). @@ -3794,6 +3882,109 @@ func (c *WorkSpaces) UpdateRulesOfIpGroupWithContext(ctx aws.Context, input *Upd return out, req.Send() } +const opUpdateWorkspaceImagePermission = "UpdateWorkspaceImagePermission" + +// UpdateWorkspaceImagePermissionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkspaceImagePermission operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateWorkspaceImagePermission for more information on using the UpdateWorkspaceImagePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateWorkspaceImagePermissionRequest method. +// req, resp := client.UpdateWorkspaceImagePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceImagePermission +func (c *WorkSpaces) UpdateWorkspaceImagePermissionRequest(input *UpdateWorkspaceImagePermissionInput) (req *request.Request, output *UpdateWorkspaceImagePermissionOutput) { + op := &request.Operation{ + Name: opUpdateWorkspaceImagePermission, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateWorkspaceImagePermissionInput{} + } + + output = &UpdateWorkspaceImagePermissionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateWorkspaceImagePermission API operation for Amazon WorkSpaces. +// +// Shares or unshares an image with one account by specifying whether that account +// has permission to copy the image. If the copy image permission is granted, +// the image is shared with that account. If the copy image permission is revoked, +// the image is unshared with the account. +// +// * To delete an image that has been shared, you must unshare the image +// before you delete it. +// +// * Sharing Bring Your Own License (BYOL) images across AWS accounts isn't +// supported at this time in the AWS GovCloud (US-West) Region. To share +// BYOL images across accounts in the AWS GovCloud (US-West) Region, contact +// AWS Support. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 WorkSpaces's +// API operation UpdateWorkspaceImagePermission for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource could not be found. +// +// * ResourceUnavailableException +// The specified resource is not available. +// +// * AccessDeniedException +// The user is not authorized to access a resource. +// +// * InvalidParameterValuesException +// One or more parameter values are not valid. +// +// * OperationNotSupportedException +// This operation is not supported. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceImagePermission +func (c *WorkSpaces) UpdateWorkspaceImagePermission(input *UpdateWorkspaceImagePermissionInput) (*UpdateWorkspaceImagePermissionOutput, error) { + req, out := c.UpdateWorkspaceImagePermissionRequest(input) + return out, req.Send() +} + +// UpdateWorkspaceImagePermissionWithContext is the same as UpdateWorkspaceImagePermission with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkspaceImagePermission for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkSpaces) UpdateWorkspaceImagePermissionWithContext(ctx aws.Context, input *UpdateWorkspaceImagePermissionInput, opts ...request.Option) (*UpdateWorkspaceImagePermissionOutput, error) { + req, out := c.UpdateWorkspaceImagePermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // The user is not authorized to access a resource. type AccessDeniedException struct { _ struct{} `type:"structure"` @@ -4539,8 +4730,9 @@ func (s *CreateWorkspacesOutput) SetPendingRequests(v []*Workspace) *CreateWorks type DefaultWorkspaceCreationProperties struct { _ struct{} `type:"structure"` - // The identifier of any security groups to apply to WorkSpaces when they are - // created. + // The identifier of the default security group to apply to WorkSpaces when + // they are created. For more information, see Security Groups for Your WorkSpaces + // (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-security-groups.html). CustomSecurityGroupId *string `min:"11" type:"string"` // The organizational unit (OU) in the directory for the WorkSpace machine accounts. @@ -5382,12 +5574,120 @@ func (s *DescribeWorkspaceDirectoriesOutput) SetNextToken(v string) *DescribeWor return s } +type DescribeWorkspaceImagePermissionsInput struct { + _ struct{} `type:"structure"` + + // The identifier of the image. + // + // ImageId is a required field + ImageId *string `type:"string" required:"true"` + + // The maximum number of items to return. + MaxResults *int64 `min:"1" type:"integer"` + + // If you received a NextToken from a previous call that was paginated, provide + // this token to receive the next set of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeWorkspaceImagePermissionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWorkspaceImagePermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeWorkspaceImagePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspaceImagePermissionsInput"} + if s.ImageId == nil { + invalidParams.Add(request.NewErrParamRequired("ImageId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImageId sets the ImageId field's value. +func (s *DescribeWorkspaceImagePermissionsInput) SetImageId(v string) *DescribeWorkspaceImagePermissionsInput { + s.ImageId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeWorkspaceImagePermissionsInput) SetMaxResults(v int64) *DescribeWorkspaceImagePermissionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeWorkspaceImagePermissionsInput) SetNextToken(v string) *DescribeWorkspaceImagePermissionsInput { + s.NextToken = &v + return s +} + +type DescribeWorkspaceImagePermissionsOutput struct { + _ struct{} `type:"structure"` + + // The identifier of the image. + ImageId *string `type:"string"` + + // The identifiers of the AWS accounts that the image has been shared with. + ImagePermissions []*ImagePermission `type:"list"` + + // The token to use to retrieve the next set of results, or null if no more + // results are available. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeWorkspaceImagePermissionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWorkspaceImagePermissionsOutput) GoString() string { + return s.String() +} + +// SetImageId sets the ImageId field's value. +func (s *DescribeWorkspaceImagePermissionsOutput) SetImageId(v string) *DescribeWorkspaceImagePermissionsOutput { + s.ImageId = &v + return s +} + +// SetImagePermissions sets the ImagePermissions field's value. +func (s *DescribeWorkspaceImagePermissionsOutput) SetImagePermissions(v []*ImagePermission) *DescribeWorkspaceImagePermissionsOutput { + s.ImagePermissions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeWorkspaceImagePermissionsOutput) SetNextToken(v string) *DescribeWorkspaceImagePermissionsOutput { + s.NextToken = &v + return s +} + type DescribeWorkspaceImagesInput struct { _ struct{} `type:"structure"` // The identifier of the image. ImageIds []*string `min:"1" type:"list"` + // The type (owned or shared) of the image. + ImageType *string `type:"string" enum:"ImageType"` + // The maximum number of items to return. MaxResults *int64 `min:"1" type:"integer"` @@ -5431,6 +5731,12 @@ func (s *DescribeWorkspaceImagesInput) SetImageIds(v []*string) *DescribeWorkspa return s } +// SetImageType sets the ImageType field's value. +func (s *DescribeWorkspaceImagesInput) SetImageType(v string) *DescribeWorkspaceImagesInput { + s.ImageType = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *DescribeWorkspaceImagesInput) SetMaxResults(v int64) *DescribeWorkspaceImagesInput { s.MaxResults = &v @@ -5925,6 +6231,31 @@ func (s *FailedWorkspaceChangeRequest) SetWorkspaceId(v string) *FailedWorkspace return s } +// Describes the AWS accounts that have been granted permission to use a shared +// image. +type ImagePermission struct { + _ struct{} `type:"structure"` + + // The identifier of the AWS account that an image has been shared with. + SharedAccountId *string `type:"string"` +} + +// String returns the string representation +func (s ImagePermission) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImagePermission) GoString() string { + return s.String() +} + +// SetSharedAccountId sets the SharedAccountId field's value. +func (s *ImagePermission) SetSharedAccountId(v string) *ImagePermission { + s.SharedAccountId = &v + return s +} + type ImportWorkspaceImageInput struct { _ struct{} `type:"structure"` @@ -8523,6 +8854,87 @@ func (s UpdateRulesOfIpGroupOutput) GoString() string { return s.String() } +type UpdateWorkspaceImagePermissionInput struct { + _ struct{} `type:"structure"` + + // The permission to copy the image. This permission can be revoked only after + // an image has been shared. + // + // AllowCopyImage is a required field + AllowCopyImage *bool `type:"boolean" required:"true"` + + // The identifier of the image. + // + // ImageId is a required field + ImageId *string `type:"string" required:"true"` + + // The identifier of the AWS account to share or unshare the image with. + // + // SharedAccountId is a required field + SharedAccountId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateWorkspaceImagePermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWorkspaceImagePermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWorkspaceImagePermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWorkspaceImagePermissionInput"} + if s.AllowCopyImage == nil { + invalidParams.Add(request.NewErrParamRequired("AllowCopyImage")) + } + if s.ImageId == nil { + invalidParams.Add(request.NewErrParamRequired("ImageId")) + } + if s.SharedAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("SharedAccountId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowCopyImage sets the AllowCopyImage field's value. +func (s *UpdateWorkspaceImagePermissionInput) SetAllowCopyImage(v bool) *UpdateWorkspaceImagePermissionInput { + s.AllowCopyImage = &v + return s +} + +// SetImageId sets the ImageId field's value. +func (s *UpdateWorkspaceImagePermissionInput) SetImageId(v string) *UpdateWorkspaceImagePermissionInput { + s.ImageId = &v + return s +} + +// SetSharedAccountId sets the SharedAccountId field's value. +func (s *UpdateWorkspaceImagePermissionInput) SetSharedAccountId(v string) *UpdateWorkspaceImagePermissionInput { + s.SharedAccountId = &v + return s +} + +type UpdateWorkspaceImagePermissionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateWorkspaceImagePermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWorkspaceImagePermissionOutput) GoString() string { + return s.String() +} + // Describes the user storage for a WorkSpace bundle. type UserStorage struct { _ struct{} `type:"structure"` @@ -9175,6 +9587,11 @@ func (s *WorkspaceDirectory) SetWorkspaceSecurityGroupId(v string) *WorkspaceDir type WorkspaceImage struct { _ struct{} `type:"structure"` + // The date when the image was created. If the image has been shared, the AWS + // account that the image has been shared with sees the original creation date + // of the image. + Created *time.Time `type:"timestamp"` + // The description of the image. Description *string `min:"1" type:"string"` @@ -9193,6 +9610,9 @@ type WorkspaceImage struct { // The operating system that the image is running. OperatingSystem *OperatingSystem `type:"structure"` + // The identifier of the AWS account that owns the image. + OwnerAccountId *string `type:"string"` + // Specifies whether the image is running on dedicated hardware. When Bring // Your Own License (BYOL) is enabled, this value is set to DEDICATED. For more // information, see Bring Your Own Windows Desktop Images (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html). @@ -9212,6 +9632,12 @@ func (s WorkspaceImage) GoString() string { return s.String() } +// SetCreated sets the Created field's value. +func (s *WorkspaceImage) SetCreated(v time.Time) *WorkspaceImage { + s.Created = &v + return s +} + // SetDescription sets the Description field's value. func (s *WorkspaceImage) SetDescription(v string) *WorkspaceImage { s.Description = &v @@ -9248,6 +9674,12 @@ func (s *WorkspaceImage) SetOperatingSystem(v *OperatingSystem) *WorkspaceImage return s } +// SetOwnerAccountId sets the OwnerAccountId field's value. +func (s *WorkspaceImage) SetOwnerAccountId(v string) *WorkspaceImage { + s.OwnerAccountId = &v + return s +} + // SetRequiredTenancy sets the RequiredTenancy field's value. func (s *WorkspaceImage) SetRequiredTenancy(v string) *WorkspaceImage { s.RequiredTenancy = &v @@ -9267,7 +9699,8 @@ type WorkspaceProperties struct { // The compute type. For more information, see Amazon WorkSpaces Bundles (http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles). ComputeTypeName *string `type:"string" enum:"Compute"` - // The size of the root volume. + // The size of the root volume. For important information about how to modify + // the size of the root and user volumes, see Modify a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html). RootVolumeSizeGib *int64 `type:"integer"` // The running mode. For more information, see Manage the WorkSpace Running @@ -9278,7 +9711,8 @@ type WorkspaceProperties struct { // Configured in 60-minute intervals. RunningModeAutoStopTimeoutInMinutes *int64 `type:"integer"` - // The size of the user storage. + // The size of the user storage. For important information about how to modify + // the size of the root and user volumes, see Modify a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html). UserVolumeSizeGib *int64 `type:"integer"` } @@ -9579,6 +10013,14 @@ const ( DedicatedTenancySupportResultEnumDisabled = "DISABLED" ) +const ( + // ImageTypeOwned is a ImageType enum value + ImageTypeOwned = "OWNED" + + // ImageTypeShared is a ImageType enum value + ImageTypeShared = "SHARED" +) + const ( // ModificationResourceEnumRootVolume is a ModificationResourceEnum enum value ModificationResourceEnumRootVolume = "ROOT_VOLUME" diff --git a/vendor/modules.txt b/vendor/modules.txt index fc391ce116c..26341d14b71 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -29,7 +29,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.32.12 +# github.com/aws/aws-sdk-go v1.33.19 ## explicit github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn